diff --git a/.vscode/launch.json b/.vscode/launch.json index bf3a209531db00..f41cbaa494405e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,6 +1,13 @@ { "version": "0.2.0", "configurations": [ + { + "type": "opendream", + "request": "launch", + "name": "OpenDream", + "preLaunchTask": "OpenDream: compile ${command:CurrentDME}", + "json_path": "${workspaceFolder}/${command:CurrentJson}" + }, { "type": "byond", "request": "launch", diff --git a/_maps/map_files/Blueshift/Blueshift.dmm b/_maps/map_files/Blueshift/Blueshift.dmm index bc56a399d98182..eb0da800f4afbf 100644 --- a/_maps/map_files/Blueshift/Blueshift.dmm +++ b/_maps/map_files/Blueshift/Blueshift.dmm @@ -8388,12 +8388,6 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/upper) -"bFJ" = ( -/obj/machinery/newscaster/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet/executive, -/area/station/command/heads_quarters/blueshield) "bFO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30515,30 +30509,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fRD" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/key/security, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory) "fRF" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -44263,6 +44233,12 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/cargo/storage) +"iBK" = ( +/obj/machinery/newscaster/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/executive, +/area/station/command/heads_quarters/blueshield) "iBL" = ( /obj/machinery/announcement_system, /turf/open/floor/iron/dark, @@ -94617,6 +94593,33 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/department/security/lesser) +"ssL" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/item/key/security, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory) "ssN" = ( /obj/structure/mirror/directional/west, /obj/effect/landmark/start/clown, @@ -159457,7 +159460,7 @@ xJn bqj pzw mrb -fRD +ssL uKW gkm bkG @@ -216025,7 +216028,7 @@ aXo qXv cFf sZp -bFJ +iBK sNk rZk sZp diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 1447f3f00ecd85..bd90ae4d51bcac 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -1,52 +1,40 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aav" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/machinery/light/small/directional/south, -/obj/machinery/ticket_machine/directional/south, -/obj/structure/table, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) -"aaA" = ( -/obj/effect/turf_decal/box/white, -/obj/effect/turf_decal/arrows/white{ - color = "#0000FF"; - pixel_y = 15 +"aaf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/broken_bottle, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"aan" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) -"aaB" = ( -/obj/machinery/light/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_5k, -/obj/machinery/modular_computer/preset/engineering, -/turf/open/floor/iron, -/area/station/engineering/main) -"aaN" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"aaX" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/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/machinery/duct, -/obj/machinery/door/airlock/medical{ - name = "Operating Room" +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"aaA" = ( +/obj/effect/turf_decal/box/white, +/obj/effect/turf_decal/arrows/white{ + color = "#0000FF"; + pixel_y = 15 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) +"abb" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "abc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -62,23 +50,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/station/science/genetics/cloning) -"abv" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"abC" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) "abS" = ( /obj/machinery/light/neon_lining{ dir = 8 @@ -93,49 +64,39 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"abT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/computer/records/security, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"acc" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 +"aci" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/north, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/closet/secure_closet/security/sec, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"acf" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) -"aco" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"acw" = ( -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"acx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/light/small/directional/east, +/obj/structure/sign/departments/restroom/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) +"acm" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/item/stack/cable_coil, +/turf/open/space, +/area/station/solars/port/fore) +"acu" = ( +/obj/structure/sign/warning/electric_shock/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/science/xenobiology) "acE" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/security/prison) +"acJ" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/wood, +/area/station/service/bar/backroom) "acL" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/end{ @@ -147,30 +108,36 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"acW" = ( -/obj/structure/chair/plastic, -/turf/open/floor/iron/dark, -/area/station/security/prison/visit) -"acX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) -"adc" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ - dir = 4 +"acQ" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/effect/turf_decal/trimline/dark_blue/warning{ - dir = 8 +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) +"acV" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/plating, +/area/station/engineering/main) +"acZ" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/camera/directional/south{ + c_tag = "Medical - Chemistry Factory, South"; + name = "medical camera"; + network = list("ss13","medbay") }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +/obj/machinery/chem_master, /turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/area/station/medical/chemistry) +"adc" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/station/service/library/lounge) "adk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/side{ @@ -196,39 +163,46 @@ /obj/structure/cable/layer1, /turf/open/floor/iron, /area/station/engineering/main) -"adB" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 +"adz" = ( +/obj/machinery/button/door/directional/south{ + id = "qm_office_shutters"; + name = "Privacy Shutters Control" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/closet/secure_closet/quartermaster, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) +"adA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"adC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/wood, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"adF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible{ + dir = 1 + }, /turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) +/area/station/science/ordnance) +"adJ" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) "adK" = ( /obj/structure/flora/bush/jungle, /obj/item/food/grown/banana, /turf/open/floor/grass, /area/station/hallway/primary/central) -"adO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 +"adM" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/turf/open/space, +/area/space/nearstation) "adP" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -247,21 +221,23 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) -"aed" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "dep_med_post"; - name = "Medical Post Shutters"; - dir = 1 - }, -/turf/open/floor/plating, -/area/station/medical/treatment_center) "aee" = ( /turf/open/floor/iron/dark/side{ dir = 8 }, /area/station/security/prison/workout) +"aek" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/loading_area/white{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "hop_queue"; + name = "HoP Queue Shutters" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "aen" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -273,47 +249,70 @@ /obj/structure/filingcabinet, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"aeJ" = ( -/obj/effect/turf_decal/trimline/purple/line, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 +"aer" = ( +/obj/machinery/light/directional/south, +/obj/structure/table/wood, +/obj/item/toy/figure/cmo{ + pixel_y = 12; + pixel_x = -8 }, -/obj/item/kirbyplants/random, +/obj/item/clothing/neck/stethoscope, +/obj/item/flashlight/pen, +/obj/item/clothing/glasses/hud/health, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/command/heads_quarters/cmo) +"aet" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/abandoned_gambling_den) "aeM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/shower) -"aeY" = ( +"aeN" = ( +/obj/machinery/door/airlock/maintenance, /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{ +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/mapping_helpers/mail_sorting/supply/qm_office, -/obj/machinery/duct, /turf/open/floor/plating, -/area/station/maintenance/port) -"afd" = ( -/obj/structure/cable, -/obj/structure/chair/office/light{ - dir = 4 +/area/station/maintenance/department/engine) +"aeU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/landmark/start/librarian, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"afh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/aft) +"afb" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"afg" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + 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, -/area/station/cargo/drone_bay) +/obj/machinery/door/airlock/security/glass{ + name = "Isolation Cell"; + id_tag = "iso_cell_hall_bolt" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "afl" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -322,6 +321,22 @@ /obj/item/storage/crayons, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"afn" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/storage) +"afq" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/genetics) "afv" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/light/directional/south, @@ -342,6 +357,21 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/storage) +"afy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) +"afH" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"afQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "afR" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -357,22 +387,21 @@ dir = 8 }, /area/station/commons/storage/primary) -"agf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/space_heater, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"agn" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8 +"afZ" = ( +/obj/machinery/plumbing/ooze_sucker{ + mapping_id = "1"; + dir = 1 }, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/turf/open/floor/engine, +/area/station/science/xenobiology) +"aga" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/obj/machinery/disposal/bin, -/turf/open/floor/wood, -/area/station/service/library) +/obj/effect/turf_decal/trimline/blue/line, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "agv" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table, @@ -382,14 +411,37 @@ /obj/item/radio, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"agL" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/structure/chair/sofa/bench/right{ +"agx" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) +"agA" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 }, -/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"agM" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/button/door/directional/north{ + id = "cargo_security_post"; + name = "Security Post Shutters Control"; + req_access = list("security") + }, +/obj/machinery/computer/security/mining{ + dir = 4 + }, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) +/area/station/security/checkpoint/supply) "ahd" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/flora/tree/jungle/small/style_random, @@ -408,6 +460,22 @@ /obj/structure/closet/secure_closet/research_director, /turf/open/floor/iron/showroomfloor, /area/station/command/heads_quarters/rd) +"ahl" = ( +/obj/machinery/light/directional/west, +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/stock_parts/cell/high{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) "ahn" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -420,24 +488,39 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/textured, /area/station/engineering/main) -"ahy" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/chair/wood, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"ahz" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "ahA" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/station/solars/port/fore) -"ahC" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 +"ahI" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/south, +/obj/machinery/computer/security{ + dir = 1 }, -/obj/structure/bed/dogbed/mcgriff, -/mob/living/basic/pet/dog/pug/mcgriff, /turf/open/floor/iron/dark, -/area/station/security/warden) +/area/station/security/office) +"ahQ" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/warning{ + 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/white, +/area/station/medical/medbay/aft) "ahW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -455,38 +538,32 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) -"aij" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +"aid" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) +"aif" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "aim" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/storage) -"aio" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"air" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/ballpit, -/area/station/security/bitden) "ait" = ( /turf/closed/wall, /area/station/security/medical) -"aiw" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) "aiy" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -496,56 +573,34 @@ /obj/structure/sign/departments/lawyer/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"aiG" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/airalarm/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 8 +"aiC" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/requests_console/directional/south{ + department = "Service Hall"; + name = "Service Hall Requests Console" }, -/obj/machinery/disposal/bin, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"aiR" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/computer/department_orders/service{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/layer1, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/engineering{ - name = "Power Transmission Laser" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/engine_smes) +/turf/open/floor/iron/dark/side, +/area/station/hallway/secondary/service) "aiS" = ( /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"aiX" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Command - Bridge, South"; - name = "command camera" - }, -/obj/machinery/button/door/directional/south{ - id = "teleporter_shutters"; - name = "Teleporter Room Shutters Control"; - req_access = list("teleporter") - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "ajn" = ( /turf/closed/wall, /area/station/security/prison/mess) -"ajt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +"ajo" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"ajA" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "ajG" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -554,40 +609,91 @@ /obj/structure/sign/departments/maint/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"ajR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"ajI" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/chair, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark/side{ + dir = 9 }, +/area/station/cargo/lobby) +"ajP" = ( +/obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port) "ajT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/tcommsat/computer) -"ajX" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"aks" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold/pink/hidden{ +"ajZ" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/status_display/ai/directional/west, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "RaD"; + name = "RaD Fax Machine"; + pixel_x = 1 + }, +/turf/open/floor/iron/white, +/area/station/science/lab) "aky" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 9 }, /turf/open/floor/engine, /area/station/science/xenobiology) +"akB" = ( +/obj/structure/sign/warning/radiation/directional/west, +/obj/structure/cable/layer1, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"akG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/table/reinforced/rglass, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/paper_bin{ + pixel_x = -7 + }, +/obj/item/clipboard{ + pixel_x = -7 + }, +/obj/item/folder/white{ + pixel_x = -7 + }, +/obj/item/pen{ + pixel_x = -7 + }, +/obj/item/book/manual/wiki/grenades{ + pixel_x = 7 + }, +/obj/item/book/manual/wiki/plumbing{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = 7; + pixel_y = 10 + }, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"akH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "akO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -603,15 +709,19 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"akY" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 +"akQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/obj/effect/turf_decal/stripes/line, /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, -/area/station/security/checkpoint/engineering) +/obj/machinery/duct, +/obj/machinery/door/airlock/grunge{ + name = "Gambling Den" + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) "ald" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plating/airless, @@ -636,14 +746,6 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"alh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "ali" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/window/reinforced/spawner/directional/east, @@ -670,10 +772,19 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"alB" = ( -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/surgery) +"aly" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"alG" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/sign/departments/maint/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) "alJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -686,51 +797,56 @@ /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) "alM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"alP" = ( -/obj/effect/spawner/random/structure/table, +/area/station/maintenance/port/aft) +"alW" = ( +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/obj/machinery/skill_station, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"ama" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/vending/tool, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/storage_shared) +"amg" = ( +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/service/janitor) +"amo" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/structure/table, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"aml" = ( -/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/structure/cable, -/obj/machinery/suit_storage_unit/security, -/turf/open/floor/iron/dark, -/area/station/security/warden) +/area/station/maintenance/starboard/aft) "ams" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"amB" = ( +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central) "amD" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/aft) -"amE" = ( -/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 = "Starboard Bow Solar Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/effect/landmark/navigate_destination/common/starboardbowsolar, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/solars/starboard/fore) -"amL" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) +"amS" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"amV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) "anh" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/effect/turf_decal/trimline/green/line{ @@ -738,6 +854,20 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"ano" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "engi_office_shutters"; + name = "Engineering Shutters"; + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/turf/open/floor/plating, +/area/station/engineering/break_room) "anp" = ( /obj/structure/closet/crate/medical, /obj/effect/spawner/random/maintenance, @@ -756,12 +886,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"anF" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "anM" = ( /obj/effect/spawner/random/structure/table, /obj/item/reagent_containers/condiment/saltshaker{ @@ -790,21 +914,38 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"anW" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"anV" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/newscaster/directional/south, /obj/structure/cable, -/obj/machinery/duct, -/obj/structure/closet/toolcloset, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/turf/open/floor/iron/large, +/area/station/engineering/gravity_generator) "aoc" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Mix to Port Mix" }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"aod" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/item/assembly/flash/handheld{ + pixel_y = 12; + pixel_x = -9 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 12 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 12; + pixel_x = 9 + }, +/obj/item/wirecutters, +/obj/item/screwdriver, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "aof" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -820,80 +961,61 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"aoo" = ( -/turf/closed/wall/r_wall, -/area/station/medical/virology) -"aor" = ( +"aoi" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/structure/table, -/obj/item/radio/off{ - pixel_y = 6 + dir = 4 }, -/obj/item/radio/off{ - pixel_x = -6; - pixel_y = 4 +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 }, -/obj/item/radio/off{ - pixel_x = 6; - pixel_y = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/obj/item/radio/off, +/obj/structure/sign/departments/maint/directional/east, /turf/open/floor/iron/dark/side{ - dir = 9 + dir = 4 }, -/area/station/engineering/storage_shared) -"aoB" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"aoX" = ( -/turf/open/floor/wood, -/area/station/smithing) -"aoZ" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central) +/area/station/hallway/primary/aft) +"aoP" = ( +/obj/effect/turf_decal/vg_decals/atmos/air, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) +"apa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) "apg" = ( /obj/machinery/netpod, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/bitden) -"api" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"apm" = ( +"apu" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 9 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"apr" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library) -"apt" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ +/turf/open/floor/iron/checker{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"apw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) +/area/station/command/heads_quarters/cmo) +"apE" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) +"apF" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + 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/white, +/area/station/medical/exam_room) "apJ" = ( /obj/structure/cable, /obj/machinery/camera/emp_proof/directional/north{ @@ -902,6 +1024,16 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"apO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "apT" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/directional/north, @@ -928,6 +1060,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/security/brig) +"aqg" = ( +/obj/effect/turf_decal/box, +/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, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) "aqh" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -947,12 +1089,16 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/aisat/foyer) -"aqj" = ( -/obj/machinery/light/directional/west, -/obj/structure/chair/comfy/brown, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) +"aqi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"aqp" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "aqA" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -972,25 +1118,18 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"aqI" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/modular_computer/preset/engineering{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"aqP" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/airlock/atmos/glass{ - name = "Turbine Access" +"aqL" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Service - Chapel Office"; + name = "service camera" }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ +/obj/item/radio/intercom/directional/west, +/obj/structure/chair/comfy/brown{ dir = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos) +/obj/effect/landmark/start/chaplain, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "aqQ" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 6 @@ -1003,39 +1142,89 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"aqW" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) "ara" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/sign/warning/radiation/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"arj" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"ars" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/button/door/directional/east{ + id = "dep_med_post"; + name = "Medical Post Shutters Control"; + req_access = list("medical") }, -/obj/machinery/door/airlock/maintenance{ - name = "Garden Maintenance" +/obj/structure/sink/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"art" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/door/window/left/directional/south{ + name = "First-Aid Supplies"; + req_access = list("medical") }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/medkit/brute{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/medkit/brute, +/obj/item/storage/medkit/brute{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"aru" = ( +/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, +/area/station/engineering/break_room) +"arv" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/duct, /turf/open/floor/plating, -/area/station/service/hydroponics/garden) +/area/station/maintenance/department/science/xenobiology) +"ary" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/table/reinforced/rglass, +/obj/item/crowbar/red, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/dropper, +/obj/item/flashlight/pen, +/obj/item/radio/headset/headset_medsci, +/obj/item/infuser_book, +/obj/item/toy/figure/geneticist{ + pixel_y = 11; + pixel_x = -11 + }, +/turf/open/floor/iron/white, +/area/station/science/genetics) +"arF" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/purple/line, +/obj/machinery/station_map/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "arJ" = ( /obj/machinery/duct, /turf/open/floor/carpet/neon/simple/pink, @@ -1064,41 +1253,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"arQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "heads_meeting"; - dir = 1 - }, -/turf/open/floor/plating, -/area/station/command/meeting_room) -"arR" = ( +"asb" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/machinery/light/directional/north, -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/engineering/main) -"arU" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"asi" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/hallway/primary/aft) +/area/station/engineering/break_room) "ast" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -1120,6 +1283,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"asy" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals - Escape Pod Bay 1"; + name = "arrivals camera" + }, +/obj/structure/chair, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) +"asz" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "asC" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -1133,21 +1309,6 @@ /obj/machinery/computer/records/security, /turf/open/floor/wood, /area/station/security/detectives_office) -"asT" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/camera/directional/east{ - c_tag = "Cargo - Delivery Office, East"; - name = "cargo camera" - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/cargo/sorting) "ats" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Escape Pod Bay 3"; @@ -1158,78 +1319,17 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/department/security) -"att" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/chair, -/turf/open/floor/iron/white, -/area/station/science/research) "atv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /turf/open/floor/iron/dark, /area/station/maintenance/port/fore) -"atM" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) "atN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{ dir = 8 }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"atO" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "O2 Outlet Pump" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"atS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/defibrillator_mount/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"atW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/station_map/directional/south, -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_x = -5 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/item/clothing/head/soft/grey{ - pixel_x = 6; - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/station/commons/locker) "aub" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -1249,6 +1349,14 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"aue" = ( +/obj/structure/table/wood/fancy/black, +/obj/item/storage/fancy/candle_box{ + pixel_y = 5 + }, +/obj/item/storage/crayons, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "auf" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1265,22 +1373,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lab) -"auk" = ( -/obj/machinery/vending/sustenance, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) -"aul" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/cup/glass/coffee/no_lid{ - pixel_x = 7; - pixel_y = 9 - }, -/obj/item/reagent_containers/cup/glass/coffee/no_lid{ - pixel_x = -7; - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "auu" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -1290,11 +1382,10 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"auF" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +"auH" = ( +/obj/structure/closet/firecloset/full, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) "auK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1309,6 +1400,35 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"avg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"avh" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"avk" = ( +/obj/effect/turf_decal/tile/neutral/half, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/command/nuke_storage) +"avl" = ( +/obj/machinery/shower/directional/south, +/obj/structure/drain, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/exam_room) "avz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/cable, @@ -1321,27 +1441,26 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) -"avD" = ( -/obj/structure/chair/sofa/right/maroon{ +"avE" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) -"avI" = ( -/obj/machinery/light/directional/north, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/tcommsat/computer) -"avL" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/structure/table, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/pestspray{ + pixel_x = 3; + pixel_y = 4 }, -/turf/open/floor/iron/white, -/area/station/science/research) +/obj/item/reagent_containers/cup/bottle/nutrient/ez, +/obj/item/reagent_containers/cup/bottle/nutrient/rh{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/service/hydroponics/garden) "avR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1354,14 +1473,17 @@ }, /turf/open/floor/iron/white, /area/station/science/explab) -"awn" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"awl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) +/obj/machinery/door/window/left/directional/east, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) "aww" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 9 @@ -1369,32 +1491,37 @@ /obj/structure/closet/l3closet/scientist, /turf/open/floor/iron/white, /area/station/science/research) -"awE" = ( -/obj/effect/turf_decal/bot_white, -/obj/structure/cargo_shelf, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"awG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "awI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"awX" = ( -/obj/structure/chair/plastic{ +"awJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "qm_office_shutters"; + name = "QM's Office Shutters" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) +"awP" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/chair/office/light{ dir = 8 }, +/obj/effect/landmark/start/depsec/supply, /turf/open/floor/iron/dark, -/area/station/security/prison) +/area/station/security/checkpoint/supply) +"axa" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "axc" = ( /obj/structure/sign/poster/contraband/grey_tide/directional/south, /obj/machinery/status_display/ai/directional/east, @@ -1406,32 +1533,11 @@ /obj/effect/spawner/random/food_or_drink/refreshing_beverage, /turf/open/floor/wood, /area/station/commons/locker) -"axo" = ( -/obj/structure/flora/bush/jungle/c/style_random, -/obj/item/food/grown/banana, -/turf/open/floor/grass, -/area/station/medical/virology) -"axF" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "axG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/science) -"axH" = ( -/obj/effect/turf_decal/bot_white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) "axN" = ( /obj/docking_port/stationary{ dir = 4; @@ -1458,71 +1564,28 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"ayh" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/customs/auxiliary) -"ayi" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"ayn" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/security/prison) -"ayq" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 1 - }, +"ayk" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/firealarm/directional/east, /obj/structure/chair{ dir = 8 }, -/obj/effect/landmark/start/security_assistant, -/obj/machinery/firealarm/directional/south, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/security/brig) -"ayr" = ( +/area/station/hallway/primary/starboard) +"ayT" = ( /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"ayu" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/space_heater, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"azm" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - West, Eastern End"; - name = "hallway camera" - }, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/aiupload/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/engineering/storage) +"azg" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "azn" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -1532,74 +1595,57 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"azt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/item/radio/intercom/directional/south, -/obj/machinery/computer/operating{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"azx" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 4 - }, -/obj/machinery/shower/directional/east, -/obj/structure/drain, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/storage) -"azD" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) +"azv" = ( +/obj/structure/cable, +/obj/structure/window/spawner/directional/south, +/obj/structure/filingcabinet/security, +/turf/open/floor/iron, +/area/station/engineering/break_room) "azE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"azP" = ( -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/hallway/secondary/service) -"azW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/table, -/obj/item/clothing/suit/hazardvest{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/suit/hazardvest{ - pixel_x = 3 - }, -/obj/item/clothing/mask/gas{ - pixel_y = -3; - pixel_x = -6 +"azG" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/south{ + name = "Security Checkpoint Desk"; + req_access = list("security") }, -/obj/item/clothing/mask/gas{ - pixel_y = 3; - pixel_x = -6 +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/north{ + name = "Security Checkpoint Desk" }, -/obj/item/tank/internals/oxygen/yellow{ - pixel_x = -6; - pixel_y = 6 +/obj/structure/desk_bell{ + pixel_x = 7; + pixel_y = 7 }, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_y = 3 +/obj/machinery/door/poddoor/shutters{ + id = "arrivals_security_checkpoint"; + name = "Security Checkpoint Shutters"; + dir = 1 }, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 3 +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) +"azP" = ( +/turf/open/floor/iron/dark/side{ + dir = 10 }, +/area/station/hallway/secondary/service) +"azV" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/directional/west, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"azY" = ( +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark/side{ dir = 8 }, -/area/station/engineering/storage_shared) +/area/station/hallway/secondary/service) "aAl" = ( /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) @@ -1613,6 +1659,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"aAw" = ( +/obj/structure/table, +/obj/item/camera_film, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"aAx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) "aAJ" = ( /obj/effect/turf_decal/tile/neutral/anticorner{ dir = 4 @@ -1644,15 +1701,11 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"aAY" = ( +"aAV" = ( /obj/effect/turf_decal/box, -/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/machinery/duct, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/storage) +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "aBj" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -1670,6 +1723,11 @@ /obj/machinery/duct, /turf/open/floor/iron/white/textured, /area/station/science/genetics) +"aBo" = ( +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/service/janitor) "aBx" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -1705,11 +1763,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/grass, /area/station/service/hydroponics) -"aBV" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/break_room) "aBX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -1720,25 +1773,20 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"aCx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"aCb" = ( /obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) "aCA" = ( /obj/structure/chair/sofa/bench/left, /turf/open/floor/plating, /area/station/maintenance/department/cargo) "aCF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/cable_coil/cut, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/engineering/storage_shared) "aCG" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -1747,10 +1795,64 @@ dir = 4 }, /area/station/cargo/storage) -"aDR" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/wood, -/area/station/maintenance/port/fore) +"aCT" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/item/radio/intercom/directional/west, +/obj/structure/filingcabinet/chestdrawer, +/obj/item/storage/secure/briefcase, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"aDh" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/dark_red/corner{ + dir = 8 + }, +/obj/machinery/camera/motion/directional/east{ + c_tag = "AI - Upload, East"; + network = list("aiupload"); + name = "ai camera" + }, +/obj/item/radio/intercom/directional/east{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "AI Private Channel" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) +"aDj" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/reagent_dispensers/plumbed, +/turf/open/floor/plating, +/area/station/maintenance/port) +"aDo" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate, +/obj/item/stack/ore/glass/basalt, +/obj/item/stack/ore/glass/basalt, +/obj/item/stack/ore/glass/basalt, +/obj/item/stack/ore/glass/basalt, +/obj/item/stack/ore/glass/basalt, +/turf/open/floor/plating, +/area/station/maintenance/port) +"aDw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/security/prison) +"aDQ" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "aEc" = ( /obj/structure/cable, /obj/structure/chair{ @@ -1759,14 +1861,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"aEg" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/plating/reinforced, -/area/station/science/xenobiology/hallway) "aEh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1779,20 +1873,38 @@ dir = 1 }, /area/station/hallway/secondary/service) -"aEs" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 +"aEo" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/rack, +/obj/item/storage/briefcase{ + pixel_x = -3; + pixel_y = 3 }, -/obj/effect/turf_decal/trimline/yellow/line{ +/obj/item/storage/secure/briefcase, +/turf/open/floor/iron/dark, +/area/station/security/detectives_office) +"aEy" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden{ - dir = 6 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) +"aFb" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/item/stack/sheet/iron/ten, +/obj/item/stack/cable_coil, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"aFd" = ( +/obj/structure/chair/wood{ + dir = 8 }, -/area/station/hallway/primary/aft) +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "aFe" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1825,12 +1937,6 @@ /obj/structure/cable/layer1, /turf/open/floor/iron, /area/station/engineering/storage) -"aFJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "aFL" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -1838,52 +1944,32 @@ /obj/item/stack/cable_coil, /turf/open/floor/plating/airless, /area/space/nearstation) -"aFN" = ( -/obj/structure/disposalpipe/sorting/mail/flip, +"aFM" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/modular_computer/preset/civilian, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/engineering/atmos/office) +"aGm" = ( /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/mail_sorting/engineering/atmospherics, -/obj/structure/chair/comfy/black{ +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/miningoffice) +"aGs" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"aFZ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Shared Storage" +/obj/item/radio/intercom{ + dir = 8; + pixel_x = -28 }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engi-shared-storage" - }, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/storage_shared) -"aGa" = ( -/obj/structure/closet/crate, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/security/prison/safe) -"aGd" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light_switch/directional/south{ - pixel_x = -8 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) +/obj/structure/closet/secure_closet/hop, +/obj/item/storage/box/ids, +/obj/item/storage/box/silver_ids, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "aGv" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -1897,14 +1983,10 @@ dir = 8 }, /area/station/cargo/storage) -"aGG" = ( -/turf/open/floor/iron/white/smooth_large, -/area/station/science/auxlab) -"aGU" = ( -/obj/item/radio/intercom/prison/directional/south, -/obj/structure/punching_bag, -/turf/open/floor/iron/dark, -/area/station/security/prison/workout) +"aHk" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/command/bridge) "aHm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1915,13 +1997,39 @@ }, /turf/open/floor/iron/textured, /area/station/security/interrogation) +"aHy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "aHD" = ( /turf/closed/wall, /area/station/medical/medbay/lobby) -"aHS" = ( -/obj/effect/spawner/xmastree, -/turf/open/floor/carpet, -/area/station/service/chapel) +"aHF" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white, +/area/station/science/research) +"aHL" = ( +/obj/machinery/light/directional/west, +/obj/structure/table/reinforced/rglass, +/obj/item/wrench/medical, +/obj/item/storage/pill_bottle/epinephrine{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_y = 12 + }, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_y = 6 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "aHT" = ( /obj/structure/cable, /obj/structure/cable/layer1, @@ -1940,43 +2048,9 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"aIe" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"aIi" = ( -/obj/effect/turf_decal/box, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/engineering/main) -"aIk" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"aIn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "aIp" = ( /turf/open/floor/iron/dark/side, /area/station/commons/fitness) -"aIr" = ( -/obj/machinery/status_display/evac/directional/east, -/obj/structure/sign/warning/biohazard/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "aIy" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -1986,11 +2060,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"aIA" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/engineering/storage_shared) +"aIB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/red, +/area/station/security/courtroom) "aIF" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/canister/nitrogen, @@ -2007,45 +2080,90 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/execution) -"aIN" = ( -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"aIW" = ( +"aIR" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/east, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/cargo/storage) +"aIS" = ( +/turf/closed/wall, +/area/station/commons/dorms/room2) +"aIT" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/captain, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/captain/private) +"aJa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"aIZ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 5 +/turf/open/floor/carpet/blue, +/area/station/command/heads_quarters/cmo) +"aJd" = ( +/obj/structure/window/spawner/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"aJe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/station_map/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"aJi" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"aJn" = ( +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "aJq" = ( /turf/open/floor/iron/dark/side{ dir = 10 }, /area/station/commons/fitness) -"aJB" = ( -/obj/effect/turf_decal/stripes/line{ +"aJu" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "aJH" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -2055,46 +2173,18 @@ /obj/machinery/space_heater, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"aJJ" = ( -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "aJU" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, /turf/open/floor/plating/airless, /area/space/nearstation) -"aJV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/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/machinery/door/airlock/maintenance{ - name = "Theater Backstage Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/plating, -/area/station/service/theater) -"aJZ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"aKd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/item/radio/intercom/directional/west, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/computer/records/security{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/processing) +/turf/open/floor/wood, +/area/station/service/library/lounge) "aKf" = ( /obj/structure/foamedmetal, /turf/open/floor/plating, @@ -2122,16 +2212,21 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"aKM" = ( -/obj/machinery/button/door/directional/south{ - id = "qm_office_shutters"; - name = "Privacy Shutters Control" +"aKL" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 }, -/obj/machinery/light/small/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/closet/secure_closet/quartermaster, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"aKP" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/power/port_gen/pacman/super, +/turf/open/floor/plating, +/area/station/engineering/main) "aKS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -2139,22 +2234,47 @@ "aKU" = ( /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"aKW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "aKY" = ( /obj/structure/bed/pod, /obj/item/bedsheet/clown, /obj/effect/landmark/start/clown, /turf/open/floor/eighties/red, /area/station/service/theater) +"aLg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) +"aLh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "aLo" = ( /turf/open/floor/iron/white, /area/station/science/circuits) -"aLp" = ( -/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, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) +"aLq" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "aLr" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -2166,6 +2286,11 @@ dir = 1 }, /area/station/cargo/miningoffice) +"aLS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "aLZ" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/structure/closet/wardrobe/mixed, @@ -2173,89 +2298,112 @@ dir = 1 }, /area/station/commons/locker) +"aMe" = ( +/obj/structure/table/wood, +/obj/item/phone{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/machinery/recharger{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = 9 + }, +/obj/item/stamp/head/hos{ + pixel_x = 10; + pixel_y = 6 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) "aMh" = ( /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"aMo" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"aMw" = ( +"aMk" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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, -/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Break Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/break_room) +"aMt" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, /turf/open/floor/iron/dark/side, -/area/station/service/janitor) -"aMD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/wood, -/area/station/service/bar/backroom) -"aMI" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "robotics_sci_shutters"; - name = "Robotics Shutters"; - dir = 1 +/area/station/security/prison/work) +"aMz" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/item/analyzer, +/obj/item/assembly/signaler{ + pixel_y = 11; + pixel_x = -6 }, -/turf/open/floor/plating, -/area/station/science/robotics/lab) +/obj/item/assembly/signaler{ + pixel_y = 11; + pixel_x = 6 + }, +/obj/item/healthanalyzer, +/obj/item/plant_analyzer{ + pixel_y = 3; + pixel_x = 3 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "aMJ" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate/coffin, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) -"aMX" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/duct, -/turf/open/floor/carpet/red, -/area/station/security/prison/safe) -"aNk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"aNb" = ( +/obj/machinery/plumbing/ooze_sucker{ + mapping_id = "2"; dir = 1 }, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) -"aNs" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 +/turf/open/floor/engine, +/area/station/science/xenobiology) +"aNu" = ( +/turf/closed/wall/r_wall, +/area/station/security/prison/shower) +"aNv" = ( +/obj/effect/turf_decal/vg_decals/atmos/nitrogen, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) +"aNC" = ( +/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 = 10 }, -/obj/structure/rack, -/obj/item/storage/briefcase, +/obj/machinery/duct, /turf/open/floor/wood, -/area/station/security/detectives_office) -"aNz" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/power/rad_collector, -/turf/open/floor/plating, -/area/station/engineering/main) +/area/station/service/bar) "aNK" = ( /obj/structure/closet/firecloset/full, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"aNT" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Hallway - Central, Park, West"; - name = "hallway camera" - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/grass, -/area/station/hallway/primary/central) -"aNX" = ( -/obj/effect/turf_decal/vg_decals/atmos/mix, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) +"aNP" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "aOj" = ( /obj/effect/turf_decal/trimline/green/line{ dir = 4 @@ -2265,6 +2413,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"aOp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "aOv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2280,6 +2434,27 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"aOE" = ( +/obj/structure/closet/toolcloset, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"aOF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Crematorium Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/crematorium, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/chapel/office) +"aOK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal/incinerator) "aON" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -2290,20 +2465,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/security/holding_cell) -"aOO" = ( -/obj/structure/table/wood, -/obj/item/stack/package_wrap, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"aOQ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"aOU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "aOY" = ( /obj/structure/frame/computer{ dir = 4 @@ -2346,18 +2507,56 @@ /obj/effect/landmark/navigate_destination/dockaux, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"aPy" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, +"aPG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/door/airlock/atmos{ + name = "Pathology Atmospherics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"aPI" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, +/obj/structure/sign/directions/medical/directional/east{ + pixel_y = -9 + }, +/obj/structure/sign/directions/engineering/directional/east{ + dir = 2 + }, +/obj/structure/sign/directions/supply/directional/east{ + pixel_y = 9; + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"aPK" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"aPT" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/line, +/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/white/smooth_large, -/area/station/medical/office) -"aQh" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "aQt" = ( /obj/structure/cable, /obj/machinery/power/smes, @@ -2370,39 +2569,37 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) -"aQy" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"aQx" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/bot_white{ - color = "#1d5cdf" - }, -/obj/structure/closet/crate/secure/gear/blueshirt, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"aQG" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + id_tag = "dorm_3"; + name = "Dorm 3" }, -/obj/effect/turf_decal/trimline/red/line{ +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms/room3) +"aQV" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/turf/open/floor/wood, +/area/station/commons/locker) +"aRj" = ( +/obj/effect/turf_decal/trimline/red/warning{ + dir = 8 }, +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"aRd" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/rd) -"aRv" = ( -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "aRy" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2418,41 +2615,10 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) -"aRz" = ( -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) -"aRB" = ( -/obj/effect/turf_decal/bot_red, -/obj/structure/cable, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/command/storage/eva) -"aRJ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/button/door/directional/south{ - id = "robotics_pub_shutters"; - name = "Robotics Shutters Control"; - pixel_x = 6; - req_access = list("robotics") - }, -/turf/open/floor/iron, -/area/station/science/robotics/lab) -"aRM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/commons/fitness) +"aRH" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) "aSa" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/tile/neutral/half{ @@ -2463,6 +2629,15 @@ dir = 1 }, /area/station/command/gateway) +"aSd" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/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/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) "aSe" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/trimline/dark_blue/warning{ @@ -2470,13 +2645,23 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"aSj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +"aSg" = ( +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"aSi" = ( +/obj/item/stack/sheet/cardboard{ + amount = 14 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/item/stack/package_wrap, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/security/prison/work) +"aSo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/tcommsat/computer) "aSr" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 @@ -2484,11 +2669,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/white, /area/station/science/research) -"aSs" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) "aSt" = ( /obj/docking_port/stationary{ dir = 8; @@ -2500,19 +2680,6 @@ }, /turf/open/space/basic, /area/space) -"aSx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"aSC" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"aSD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) "aSF" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2530,33 +2697,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/robotics, /turf/open/floor/iron/textured, /area/station/science/robotics/mechbay) -"aSJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/cardboard, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"aSO" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/maintenance{ - name = "Service Hall Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) -"aSP" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/duct, -/turf/open/floor/carpet/blue, -/area/station/security/prison/safe) "aSR" = ( /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -2565,15 +2705,6 @@ /obj/structure/nestbox, /turf/open/floor/grass, /area/station/service/hydroponics) -"aSW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "departures_security_checkpoint"; - name = "Security Checkpoint Shutters" - }, -/turf/open/floor/plating, -/area/station/security/checkpoint/escape) "aTl" = ( /obj/structure/cable, /obj/machinery/light/directional/north, @@ -2581,39 +2712,22 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) -"aTv" = ( -/obj/structure/chair/plastic, -/obj/machinery/flasher/directional/west{ - id = "visitation_prisoner_flash" +"aTA" = ( +/obj/machinery/light/directional/north, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/virology) +"aTJ" = ( +/obj/structure/table, +/turf/open/floor/wood, +/area/station/smithing) +"aTQ" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ + dir = 1 }, +/obj/effect/turf_decal/trimline/dark_blue/warning, /turf/open/floor/iron/dark, -/area/station/security/prison/visit) -"aTB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"aTC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 4 - }, -/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/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) +/area/station/hallway/primary/central) "aTS" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, @@ -2642,31 +2756,6 @@ /obj/item/toy/plush/pkplush, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"aUn" = ( -/obj/machinery/computer/security{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/prison/visit) -"aUr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "MiniSat Pod Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/minisat, -/obj/effect/landmark/navigate_destination/minisat_access_ai, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/transit_tube) "aUs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2677,6 +2766,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"aUv" = ( +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) "aUL" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance, @@ -2689,12 +2782,48 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"aUU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/library) +"aUZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary/uncommon, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"aVg" = ( +/turf/closed/wall, +/area/station/service/abandoned_gambling_den) +"aVk" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "aVt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/warehouse) +"aVv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) "aVA" = ( /obj/machinery/light/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ @@ -2722,11 +2851,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"aVI" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/iron, -/area/station/engineering/main) "aVO" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -2745,6 +2869,22 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/science/ordnance) +"aVZ" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/library/lounge) +"aWl" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "aWm" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -2781,23 +2921,11 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"aWN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/corporate{ - name = "Blueshield's Quarters" - }, -/obj/effect/mapping_helpers/airlock/access/all/admin/general, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/blueshield) +"aWP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "aXb" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -2816,103 +2944,53 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/department/science) -"aXg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, +"aXd" = ( +/obj/machinery/atmospherics/components/binary/volume_pump/on{ + name = "Waste Release" + }, +/turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"aXm" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) "aXn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"aXq" = ( -/obj/structure/table, -/obj/item/stack/cable_coil/five, -/obj/item/wallframe/camera, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "aXB" = ( /obj/effect/spawner/random/trash/box, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"aXE" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/secure_area/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/photosynthetic, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) "aXI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) -"aXJ" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/newscaster/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/dark/side, -/area/station/cargo/sorting) -"aYa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "apothecary_sec_desk_shutters"; - name = "Apothecary Secodary Desk Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) +"aXV" = ( +/obj/structure/cable, +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "aYn" = ( /obj/effect/spawner/random/structure/table, /obj/item/poster/random_official, /obj/effect/spawner/random/bureaucracy/stamp, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"aYt" = ( +"aZd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/components/binary/pump, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"aYu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/smithing) -"aYE" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/closet/secure_closet/security/sec, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"aZc" = ( -/obj/structure/chair/office{ - dir = 4 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Medbay" }, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) -"aZe" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/closet, -/obj/item/airlock_painter, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured, +/area/station/security/checkpoint/medical) "aZn" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -2923,14 +3001,27 @@ }, /turf/open/floor/engine, /area/station/security/execution) -"aZW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"aZq" = ( +/turf/closed/wall, +/area/station/command/heads_quarters/cmo) +"aZu" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/obj/machinery/light/directional/south, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/obj/machinery/computer/station_alert, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/engineering/break_room) +"aZv" = ( +/obj/structure/table, +/obj/item/lightreplacer, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"bao" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/sepia, +/area/station/service/library/artgallery) "baq" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/leafy, @@ -2949,11 +3040,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"bay" = ( -/obj/machinery/light/directional/north, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/virology) "baD" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2978,30 +3064,49 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"baM" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "baO" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/exit/departure_lounge) -"baP" = ( -/obj/machinery/light/built/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"bbc" = ( -/obj/effect/mapping_helpers/ianbirthday, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) +"baT" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/command/heads_quarters/ce) +"bbd" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_y = 9 + }, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "bbe" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ dir = 8 }, /turf/open/floor/engine/o2, /area/station/engineering/atmos) -"bbj" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/wood, -/area/station/service/library/lounge) "bbl" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -3011,25 +3116,44 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/mechbay) -"bbw" = ( -/obj/structure/chair/comfy/brown{ +"bbx" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) -"bbG" = ( -/obj/machinery/light/small/broken/directional/south, -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/landmark/start/gary, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/camera/directional/north{ + c_tag = "Medical - Pathology, Lab, Secondary"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/structure/sink/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"bbB" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/commons/fitness/recreation) "bbI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) +"bbK" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/brigdoor/right/directional/west{ + name = "Tertiary AI Core"; + req_access = list("ai_upload") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "secondary_ai_core_shutters"; + name = "Secondary AI Core Shutters" + }, +/turf/open/floor/engine, +/area/station/ai_monitored/turret_protected/ai) "bbO" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -3044,6 +3168,41 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"bbU" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/structure/table/reinforced/rglass, +/obj/item/paper_bin{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/folder/white{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/pen/red{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/medicine{ + pixel_x = 7 + }, +/obj/item/book/manual/wiki/infections{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/hand_labeler, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/radio/headset/headset_med, +/obj/item/clothing/glasses/science, +/obj/item/extrapolator, +/obj/item/device/antibody_scanner, +/obj/item/device/antibody_scanner, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/turf/open/floor/iron/white, +/area/station/medical/virology) "bbV" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -3060,29 +3219,6 @@ /obj/effect/landmark/navigate_destination/dockescpod2, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"bck" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/poddoor/preopen{ - id = "execution_fireblast" - }, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/airlock/security/glass{ - name = "Justice Chamber Exterior" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/security/execution) "bcp" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -3095,53 +3231,45 @@ dir = 9 }, /area/station/hallway/secondary/service) -"bcw" = ( -/obj/item/radio/intercom/directional/west, -/obj/structure/rack, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"bcz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +"bcB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 }, -/obj/machinery/camera/directional/west{ - c_tag = "Medical - Operating Room"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/structure/table/reinforced/rglass, -/obj/item/clothing/gloves/latex, -/obj/item/storage/box/gloves, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"bcF" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) +"bcL" = ( +/turf/closed/wall/r_wall, +/area/station/medical/treatment_center) "bcQ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, /turf/open/space, /area/station/solars/starboard/fore) -"bdb" = ( -/obj/machinery/oven/range, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"bdf" = ( -/obj/machinery/light/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/prison/workout) -"bdg" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/directional{ - dir = 9 +"bcT" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 }, -/obj/structure/cable, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) +"bcV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/area/station/maintenance/department/engine) +"bdi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/cryo) "bdl" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -3150,6 +3278,30 @@ /obj/structure/cable, /turf/open/floor/iron/large, /area/station/commons/locker) +"bdn" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/tcommsat/computer) +"bdp" = ( +/obj/machinery/computer/cryopod/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/secondary/exit/departure_lounge) "bdq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -3158,18 +3310,73 @@ dir = 5 }, /area/station/security/prison/workout) -"bdx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/spawner/random/trash/cigbutt, +"bdr" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"bds" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/service/abandoned_gambling_den) +"bdF" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door_buttons/access_button{ + idDoor = "xeno_airlock_interior"; + idSelf = "xeno_airlock_control"; + name = "Access Button"; + pixel_x = 26; + pixel_y = -6; + req_access = list("xenobiology") + }, +/obj/machinery/door_buttons/airlock_controller{ + idExterior = "xeno_airlock_exterior"; + idInterior = "xeno_airlock_interior"; + idSelf = "xeno_airlock_control"; + name = "Access Console"; + pixel_x = 26; + req_access = list("xenobiology"); + pixel_y = 6 + }, +/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, +/obj/structure/liquid_barrier, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + autoclose = 0; + frequency = 1449; + id_tag = "xeno_airlock_interior"; + name = "Xenobiology Lab Internal Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/iron/white/textured, +/area/station/science/xenobiology/hallway) +"bdM" = ( +/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_corner, +/area/station/service/chapel) "bdX" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 6 }, /turf/open/floor/iron, /area/station/science/ordnance) +"bei" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "bem" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3182,37 +3389,29 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/carpet, /area/station/service/chapel) -"beM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"beP" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=AftH"; - location = "AIW" +"beq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 8 }, -/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 = 10 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"beQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"beS" = ( -/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/catwalk_floor, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/storage_shared) +"beL" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/security/courtroom) +"beM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, /area/station/maintenance/department/science) "beT" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -3222,155 +3421,35 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"beU" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, +"beY" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"bff" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/engineering/storage) -"bfl" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/area/station/engineering/engine_smes) +"bfc" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 }, -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = -5 +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 4 }, +/obj/structure/sign/departments/maint/directional/south, /turf/open/floor/iron/white, -/area/station/medical/storage) -"bfn" = ( -/obj/machinery/light/directional/west, -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/cooking_to_serve_man, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = 9; - pixel_y = 3 - }, -/obj/item/reagent_containers/condiment/flour, -/obj/item/reagent_containers/condiment/rice{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/sugar{ - pixel_x = -6 - }, -/obj/item/storage/fancy/egg_box, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"bfx" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/machinery/door/poddoor/shutters{ - id = "maint_bar_shutters"; - name = "Bar Shutters"; - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) -"bfz" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/violet/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/freezerchamber) -"bfP" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/chair/sofa/bench/right{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/medical/medbay/aft) +"bff" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/engineering/storage) "bfQ" = ( /obj/machinery/atmospherics/components/tank/air, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bfT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Shared Storage" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engi-shared-storage" - }, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/storage_shared) -"bgd" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ +"bgE" = ( +/obj/structure/closet/wardrobe/green, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark/side{ dir = 1 }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - Central, North"; - name = "hallway camera" - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"bgf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/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/maintenance{ - name = "Hydroponics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"bgm" = ( -/obj/machinery/light/built/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"bgz" = ( -/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 = 10 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"bgJ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/neutral/corner, -/obj/structure/sign/warning/pods/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) +/area/station/commons/locker) "bgK" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -3380,30 +3459,28 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"bgN" = ( +"bha" = ( /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, /turf/open/floor/iron/dark, -/area/station/command/bridge) -"bgQ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/area/station/security/lockers) +"bhc" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/structure/table/reinforced/rglass, +/obj/machinery/fax{ + fax_name = "Chief Medical Officer's Office"; + name = "Chief Medical Officer's Fax Machine" + }, +/turf/open/floor/iron/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) "bhd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"bhf" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/security/prison) "bhj" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -3415,10 +3492,11 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"bhk" = ( -/obj/structure/chair/wood, -/turf/open/floor/wood, -/area/station/service/library/lounge) +"bhn" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "bho" = ( /turf/open/floor/carpet/red, /area/station/commons/vacant_room/office) @@ -3427,42 +3505,14 @@ /obj/effect/spawner/random/structure/chair_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"bhB" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/machinery/pdapainter/research, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/rd) -"bhI" = ( -/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_x = -24; - pixel_y = 6 +"bhJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) -"bia" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"bid" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/structure/window/spawner/directional/north, +/obj/machinery/chem_master, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) "bii" = ( /obj/machinery/biomass_recycler, /obj/item/stack/biomass, @@ -3472,31 +3522,12 @@ /obj/item/stack/biomass, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"bio" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south{ - c_tag = "Medical - Departures Post"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/medical_kiosk, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "bir" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/dark/side{ dir = 9 }, /area/station/commons/dorms) -"biu" = ( -/obj/structure/cable, -/obj/machinery/computer/crew{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "bix" = ( /obj/structure/table/wood, /obj/item/food/grown/harebell, @@ -3510,25 +3541,10 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/brig/entrance) -"biI" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/chair/sofa/bench/left, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) "biQ" = ( /obj/effect/spawner/random/engineering/material_cheap, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"bjf" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/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, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side, -/area/station/engineering/storage_shared) "bjg" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 8 @@ -3543,6 +3559,13 @@ dir = 8 }, /area/station/cargo/miningoffice) +"bjk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "bjn" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -3554,6 +3577,16 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"bjp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "bjY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -3563,24 +3596,13 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/mechbay) -"bkB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"bkC" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 +"bke" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/tcommsat/computer) "bkD" = ( /obj/effect/turf_decal/bot, /obj/machinery/light/directional/east, @@ -3593,43 +3615,23 @@ /obj/item/target, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"bkJ" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "bkM" = ( /obj/machinery/light/directional/east, /obj/effect/spawner/random/vending/colavend, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) -"bkW" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"ble" = ( -/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"blh" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/storage/box{ - pixel_y = 20 - }, -/obj/item/storage/box{ - pixel_y = 10 - }, -/obj/item/storage/box, -/turf/open/floor/iron/dark/corner{ +"bkT" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/area/station/cargo/sorting) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) "bll" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -3639,11 +3641,42 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"blp" = ( +"blm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"blq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/requests_console/directional/north{ + department = "Chief Engineer's Desk"; + name = "Chief Engineer's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/clipboard{ + pixel_y = 6 + }, +/obj/item/folder/yellow{ + pixel_y = 6 + }, +/obj/item/pen{ + pixel_y = 4 + }, +/obj/item/stamp/head/ce, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/command/heads_quarters/ce) "blv" = ( /turf/closed/wall, /area/station/engineering/main) @@ -3656,26 +3689,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/storage) -"blB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction/yjunction, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"blC" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "secondary_shop"; - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/commons/vacant_room/commissary) "blE" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -3699,6 +3712,16 @@ /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"blW" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Atmospherics Deliveries"; + name = "engineering camera" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos/office) "blX" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -3725,31 +3748,28 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"bmE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"bmQ" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "kitchen_sec_shutters"; - name = "Kitchen Shutters"; - dir = 4 +/obj/machinery/vending/cart, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"bmR" = ( +/obj/machinery/requests_console/directional/west{ + department = "Atmospherics"; + name = "Atmospherics Requests Console" }, -/obj/structure/desk_bell{ - pixel_y = 2; - pixel_x = 6 +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/window/spawner/directional/south, +/obj/machinery/computer/atmos_control/nocontrol/master{ + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/kitchen) -"bmT" = ( -/obj/structure/table, -/obj/item/storage/pill_bottle, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/atmos/office) "bna" = ( /obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, @@ -3759,26 +3779,36 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"bnb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/atmos/office) +"bni" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/item/paper/fluff/ids_for_dummies, +/obj/item/toy/figure/ian{ + pixel_x = -9 + }, +/obj/item/toy/figure/hop{ + pixel_y = 13; + pixel_x = -9 + }, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) "bnl" = ( /turf/closed/wall, /area/station/maintenance/port) -"bnn" = ( -/obj/machinery/light/directional/south, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) "bnz" = ( /obj/machinery/light/small/directional/south, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"bnA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "bnB" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -3787,6 +3817,20 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"bnF" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/cassette/mailbox, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"bnK" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "bnL" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/extinguisher_cabinet/directional/east, @@ -3798,10 +3842,16 @@ /obj/item/wirecutters, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"bnP" = ( -/obj/machinery/telecomms/server/presets/engineering, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) +"bnS" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "bod" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -3833,13 +3883,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"bog" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "bop" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/end{ @@ -3871,51 +3914,63 @@ /obj/effect/turf_decal/bot/right, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"boP" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"bpc" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/purple/filled/line{ +"boQ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ 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/dark, -/area/station/engineering/storage/tech) +/area/station/security/checkpoint/customs/auxiliary) +"boS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/scientist, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"boU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/station/command/heads_quarters/cmo) +"boX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/virology) "bpe" = ( /obj/structure/chair/office, /obj/effect/landmark/start/lawyer, /turf/open/floor/wood, /area/station/service/lawoffice) -"bpi" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/warning{ +"bpn" = ( +/obj/machinery/telecomms/hub/preset, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms, +/area/station/tcommsat/server) +"bpq" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/chair/office/light{ dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/effect/landmark/start/head_of_security, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"bpr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"bpj" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - name = "Labor Camp Shuttle Airlock"; - shuttledocked = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/processing) +/turf/open/floor/grass, +/area/station/medical/virology) +"bpv" = ( +/turf/closed/wall, +/area/station/commons/dorms/room6) "bpB" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, @@ -3924,19 +3979,28 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"bpE" = ( -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/prison/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"bpI" = ( -/obj/machinery/cryopod{ +"bpN" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light/small/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/vending/clothing, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) +"bpS" = ( +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/iron/dark/side{ - dir = 10 +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/mixingchamber_access, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 9 }, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/dark, +/area/station/science/ordnance/burnchamber) "bpU" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -3945,33 +4009,19 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/office) -"bpV" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark/side, -/area/station/commons/locker) -"bqd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"bqr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"bqk" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/door/airlock/engineering{ + name = "Electrical Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/electrical) "bqA" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -3987,16 +4037,23 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"bqH" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 +"bqG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 }, -/obj/effect/turf_decal/trimline/red/line{ +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/iron/dark/corner{ dir = 4 }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/brig) +/area/station/hallway/primary/aft) "bqK" = ( /obj/docking_port/stationary/laborcamp_home{ dir = 8 @@ -4010,35 +4067,25 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/miningoffice) -"bqQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) -"bqT" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Atmospherics Office"; - name = "engineering camera" +"bqW" = ( +/obj/effect/turf_decal/vg_decals/atmos/nitrous_oxide, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) +"brs" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark/side{ - dir = 1 +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/engineering/atmos/office) -"brd" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/glass/reinforced, -/area/station/commons/fitness/recreation) -"brh" = ( -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "brx" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4048,19 +4095,6 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"brE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/requests_console/directional/south{ - department = "Captain's Desk"; - name = "Captain's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "brU" = ( /obj/machinery/computer/telecomms/server{ dir = 4; @@ -4072,16 +4106,15 @@ /turf/open/floor/iron/dark, /area/station/tcommsat/computer) "brY" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "bsd" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -4105,23 +4138,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"bsg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"bsj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/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/white, -/area/station/medical/medbay/central) "bsl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -4145,32 +4161,40 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science) -"bsp" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 +"bsz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"bsD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 8 +/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"bsF" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed{ + pixel_x = 3; + pixel_y = 3 }, -/obj/structure/closet/emcloset, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"bsx" = ( -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/structure/window/reinforced/tinted, -/obj/structure/toilet{ - dir = 8 +/obj/item/storage/box/lights/mixed{ + pixel_y = 6; + pixel_x = 6 }, /turf/open/floor/iron/dark, -/area/station/security/prison/safe) -"bsK" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +/area/station/commons/storage/primary) +"bsH" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron, -/area/station/engineering/storage) +/obj/effect/turf_decal/trimline/red/line, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "bsR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4180,10 +4204,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"bsX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"bsT" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/atmospherics/components/tank, +/turf/open/floor/iron, +/area/station/science/ordnance) "btf" = ( /turf/open/floor/iron/dark/side{ dir = 6 @@ -4223,9 +4254,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"btH" = ( -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) +"btW" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "btZ" = ( /obj/structure/chair/office/light{ dir = 1 @@ -4233,25 +4268,35 @@ /obj/effect/landmark/start/research_director, /turf/open/floor/carpet/purple, /area/station/command/heads_quarters/rd) -"buK" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 +"bul" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/station_map/directional/north, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) +"buy" = ( +/obj/machinery/nuclearbomb/selfdestruct, +/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"buM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ +/area/station/ai_monitored/command/nuke_storage) +"buP" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/camera/directional/south{ - c_tag = "Hallway - Central, Southeast"; - name = "hallway camera" +/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, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Teleporter Room" }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/effect/mapping_helpers/airlock/access/all/command/teleporter, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured, +/area/station/command/teleporter) "buR" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/cable, @@ -4259,34 +4304,16 @@ /turf/open/floor/iron/dark/side, /area/station/cargo/office) "buX" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/machinery/light/directional/south, -/obj/machinery/duct, -/turf/open/floor/iron/white, +/obj/machinery/shower/directional/west, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, /area/station/medical/virology) -"bva" = ( -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) "bvc" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"bvd" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/obj/machinery/door/window/left/directional/west{ - name = "Holy Mass Driver"; - req_access = list("chapel_office") - }, -/obj/machinery/mass_driver/chapelgun{ - dir = 4 - }, -/obj/item/gps, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/chapel/funeral) "bve" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -4296,18 +4323,12 @@ /obj/structure/table, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"bvm" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ +"bvn" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 5 }, -/obj/effect/turf_decal/trimline/dark_blue/corner{ - dir = 8 - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "bvp" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -4316,35 +4337,23 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/brig) -"bvv" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/status_display/evac/directional/east, -/obj/structure/table, -/obj/item/storage/toolbox/electrical, -/obj/item/crowbar/red, -/obj/item/weldingtool, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/commons/storage/primary) -"bvF" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/south, -/obj/structure/closet/secure_closet/security/science/blueshirt, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/science) -"bvJ" = ( -/obj/effect/turf_decal/stripes/corner{ +"bvq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) +"bvK" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "bvL" = ( /obj/effect/turf_decal/bot, /obj/machinery/light/directional/north, @@ -4352,6 +4361,12 @@ /obj/structure/tank_dispenser, /turf/open/floor/iron, /area/station/engineering/main) +"bvP" = ( +/obj/structure/window/spawner/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "bvR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/graffiti, @@ -4371,12 +4386,22 @@ dir = 1 }, /area/station/hallway/secondary/service) -"bwg" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ +"bwd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) +"bwi" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/machinery/station_map/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "bwt" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -4387,13 +4412,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"bwD" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 +"bww" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/moisture_trap, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"bwE" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/machinery/light/small/directional/south, +/obj/structure/chair/sofa/bench/right{ + dir = 1 }, -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/turf/open/floor/iron/dark, +/area/station/security/processing) "bwI" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -4403,42 +4434,24 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"bwJ" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/four, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"bwK" = ( -/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, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) -"bwN" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/door/window/left/directional/south{ - name = "First-Aid Supplies"; - req_access = list("medical") - }, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/storage/medkit/brute{ - pixel_x = 3; +"bwL" = ( +/obj/machinery/light/directional/west, +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/cooking_to_serve_man, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = 9; pixel_y = 3 }, -/obj/item/storage/medkit/brute, -/obj/item/storage/medkit/brute{ - pixel_x = -3; - pixel_y = -3 +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/rice{ + pixel_x = -3 }, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/obj/item/reagent_containers/condiment/sugar{ + pixel_x = -6 + }, +/obj/item/storage/fancy/egg_box, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "bwW" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -4450,27 +4463,24 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark/side, /area/station/service/hydroponics) -"bwX" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 +"bxa" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/processing) -"bxi" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/east, -/obj/structure/liquid_pump, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"bxx" = ( -/obj/structure/showcase/cyborg/old{ - dir = 4; - pixel_x = -9; - pixel_y = 2 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/white, +/area/station/medical/office) +"bxw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "bxy" = ( /obj/item/stack/rods/fifty, /obj/structure/rack, @@ -4489,50 +4499,20 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/electrical) -"bxz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Closet" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bxE" = ( +"bxI" = ( +/obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, +/obj/effect/spawner/random/structure/furniture_parts, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bxK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) -"bxN" = ( -/obj/item/radio/intercom/directional/west, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen/fountain, -/obj/item/pen{ - pixel_x = -3; - pixel_y = -3 - }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) "bxZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, /turf/open/floor/engine, /area/station/security/execution) +"bya" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/service/janitor) "byi" = ( /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) @@ -4561,6 +4541,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"byn" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"byo" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "byp" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -4568,15 +4560,33 @@ /obj/machinery/clonepod, /turf/open/floor/iron/white, /area/station/science/genetics/cloning) -"bys" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"byt" = ( +/obj/structure/table, +/obj/item/kitchen/fork/plastic, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) +"byw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/break_room) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/autolathe, +/obj/machinery/door/window/left/directional/south{ + name = "Public Autolathe"; + req_access = list("cargo") + }, +/obj/machinery/door/window/left/directional/north{ + name = "Public Autolathe" + }, +/obj/machinery/door/poddoor/shutters{ + id = "cargo_desk"; + name = "Cargo Desk Shutters"; + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/cargo/office) "byC" = ( /obj/structure/lattice, /obj/structure/sign/warning/secure_area/directional/south, @@ -4589,6 +4599,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"byQ" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "byR" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -4596,28 +4610,39 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/white, /area/station/science/research) +"byW" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/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/hallway/primary/central) "byX" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bzm" = ( -/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/box, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"bzp" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"byZ" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"bzc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/break_room) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/service{ + name = "Bar Backroom" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar/backroom) "bzw" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -4627,26 +4652,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"bzx" = ( -/obj/structure/closet/crate, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin/adv, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bzB" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"bzD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) "bzJ" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/computer/nanite_cloud_controller, @@ -4666,10 +4671,31 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"bzX" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/auxlab) +"bzY" = ( +/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/airlock_controller/incinerator_atmos{ + pixel_x = -24; + pixel_y = 6 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) +"bAb" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Commons - Cryogenics, Departures"; + name = "commons camera" + }, +/obj/structure/sign/poster/official/help_others/directional/west, +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/secondary/exit/departure_lounge) "bAg" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/engineering/tool, @@ -4680,6 +4706,15 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"bAr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"bAD" = ( +/turf/closed/wall, +/area/station/medical/surgery) "bAF" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/table/wood, @@ -4700,41 +4735,16 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"bBd" = ( -/obj/structure/cable, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/head_of_personnel, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) "bBA" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/status_display/evac/directional/south, /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"bBE" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/security/courtroom) -"bBK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/light_switch/directional/west, -/obj/structure/rack, -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/storage/medkit/regular{ - pixel_y = 3 - }, -/obj/item/storage/box/bodybags, +"bBJ" = ( +/obj/machinery/duct, /turf/open/floor/iron/white, -/area/station/security/medical) +/area/station/science/xenobiology) "bBO" = ( /obj/effect/turf_decal/box/white{ color = "#EFB341" @@ -4746,23 +4756,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port) -"bBR" = ( -/obj/effect/turf_decal/stripes/end, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/shower/directional/south, -/turf/open/floor/iron/white/textured, -/area/station/security/medical) -"bCg" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/office) "bCh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -4787,13 +4780,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"bCy" = ( -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) "bCK" = ( /obj/structure/bonfire, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"bCP" = ( +/mob/living/basic/chicken, +/turf/open/floor/grass, +/area/station/service/hydroponics) "bCT" = ( /obj/effect/turf_decal/trimline/red/filled/warning, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -4801,39 +4795,44 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"bCX" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Psychology Office"; + name = "Psychology Office Fax Machine" + }, +/turf/open/floor/wood, +/area/station/medical/psychology) "bDa" = ( /obj/machinery/processor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"bDm" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - department = "Circuits Lab"; - name = "Circuits Lab Requests Console" +"bDj" = ( +/obj/structure/chair/sofa/corp/right{ + dir = 4 }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_y = 10; - pixel_x = 8 +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/blue, +/area/station/ai_monitored/turret_protected/ai_upload) +"bDs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/item/storage/box/beakers{ - pixel_x = 6; - pixel_y = 2 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/item/grenade/chem_grenade{ - pixel_x = -8; - pixel_y = 8 +/obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ + dir = 8 }, -/obj/item/grenade/chem_grenade{ - pixel_x = -8; - pixel_y = 2 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/turf/open/floor/iron/white, -/area/station/science/circuits) +/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/maintenance/disposal/incinerator) "bDt" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=HOP"; @@ -4847,24 +4846,39 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"bDu" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency, -/obj/item/crowbar/large, -/obj/item/radio, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"bDz" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +"bDv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/airalarm/directional/west, -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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, +/turf/open/floor/iron/white/textured, +/area/station/science/research) +"bDG" = ( +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/bar) +"bDI" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/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/duct, +/turf/open/floor/iron, +/area/station/engineering/main) "bDJ" = ( /obj/structure/chair{ dir = 8 @@ -4877,10 +4891,27 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"bDO" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bDS" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/station/solars/starboard/aft) +"bDT" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/table, +/obj/item/toy/figure/chef, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "bDY" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port Mix to Ports" @@ -4902,103 +4933,87 @@ }, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"bEE" = ( +"bEx" = ( +/obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) +/turf/open/floor/iron, +/area/station/security/prison) +"bEy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/sign/poster/ripped/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Hallway - Central, Southwest"; + name = "hallway camera" + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "bEF" = ( /turf/open/floor/iron/dark/side, /area/station/commons/fitness/recreation) "bEL" = ( /turf/closed/wall, /area/station/maintenance/department/electrical) -"bEV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"bER" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) -"bFj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/poster/official/random/directional/east, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 6 +/obj/machinery/button/door/directional/west{ + id = "medbay_foyer"; + name = "Medbay Doors Control"; + pixel_y = -6; + req_access = list("medical"); + normaldoorcontrol = 1; + specialfunctions = 4 }, -/area/station/command/heads_quarters/ce) -"bFv" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/autoname/directional/north, -/obj/structure/closet/radiation, -/turf/open/floor/iron, -/area/station/science/ordnance) -"bFw" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/wrench, -/obj/item/shovel/spade, -/obj/item/hatchet, -/turf/open/floor/grass, -/area/station/hallway/primary/central) -"bFF" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/item/radio/intercom/directional/west{ - broadcasting = 1; - frequency = 1447; - listening = 0; - name = "AI Private Channel" +/obj/machinery/button/door/directional/west{ + id = "medical_security_post"; + name = "Security Post Shutters Control"; + req_access = list("security"); + pixel_y = 5 }, /turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) -"bFJ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 +/area/station/security/checkpoint/medical) +"bFc" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 }, -/obj/structure/table/reinforced/rglass, -/obj/machinery/reagentgrinder{ - pixel_y = 8 +/obj/machinery/camera/directional/east{ + c_tag = "Security - Interrogation"; + name = "security camera"; + network = list("ss13","interrogation") }, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = -6; - pixel_y = 6 +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark/side{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/area/station/security/interrogation) +"bFy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/iron, +/area/station/engineering/main) "bFK" = ( -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/break_room) "bFX" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/construction/mining/aux_base) -"bFZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"bGd" = ( -/obj/machinery/light/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/closet/secure_closet/freezer/fridge, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"bGl" = ( -/obj/structure/sink/kitchen/directional/east, -/turf/open/floor/wood, -/area/station/service/bar) -"bGn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"bGn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -5007,12 +5022,6 @@ /obj/structure/cable/layer3, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"bGu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) "bGw" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -5057,27 +5066,19 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"bGQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "bGX" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, /turf/open/floor/iron, /area/station/engineering/main) -"bGY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - name = "Backup Waste In" - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer4{ - dir = 1; - name = "Backp Air to Distro" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/atmos) "bHc" = ( /obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ dir = 6 @@ -5090,27 +5091,30 @@ }, /turf/open/floor/wood, /area/station/service/bar) -"bHo" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/poster/random/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/eva) -"bHL" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 +"bHz" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 9 +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"bHJ" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/area/station/cargo/miningoffice) +/obj/effect/turf_decal/stripes/corner, +/obj/structure/disposalpipe/junction/flip, +/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/command/teleporter) "bHQ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -5159,57 +5163,14 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "bIk" = ( -/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/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) -"bIt" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters{ - id = "cmo_desk_shutters"; - name = "Desk Shutters"; - dir = 1 - }, -/obj/structure/table, -/obj/item/stamp/head/cmo, -/turf/open/floor/iron/dark/side, -/area/station/command/heads_quarters/cmo) -"bIu" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"bID" = ( -/turf/closed/wall, -/area/station/medical/break_room) -"bIQ" = ( -/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{ - dir = 1 - }, -/obj/machinery/medical_kiosk, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"bIY" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/machinery/power/port_gen/pacman/pre_loaded, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"bIp" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "bIZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5219,84 +5180,38 @@ }, /turf/open/floor/iron/goonplaque, /area/station/hallway/secondary/entry) -"bJd" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +"bJf" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bJj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/structure/chair, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"bJn" = ( -/obj/structure/chair/plastic{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"bJr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/medical{ - dir = 4 +/area/station/maintenance/starboard/aft) +"bJl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) -"bJw" = ( -/obj/effect/turf_decal/tile/dark_blue{ +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"bJp" = ( +/obj/structure/cable, +/obj/structure/sign/warning/rad_shelter/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/prison) +"bJF" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/computer/security{ dir = 1 }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - MiniSat Transit Pod Access, Internal"; - name = "engineering camera"; - network = list("ss13","rd","xeno_pens"); - start_active = 1 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, /turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"bJL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ +/area/station/security/checkpoint/engineering) +"bJK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/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/machinery/door/airlock/command/glass{ - name = "Head of Personnel's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/hop, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/hop) +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "bJM" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner{ @@ -5317,21 +5232,6 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"bJU" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/newscaster/directional/east, -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"bJW" = ( -/obj/structure/table, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "bKb" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -5341,13 +5241,28 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"bKe" = ( -/obj/effect/turf_decal/siding/wood{ +"bKd" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 8 }, -/obj/structure/sign/poster/official/ian/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/area/station/command/heads_quarters/captain) +"bKe" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/north, +/obj/machinery/requests_console/directional/east{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/structure/closet/secure_closet/security/cargo/blueshirt, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "bKm" = ( /obj/effect/turf_decal/tile/neutral/anticorner{ dir = 1 @@ -5356,6 +5271,19 @@ /obj/effect/turf_decal/bot_white/right, /turf/open/floor/iron/dark/smooth_corner, /area/station/command/gateway) +"bKx" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo - Office"; + name = "cargo camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/multitool, +/turf/open/floor/iron/dark/side, +/area/station/cargo/office) "bKL" = ( /obj/structure/curtain/cloth, /obj/machinery/duct, @@ -5378,49 +5306,40 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"bKR" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ - dir = 8 +"bLd" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"bKW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"bKY" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/segment, +/obj/machinery/airalarm/directional/east, +/obj/machinery/washing_machine, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) +"bLj" = ( +/obj/structure/table, +/obj/item/assembly/igniter, /turf/open/floor/plating, -/area/station/maintenance/department/cargo) +/area/station/maintenance/department/engine) "bLy" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/science) -"bLC" = ( -/obj/structure/fireaxecabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"bLO" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, +"bLH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/red/filled/warning, /obj/structure/cable, -/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"bLL" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment, /turf/open/floor/wood, -/area/station/command/heads_quarters/hos) +/area/station/command/meeting_room) +"bLN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "bLR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -5435,39 +5354,12 @@ /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"bLX" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) "bMc" = ( /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/side, /area/station/commons/fitness) -"bMe" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/layer1, -/obj/machinery/door/airlock/external{ - name = "Engineering External Access" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/main) -"bMh" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) "bMr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -5506,35 +5398,18 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"bMM" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"bMS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, +"bML" = ( +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, /turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +/area/station/service/library/lounge) "bMX" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/machinery/vending/wardrobe/det_wardrobe, /turf/open/floor/wood, /area/station/security/detectives_office) -"bNe" = ( -/obj/structure/chair/plastic, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"bNi" = ( -/obj/machinery/status_display/ai/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "bND" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -5564,14 +5439,68 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) +"bOe" = ( +/obj/structure/disposalpipe/segment{ + 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, +/area/station/medical/medbay/central) +"bOp" = ( +/obj/machinery/requests_console/directional/west{ + department = "Janitorial"; + name = "Janitorial Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "bOr" = ( /turf/closed/mineral/random/stationside/asteroid, /area/station/asteroid) +"bOt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Prison Wing" + }, +/obj/machinery/door/poddoor/preopen{ + id = "perma_lockdown"; + name = "Lockdown Blast Door" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "perma-entrance" + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/execution/transfer) +"bOv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/station/science/ordnance) +"bOw" = ( +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "bOH" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"bOI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) "bOJ" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 1 @@ -5582,49 +5511,60 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"bOK" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/machinery/door/airlock/grunge{ + name = "Prison Showers" + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/shower) "bOO" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"bOP" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) "bOR" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +/obj/machinery/duct, +/obj/structure/table/reinforced, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"bOV" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/disposalpipe/junction/flip, /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/command/teleporter) -"bOS" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/table, -/obj/item/hand_labeler{ - pixel_y = 8 +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" }, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics" }, -/area/station/cargo/sorting) -"bOW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/atmos) "bPd" = ( /turf/open/floor/iron/dark, /area/station/service/chapel) +"bPl" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/newscaster/directional/south, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/service/bar) "bPm" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 10 @@ -5635,11 +5575,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"bPp" = ( -/turf/open/floor/iron/dark/smooth_corner{ - dir = 8 - }, -/area/station/service/chapel) "bPy" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -5649,28 +5584,22 @@ dir = 9 }, /area/station/service/hydroponics/garden) -"bPU" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/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, -/obj/machinery/bluespace_beacon, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) -"bQk" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/warning{ - dir = 4 - }, +"bPC" = ( +/obj/structure/sign/poster/official/no_erp/directional/west, +/obj/effect/spawner/random/vending/snackvend, /turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"bQm" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/medical/break_room) +"bPE" = ( +/obj/structure/bed, +/obj/item/bedsheet/cmo, +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"bQb" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/wood, +/area/station/service/library/lounge) "bQr" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/chair{ @@ -5679,22 +5608,37 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron/dark/side, /area/station/cargo/miningoffice) -"bQu" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 +"bQs" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"bQz" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/cable, -/obj/structure/chair/office{ +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/table, +/obj/item/food/grown/wheat, +/obj/item/food/grown/watermelon, +/obj/item/food/grown/watermelon, +/obj/item/food/grown/watermelon, +/obj/item/food/grown/citrus/orange, +/obj/item/food/grown/grapes, +/obj/item/food/grown/cocoapod, +/turf/open/floor/iron/dark/side{ dir = 8 }, -/obj/effect/landmark/start/captain, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/service/hydroponics/garden) +"bQx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation 1" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/turf/open/floor/iron/white/textured, +/area/station/medical/virology) "bQA" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -5705,13 +5649,6 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"bQC" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/washing_machine, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) "bQL" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -5720,27 +5657,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"bQP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/ordnance/office) -"bQQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/warning{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/aft) +"bQR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood, +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) "bQX" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -5756,11 +5677,44 @@ "bQY" = ( /turf/closed/wall, /area/station/service/library/artgallery) -"bRk" = ( -/obj/machinery/light/built/directional/south, +"bRb" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + pixel_x = -6; + pixel_y = 8; + id = "Biohazard"; + name = "Biohazard Blast Door Control"; + req_access = list("research") + }, +/obj/machinery/button/door{ + pixel_x = 6; + pixel_y = 8; + id = "rnd2"; + name = "Research Lab Shutter Control"; + req_access = list("research") + }, +/obj/machinery/button/door{ + pixel_x = -6; + pixel_y = -2; + id = "xenobiomain"; + name = "Xenobiology Containment Blast Door Control"; + req_access = list("xenobiology") + }, +/obj/machinery/button/door{ + id = "rd_office_shutters"; + name = "Privacy Shutters Control"; + pixel_x = 6; + pixel_y = -2; + req_access = list("rd") + }, +/turf/open/floor/carpet/purple, +/area/station/command/heads_quarters/rd) +"bRi" = ( +/obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "bRx" = ( /obj/machinery/computer/telecomms/monitor{ dir = 4; @@ -5773,19 +5727,15 @@ dir = 8 }, /area/station/tcommsat/computer) -"bRG" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/food_or_drink/snack, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) -"bRX" = ( -/obj/structure/closet/l3closet/virology, -/turf/open/floor/iron/showroomfloor, +"bRD" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/machinery/firealarm/directional/south, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/virologist, +/turf/open/floor/iron/white, /area/station/medical/virology) -"bSb" = ( -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) "bSc" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -5799,28 +5749,6 @@ dir = 10 }, /area/station/service/hydroponics) -"bSo" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 4 - }, -/obj/structure/sign/warning/pods/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"bSr" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/newscaster/directional/south, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "bSC" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/line{ @@ -5828,20 +5756,13 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"bTe" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 4 - }, -/obj/structure/table, -/obj/item/restraints/handcuffs, -/obj/item/restraints/handcuffs{ - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/security/brig) +"bSN" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/departments/engineering/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary/uncommon, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "bTf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -5858,32 +5779,20 @@ /obj/structure/closet/crate/coffin, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) -"bTm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"bTq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "brig_post"; - name = "Security Shutters" - }, -/turf/open/floor/plating, -/area/station/security/brig/entrance) -"bTx" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "bTK" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"bTL" = ( +/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/structure/sign/warning/secure_area/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "bTN" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -5901,21 +5810,48 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bTZ" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"bUa" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"bUc" = ( -/obj/effect/turf_decal/trimline/green/filled/line, +/obj/structure/mirror/directional/east, +/obj/structure/sink/directional/west, /turf/open/floor/iron/white, -/area/station/medical/virology) +/area/station/medical/exam_room) +"bUe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/commons/locker) +"bUf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "bUg" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"bUl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) "bUn" = ( /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/light/small/directional/north, @@ -5923,10 +5859,32 @@ dir = 1 }, /area/station/commons/locker) -"bUq" = ( +"bUp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/south{ + c_tag = "Medical - Departures Post"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/command/nuke_storage) +/obj/machinery/medical_kiosk, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"bUw" = ( +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/stone, +/area/station/smithing) "bUF" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -5934,15 +5892,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"bUS" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "bUT" = ( /obj/effect/turf_decal/trimline/purple/warning, /obj/effect/turf_decal/trimline/purple/filled/warning{ @@ -5958,6 +5907,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark/side, /area/station/service/hydroponics/garden) +"bVl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) "bVs" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/autoname/directional/south, @@ -5973,6 +5933,12 @@ /obj/structure/sign/warning/secure_area/directional/north, /turf/open/space, /area/space/nearstation) +"bVN" = ( +/obj/structure/sign/warning/secure_area/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "bVQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -5981,64 +5947,76 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"bVU" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/genetics/cloning) -"bVW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 +"bWa" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/window/brigdoor/left/directional/north{ + name = "Chief Medical Officer's Desk"; + req_access = list("cmo") }, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 1 +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"bWj" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Command - Captain's Office"; + name = "command camera" }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 6 +/obj/machinery/computer/communications{ + dir = 8 }, -/area/station/hallway/primary/aft) +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "bWl" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/office) +"bWo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/reagent_forge, +/turf/open/floor/wood, +/area/station/smithing) "bWq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"bWE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"bWY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/requests_console/directional/south{ + department = "Captain's Desk"; + name = "Captain's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"bXe" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) +"bXn" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/checker, +/area/station/science/lab) +"bXo" = ( /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/plating, -/area/station/maintenance/port/aft) -"bXg" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/status_display/ai/directional/north, -/obj/structure/table, -/obj/item/electronics/apc, -/obj/item/electronics/airlock{ - pixel_y = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/turf/open/floor/iron/white, +/area/station/medical/office) "bXv" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -6056,6 +6034,28 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"bXH" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"bXN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) "bXP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -6078,25 +6078,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/textured, /area/station/science/xenobiology) -"bXS" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "bXU" = ( /turf/closed/wall, /area/station/security/prison/safe) -"bXW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +"bXX" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) +"bYa" = ( +/obj/item/radio/intercom/prison/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) +"bYe" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/structure/closet/secure_closet/freezer/kitchen{ + req_access = null + }, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "bYk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6119,153 +6118,143 @@ }, /turf/open/floor/iron/white/textured, /area/station/science/research) -"bYr" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"bYp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 }, -/obj/machinery/teleport/hub, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"bYu" = ( +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark, -/area/station/command/teleporter) +/area/station/hallway/primary/aft) "bYx" = ( /obj/structure/cable, /obj/machinery/pdapainter/security, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"bYD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +"bYB" = ( +/obj/machinery/duct, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port) "bYL" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/entry) -"bYW" = ( +"bYV" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/duct, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/breakroom) +"bYY" = ( +/obj/machinery/light/directional/north, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/obj/structure/filingcabinet, +/turf/open/floor/wood, +/area/station/service/library) +"bZm" = ( +/obj/machinery/atmospherics/components/binary/pump/on/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"bZn" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/dresser, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) +"bZq" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/syringes{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/beakers, +/obj/item/storage/box/tube{ + pixel_y = -3; + pixel_x = -3 + }, +/obj/item/storage/box/monkeycubes/mousecubes, +/obj/item/storage/box/monkeycubes/mousecubes{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/dropper{ + pixel_y = -4 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"bZv" = ( +/turf/closed/wall/r_wall, +/area/station/science/ordnance/testlab) +"bZF" = ( /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/maintenance/department/electrical) -"bYZ" = ( -/obj/effect/turf_decal/stripes/line, +/area/station/cargo/miningoffice) +"bZI" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/break_room) +"bZN" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /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/security/glass{ - name = "Isolation Cell"; - id_tag = "iso_cell_hall_bolt" +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research/glass{ + name = "Genetics Lab" }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/effect/mapping_helpers/airlock/access/all/science/genetics, /obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) -"bZa" = ( -/obj/machinery/light/directional/west, -/obj/machinery/electroplater, -/turf/open/floor/wood, -/area/station/smithing) -"bZj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 +/turf/open/floor/iron/white/textured, +/area/station/science/genetics) +"can" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 }, -/obj/structure/chair{ - dir = 1 +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 4 }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"bZl" = ( -/obj/machinery/light/small/built/directional/west, -/obj/structure/frame/computer{ - anchored = 1; - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) -"bZt" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - pixel_x = -6; - pixel_y = 8; - id = "Biohazard"; - name = "Biohazard Blast Door Control"; - req_access = list("research") - }, -/obj/machinery/button/door{ - pixel_x = 6; - pixel_y = 8; - id = "rnd2"; - name = "Research Lab Shutter Control"; - req_access = list("research") - }, -/obj/machinery/button/door{ - pixel_x = -6; - pixel_y = -2; - id = "xenobiomain"; - name = "Xenobiology Containment Blast Door Control"; - req_access = list("xenobiology") - }, -/obj/machinery/button/door{ - id = "rd_office_shutters"; - name = "Privacy Shutters Control"; - pixel_x = 6; - pixel_y = -2; - req_access = list("rd") - }, -/turf/open/floor/carpet/purple, -/area/station/command/heads_quarters/rd) -"bZv" = ( -/turf/closed/wall/r_wall, -/area/station/science/ordnance/testlab) -"bZF" = ( -/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/cargo/miningoffice) -"bZK" = ( -/obj/machinery/light/directional/west, -/obj/machinery/station_map/directional/west, +/obj/item/kirbyplants/random, /turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/commons/dorms) -"bZN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/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/machinery/door/airlock/research/glass{ - name = "Genetics Lab" + dir = 10 }, -/obj/effect/mapping_helpers/airlock/access/all/science/genetics, -/obj/machinery/duct, -/turf/open/floor/iron/white/textured, -/area/station/science/genetics) -"bZO" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/closet/secure_closet/medical2, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical, -/turf/open/floor/iron/white, -/area/station/medical/surgery) +/area/station/hallway/primary/aft) "cau" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/starboard/aft) +"caD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "caF" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 4 @@ -6294,18 +6283,6 @@ }, /turf/open/floor/plating, /area/station/security/prison/visit) -"cbh" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/newscaster/directional/north, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/upgraded, -/obj/item/toy/figure/assistant{ - pixel_x = 7; - pixel_y = 11 - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) "cbj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -6318,43 +6295,87 @@ dir = 9 }, /area/station/security/prison/workout) -"cbw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"cbx" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/closet/secure_closet/security/sec, +/turf/open/floor/iron/dark, +/area/station/security/lockers) "cbB" = ( /turf/closed/wall, /area/station/security/prison) -"cbD" = ( +"cbE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/structure/disposalpipe/segment, +/obj/structure/chair/comfy/black{ dir = 4 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"cbZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"cbI" = ( +/obj/structure/chair/comfy/brown, +/obj/effect/landmark/start/assistant, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) +"cbJ" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 8 }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = -4 + }, +/turf/open/floor/wood, +/area/station/service/bar) +"cbW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/service{ - name = "Bar" +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured, -/area/station/service/bar) -"cch" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/scientist, /turf/open/floor/iron/white, /area/station/science/explab) +"ccb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "ce_office_shutters"; + name = "CE's Office Shutters" + }, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/ce) +"ccj" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/prison/work) +"ccm" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "ccp" = ( /turf/open/floor/wood, /area/station/service/library) @@ -6365,6 +6386,22 @@ }, /turf/open/floor/carpet/black, /area/station/service/theater) +"ccz" = ( +/obj/structure/cable, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/head_of_personnel, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) +"ccI" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/prison) "ccL" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -6376,13 +6413,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"ccV" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +"ccT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Command - Vault"; + network = list("vault"); + name = "motion-sensitive command camera" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "ccW" = ( /obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ dir = 4 @@ -6407,66 +6449,29 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/checker, /area/station/science/lab) -"cde" = ( -/obj/structure/mirror/directional/north, -/obj/structure/sink/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/janitor) "cdi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/security/office) -"cdl" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/trimline/blue/filled/line{ +"cdm" = ( +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/structure/table/reinforced/rglass, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil{ - pixel_y = 7; - pixel_x = 3 - }, -/obj/item/assembly/timer, -/obj/item/assembly/timer, -/obj/item/assembly/timer, -/obj/item/assembly/igniter, -/obj/item/assembly/igniter, -/obj/item/assembly/igniter, -/obj/item/grenade/chem_grenade{ - pixel_x = 8 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 8 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 8 - }, -/obj/item/screwdriver{ - pixel_x = 2; - pixel_y = 15 - }, -/obj/item/integrated_circuit/chemical, -/obj/item/integrated_circuit/chemical, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/item/multitool, -/obj/item/multitool, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"cdm" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/door/window/right/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"cdo" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/cryopod/prison{ dir = 4 }, -/obj/effect/turf_decal/trimline/blue/line{ +/turf/open/floor/iron/dark/side{ dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/area/station/security/prison/safe) "cdu" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, @@ -6491,38 +6496,42 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"cdI" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"cdG" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "cdN" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /obj/machinery/camera/autoname/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"cdO" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/east, +/obj/machinery/requests_console/directional/east{ + 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, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "cdP" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/port) -"ceb" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot_white/right, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/closet/crate/goldcrate, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"cee" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 +"cea" = ( +/obj/structure/toilet{ + dir = 4 }, -/area/station/cargo/office) +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/obj/effect/landmark/start/captain, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/captain/private) "cem" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -6532,6 +6541,13 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"ceo" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/newscaster/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "ces" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -6545,11 +6561,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"cet" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) "cev" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6557,19 +6568,13 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/genetics) -"cew" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/chair/office/light{ - dir = 8 +"ceF" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 }, -/obj/effect/landmark/start/depsec/supply, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "ceH" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/flowers_yw/style_random, @@ -6598,19 +6603,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"cfl" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo - Office"; - name = "cargo camera" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/multitool, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) "cfm" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -6626,46 +6618,65 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"cfC" = ( -/obj/effect/turf_decal/stripes/line{ +"cfy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"cfJ" = ( +/obj/machinery/light/directional/west, +/obj/structure/chair/sofa/left/maroon{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark/side{ 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/plating, -/area/station/maintenance/port/fore) +/area/station/commons/fitness) "cfP" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cfU" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 +"cfQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"cgb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/light_switch/directional/west{ + pixel_y = -5 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/cmo) +/turf/open/floor/iron/white, +/area/station/medical/storage) +"cfU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "cgm" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) +"cgz" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/white, +/area/station/science/research) "cgC" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/science/robotics/lab) +"cgE" = ( +/obj/structure/mop_bucket/janitorialcart{ + dir = 1 + }, +/obj/item/mop, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "cgG" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -6674,6 +6685,11 @@ dir = 4 }, /area/station/commons/fitness/recreation) +"cgH" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/ai_monitored/command/storage/eva) "cgP" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -6683,44 +6699,29 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) "cgU" = ( -/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/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"cgX" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo - Drone Bay"; - name = "cargo camera" - }, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/table, -/obj/item/stock_parts/scanning_module{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/stock_parts/scanning_module{ - pixel_x = -5 - }, -/obj/item/stock_parts/scanning_module{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/stock_parts/scanning_module{ - pixel_x = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"chg" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +/obj/effect/turf_decal/vg_decals/atmos/carbon_dioxide, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) +"cgZ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"cha" = ( +/obj/machinery/light/directional/east, +/obj/structure/table/reinforced/rglass, +/obj/item/book/manual/wiki/medicine, +/obj/item/crowbar/red, +/obj/item/reagent_containers/spray/cleaner, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"chf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/caution_sign, +/turf/open/floor/plating, +/area/station/maintenance/port) "chk" = ( /obj/structure/chair/office{ dir = 4 @@ -6736,9 +6737,13 @@ /turf/open/floor/plating, /area/station/maintenance/port/aft) "chy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/obj/machinery/door/window/left/directional/north, +/obj/structure/table/wood/fancy/blue, +/obj/structure/sign/painting/library{ + pixel_y = -32 + }, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "chD" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/disposalpipe/segment{ @@ -6763,13 +6768,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) -"chJ" = ( -/obj/structure/chair/comfy/black{ +"chO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/light/directional/east, +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) "chW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6779,27 +6790,18 @@ dir = 1 }, /area/station/service/chapel) -"chZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"cic" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Prison Showers" +/obj/machinery/light/directional/south, +/obj/structure/sign/directions/cryo/directional/south{ + dir = 4; + pixel_y = -23 }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/shower) -"cid" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) "cim" = ( /obj/machinery/conveyor{ dir = 8; @@ -6812,15 +6814,6 @@ /obj/structure/plasticflaps, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"civ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/autoname/directional/east, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) "ciA" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -6832,23 +6825,20 @@ dir = 4 }, /area/station/service/hydroponics/garden) -"ciG" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 +"ciF" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"ciN" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 }, -/obj/machinery/status_display/evac/directional/south, -/obj/machinery/computer/department_orders/security{ - dir = 1 +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 }, -/turf/open/floor/iron/dark, -/area/station/security/office) -"ciO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/engineering/tool, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/turf/open/floor/wood, +/area/station/service/bar) "ciR" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6857,6 +6847,11 @@ dir = 1 }, /area/station/service/hydroponics) +"ciS" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/space_heater, +/turf/open/floor/iron, +/area/station/engineering/storage) "ciT" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/effect/spawner/structure/window/reinforced, @@ -6875,30 +6870,20 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"cjG" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/lobby) -"cjI" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +"cjr" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer2{ +/obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ - dir = 5 - }, +/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/side{ - dir = 8 + dir = 4 }, -/area/station/engineering/break_room) +/area/station/command/heads_quarters/ce) "cjW" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -6906,17 +6891,28 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"cjX" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/item/experi_scanner, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "cjZ" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/closet/secure_closet/medical2, +/obj/item/clothing/mask/breath/medical, +/obj/item/clothing/mask/breath/medical, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"ckd" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 }, -/obj/item/radio/intercom/directional/south, -/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, -/area/station/medical/paramedic) +/area/station/medical/morgue) "ckh" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -6933,10 +6929,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"cky" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "ckD" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -6952,22 +6944,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/white/textured, /area/station/science/auxlab) -"ckO" = ( -/obj/effect/turf_decal/tile/purple/full, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/window/right/directional/north{ - name = "Science Deliveries"; - req_access = list("research") - }, -/obj/machinery/duct, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/breakroom) "ckP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6977,24 +6953,12 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"cla" = ( -/turf/open/floor/carpet/blue, -/area/station/commons/vacant_room/office) -"clf" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) -"clg" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, +"clb" = ( /obj/structure/cable, -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/vending/clothing, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "cll" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 @@ -7002,6 +6966,10 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/white, /area/station/science/explab) +"clo" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "clr" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -7024,6 +6992,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/aisat_interior) +"clt" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/exit/departure_lounge) "clv" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -7034,41 +7009,52 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"clM" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/effect/landmark/start/detective, +/turf/open/floor/wood, +/area/station/security/detectives_office) +"clW" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/light/small/directional/south, +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) +"cmm" = ( +/obj/machinery/light/broken/directional/west, +/obj/structure/noticeboard/directional/west, +/obj/structure/closet/crate/coffin, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/fore) "cmn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cmt" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 +"cmx" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/green/filled/line{ + 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/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) -"cmw" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"cmy" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/computer/records/security{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/side{ - dir = 8 +/obj/machinery/button/door/directional/north{ + id = "departures_security_checkpoint"; + name = "Security Checkpoint Shutters Control"; + req_access = list("security") }, -/area/station/engineering/storage_shared) +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) "cmI" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/security/brig) @@ -7076,29 +7062,29 @@ /obj/structure/closet/emcloset/anchored, /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/department/security) +"cmU" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/virology) "cmW" = ( /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port) -"cnc" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"cnk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/obj/machinery/meter, -/turf/open/floor/iron, -/area/station/science/ordnance) -"cnt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 +"cmY" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/machinery/duct, /turf/open/floor/iron/white, -/area/station/medical/exam_room) +/area/station/medical/patients_rooms/room_b) "cnu" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -7106,41 +7092,29 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"cnA" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 +"cnF" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/button/door/directional/west{ - id = "genetics_shutters"; - name = "Genetics Shutters Control"; - req_access = list("genetics") +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Operating Room" }, -/obj/structure/table/reinforced/rglass, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"cnD" = ( -/obj/structure/plaque/static_plaque/golden/commission/box, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"cnG" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white/textured, +/area/station/medical/surgery) +"cnL" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/spawner/random/contraband/prison, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) +/obj/effect/turf_decal/bot, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/closet/secure_closet/security/sec, +/turf/open/floor/iron/dark, +/area/station/security/lockers) "cnP" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7154,16 +7128,19 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"cnX" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 10 +"cnY" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/structure/closet/secure_closet/personal/patient, /turf/open/floor/iron/white, -/area/station/medical/office) +/area/station/medical/patients_rooms/room_b) "coh" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering - Atmospherics Mixed Air Chamber"; @@ -7171,6 +7148,17 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos) +"coi" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/machinery/vending/medical, +/turf/open/floor/iron/white, +/area/station/medical/virology) "coj" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -7179,51 +7167,38 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"cot" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +"cor" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_red/line{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/machinery/status_display/ai/directional/east, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "cou" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/processing) -"cox" = ( -/obj/effect/spawner/random/structure/tank_holder, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"coz" = ( -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "coA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/meter, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"coE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"coW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"coS" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"cpv" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/disease2/incubator, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"cpd" = ( /obj/effect/turf_decal/stripes/end{ dir = 1 }, @@ -7239,9 +7214,10 @@ /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/fore) "cpA" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "cpH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -7259,23 +7235,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"cpO" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"cpP" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, -/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) "cpX" = ( /obj/structure/sign/poster/contraband/clown/directional/east, /obj/structure/closet/secure_closet/freezer/cream_pie{ @@ -7286,6 +7245,23 @@ /obj/item/food/pie/cream, /turf/open/floor/eighties/red, /area/station/service/theater) +"cqh" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"cqi" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "cqF" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -7298,34 +7274,58 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cqJ" = ( +/obj/machinery/light/directional/west, +/obj/structure/bed/double{ + dir = 4 + }, +/obj/item/bedsheet/dorms_double{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) "cqR" = ( /turf/closed/wall/r_wall, /area/station/security/execution/transfer) -"crl" = ( -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"crt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"crd" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/effect/turf_decal/trimline/red/line, +/obj/structure/table, +/obj/item/restraints/handcuffs, +/obj/item/restraints/handcuffs{ + pixel_x = -3; + pixel_y = 6 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Art Gallery" +/obj/item/restraints/handcuffs{ + pixel_y = 3 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/artgallery) -"cru" = ( -/obj/structure/punching_bag, +/obj/item/assembly/timer, /turf/open/floor/iron/dark, -/area/station/security/prison/workout) -"crI" = ( -/obj/structure/table, -/obj/effect/spawner/random/bureaucracy/pen, +/area/station/security/office) +"crj" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/structure/chair/office, +/obj/effect/landmark/start/warden, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/warden) +"crl" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"crt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"crz" = ( +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/department/engine) "crM" = ( /turf/closed/wall/r_wall, /area/station/security/warden) @@ -7336,6 +7336,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/station/science/research) +"csi" = ( +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "csj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -7348,24 +7351,53 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"csw" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/item/clothing/suit/armor/vest/alt/sec{ + pixel_y = 3; + pixel_x = 6 + }, +/obj/item/clothing/suit/armor/vest/alt/sec{ + pixel_x = 6 + }, +/obj/item/clothing/suit/armor/vest/alt/sec{ + pixel_y = -3; + pixel_x = 6 + }, +/obj/item/clothing/head/helmet/sec{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/clothing/head/helmet/sec{ + pixel_x = -6 + }, +/obj/item/clothing/head/helmet/sec{ + pixel_x = -6; + pixel_y = -3 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) +"csx" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "csE" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"csZ" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/item/gun/ballistic/shotgun/riot{ - pixel_y = -4 - }, -/obj/item/gun/ballistic/shotgun/riot, -/obj/item/gun/ballistic/shotgun/riot{ - pixel_y = 4 +"csR" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) "ctb" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -7386,6 +7418,10 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/ordnance/storage) +"cty" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library/private) "ctz" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ @@ -7394,41 +7430,6 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"ctM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"ctP" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_freezer_chamber_input{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) -"ctR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"cua" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "medbay_desk_shutters"; - name = "Medbay Front Desk Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/medical/office) -"cub" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) "cug" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/cable, @@ -7441,45 +7442,74 @@ "cui" = ( /turf/closed/wall, /area/station/service/theater) +"cuk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/break_room) "cuo" = ( /obj/effect/turf_decal/bot_white, /obj/structure/cable/multilayer/connected, /turf/open/floor/plating/airless, /area/space/nearstation) -"cus" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +"cur" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/line{ dir = 8 }, -/obj/machinery/airalarm/directional/west, -/obj/structure/table, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, -/area/station/science/explab) -"cuU" = ( +/area/station/medical/medbay/aft) +"cuE" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"cuS" = ( +/obj/machinery/light/small/directional/south, +/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, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"cuU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cuZ" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/service/library/private) -"cvb" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/rnd_all, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +"cvd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/maintenance{ + name = "Security Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/plating, +/area/station/security/processing) "cve" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/mechbay) -"cvm" = ( -/obj/structure/table/wood, -/obj/machinery/cassette/dj_station{ - pixel_y = 12 - }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +"cvj" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, +/turf/closed/wall/r_wall, +/area/station/maintenance/starboard/aft) "cvn" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 @@ -7498,24 +7528,61 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/sorting) -"cvK" = ( -/obj/structure/table/reinforced, +"cvt" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"cvx" = ( /obj/structure/cable, -/obj/machinery/door/window/left/directional/south{ - name = "Reception Desk" - }, -/obj/machinery/door/window/brigdoor/left/directional/north{ - name = "Reception Desk"; - req_access = list("armory") - }, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "cvS" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) -"cwb" = ( +"cvW" = ( +/obj/effect/turf_decal/stripes/end, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/security/execution) +"cwe" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"cwm" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/table, +/obj/item/storage/box/cups, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/area/station/command/meeting_room) +"cwp" = ( +/obj/machinery/requests_console/directional/south{ + department = "Science"; + name = "Science Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/table/reinforced/plasmarglass, +/obj/item/book/manual/wiki/cytology{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/plumbing, +/obj/item/storage/box/petridish, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "cwB" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 6 @@ -7538,6 +7605,13 @@ /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cwM" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "cwN" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -7557,11 +7631,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"cxf" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"cwX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + id_tag = "dorm_4"; + name = "Dorm 4" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms/room4) "cxk" = ( /obj/machinery/conveyor{ dir = 1; @@ -7573,27 +7657,49 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"cxp" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 +"cxv" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron/dark/side{ - dir = 8 +/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/machinery/door/airlock/medical/glass{ + name = "Chemistry Factory" }, -/area/station/cargo/sorting) +/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, +/obj/effect/landmark/navigate_destination/chemfactory, +/turf/open/floor/iron/white/textured, +/area/station/medical/chemistry) "cxK" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plating/airless, /area/space/nearstation) -"cxY" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 +"cxQ" = ( +/obj/effect/turf_decal/stripes/box, +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/white, -/area/station/science/research) +/obj/machinery/disposal/delivery_chute{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/sorting) +"cya" = ( +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library) "cye" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -7613,12 +7719,6 @@ }, /turf/open/space, /area/space) -"cyt" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/furniture_parts, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "cyB" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -7631,103 +7731,88 @@ /obj/machinery/air_sensor/carbon_tank, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"cza" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ - dir = 4 - }, +"czg" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/light/directional/west, +/obj/structure/sign/warning/secure_area/directional/west, +/obj/machinery/vending/assist, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"czt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 9 +/area/station/engineering/storage/tech) +"czq" = ( +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) -"czu" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"czJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"czK" = ( +/obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"czB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/turf/open/floor/iron/dark, +/area/station/security/warden) +"czX" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/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/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "kitchen_sec_shutters"; - name = "Kitchen Shutters"; +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"cAl" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/cryopod{ dir = 4 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/kitchen) -"czD" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/station/service/chapel/funeral) -"czE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ +/turf/open/floor/iron/dark/side{ dir = 8 }, -/obj/structure/disposalpipe/segment{ +/area/station/hallway/secondary/exit/departure_lounge) +"cAt" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 4 }, -/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/side{ - dir = 8 - }, -/area/station/engineering/break_room) -"czJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Maintenance" }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) -"cAm" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) -"cAw" = ( -/obj/structure/noticeboard/directional/west, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/blue, -/obj/item/pen, -/obj/item/hand_labeler{ - pixel_y = -12 +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "cAy" = ( /obj/structure/closet/emcloset/anchored, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/storage) +"cAK" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"cAL" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/chair/office/light{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/server) "cAM" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7741,100 +7826,76 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/starboard) -"cAR" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/box/red, -/obj/machinery/porta_turret/ai{ - dir = 8 +"cAO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"cAZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) "cBa" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/security/processing) -"cBc" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) -"cBe" = ( -/obj/machinery/light/directional/south, -/obj/machinery/status_display/evac/directional/south, -/obj/machinery/duct, -/obj/effect/landmark/start/gary/rare, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/restrooms) -"cBo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/sepia, -/area/station/service/library/artgallery) -"cBB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"cBM" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/item/storage/medkit/regular{ - pixel_y = 1 - }, -/turf/open/floor/iron, -/area/station/command/gateway) -"cBS" = ( +"cBg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/table/wood/fancy/blue, -/obj/item/phone{ - desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/assembly/timer{ - pixel_y = 6; - pixel_x = 6 +/obj/structure/chair/wood{ + dir = 1 }, /turf/open/floor/wood, -/area/station/command/meeting_room) -"cBY" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) -"cCc" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ +/area/station/service/library/lounge) +"cBh" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"cBx" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/modular_computer/preset/civilian{ dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/main) +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"cBT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "robotics_pub_shutters"; + name = "Robotics Shutters" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/science/robotics/lab) +"cCe" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/table_frame, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "cCf" = ( /turf/closed/wall, /area/station/security/prison/shower) -"cCi" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/bed/pod{ - desc = "An old medical bed, just waiting for replacement with something up to date."; - name = "medical bed"; - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +"cCn" = ( +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/recharge_station, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "cCp" = ( /obj/machinery/air_sensor/plasma_tank, /turf/open/floor/engine/plasma, @@ -7846,49 +7907,52 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"cCy" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 - }, -/obj/effect/landmark/start/psychologist, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"cCB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"cCI" = ( +/obj/structure/destructible/cult/item_dispenser/archives/library, +/obj/item/book/codex_gigas, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"cCM" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 }, -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/effect/landmark/blobstart, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"cCF" = ( -/obj/effect/turf_decal/tile/red/full, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/segment{ +/obj/structure/cable, +/obj/structure/chair{ dir = 4 }, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Security" - }, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/department/security/brig) -"cDe" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/carpet, -/area/station/service/chapel) -"cDg" = ( +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"cCZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"cDn" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer2{ - dir = 9 +/obj/machinery/light/small/directional/west, +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_y = 10 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 + }, +/obj/item/storage/belt/utility, +/obj/item/flashlight, +/obj/item/clothing/glasses/meson/engine{ + pixel_x = 4; + pixel_y = 8 }, +/obj/item/pipe_dispenser, /turf/open/floor/iron/dark/side{ - dir = 10 + dir = 8 }, -/area/station/engineering/break_room) +/area/station/engineering/storage_shared) "cDu" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7911,23 +7975,37 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"cDP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/side, -/area/station/hallway/secondary/exit/departure_lounge) -"cEi" = ( +"cDM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 + dir = 5 }, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/secure_area/directional/east, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/turf_decal/trimline/red/corner{ dir = 8 }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/hallway/primary/aft) +"cDO" = ( +/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, -/area/station/security/execution/transfer) +/area/station/hallway/primary/starboard) +"cDP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/side, +/area/station/hallway/secondary/exit/departure_lounge) +"cEe" = ( +/obj/machinery/exodrone_launcher, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "cEn" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -7935,12 +8013,19 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "cEq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - dir = 4 +/obj/structure/table, +/obj/item/reagent_containers/pill/maintenance, +/obj/item/reagent_containers/pill/maintenance{ + pixel_y = 8; + pixel_x = -7 }, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/area/station/maintenance/starboard/aft) +"cEw" = ( +/obj/machinery/light/small/directional/west, +/mob/living/carbon/human/species/monkey, +/turf/open/floor/grass, +/area/station/medical/virology) "cEx" = ( /obj/machinery/light/directional/east, /turf/open/floor/engine, @@ -7951,6 +8036,19 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"cEA" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted, +/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"cEB" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "cEG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7958,16 +8056,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/warehouse) -"cEM" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"cEN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron/dark/corner, -/area/station/command/heads_quarters/ce) +"cEH" = ( +/obj/structure/chair/plastic, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) "cEO" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/table, @@ -7992,11 +8084,14 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) -"cFf" = ( -/obj/structure/cable, -/obj/structure/chair/plastic, -/turf/open/floor/wood, -/area/station/security/prison/rec) +"cER" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/computer/apc_control{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "cFj" = ( /obj/structure/closet, /obj/item/instrument/piano_synth, @@ -8007,11 +8102,16 @@ /obj/item/instrument/violin, /turf/open/floor/wood, /area/station/maintenance/starboard/fore) -"cFF" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) +"cFm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"cFv" = ( +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "cFG" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/structure/sign/warning/hot_temp/directional/west, @@ -8023,16 +8123,13 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"cFU" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 +"cFV" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 8; + name = "freezer passive vent" }, -/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/mail_sorting/science/ordnance, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "cGc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8043,10 +8140,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"cGe" = ( -/obj/structure/foamedmetal, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "cGh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8057,49 +8150,66 @@ /obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, /turf/open/floor/plating, /area/station/maintenance/port) -"cGj" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/checker, -/area/station/science/lab) "cGF" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 5 }, /turf/open/floor/iron, /area/station/science/ordnance) -"cGM" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/power/energy_accumulator/grounding_rod, -/turf/open/floor/plating, -/area/station/engineering/main) -"cGO" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/turf/open/floor/iron/dark/side, -/area/station/engineering/storage_shared) "cGR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset/full, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"cHc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, +"cGU" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/iron/dark/side{ dir = 6 }, -/area/station/service/janitor) +/area/station/security/interrogation) +"cGV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/fuel_pellet, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"cGZ" = ( +/obj/machinery/light/directional/east, +/obj/machinery/button/door/directional/east{ + id = "atmos"; + name = "Atmospherics Lockdown"; + req_access = list("atmospherics"); + pixel_y = 6 + }, +/obj/machinery/button/door/directional/east{ + id = "atmos_rad_shutters"; + name = "Atmospherics Radiation Shutters Control"; + req_access = list("atmospherics"); + pixel_y = -6 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/atmos/office) "cHh" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage) +"cHk" = ( +/obj/machinery/telecomms/message_server/preset, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) "cHD" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/rd) @@ -8116,23 +8226,34 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"cHS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_flipped, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"cHW" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/machinery/airalarm/directional/south, +/obj/structure/chair/sofa/bench/left{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"cHX" = ( +/turf/closed/wall/r_wall, +/area/station/medical/psychology) "cIi" = ( /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, /area/station/tcommsat/computer) -"cIv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Prison Garden" - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/garden) +"cIB" = ( +/obj/effect/landmark/start/hangover, +/turf/open/floor/glass/reinforced, +/area/station/commons/fitness/recreation) "cID" = ( /obj/effect/turf_decal/trimline/green/line{ dir = 1 @@ -8142,13 +8263,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"cIJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) "cIL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8160,90 +8274,44 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"cJf" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark_red/line{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/cable, +"cJs" = ( +/obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) -"cJi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Library" - }, -/obj/effect/landmark/navigate_destination/library, -/turf/open/floor/iron/dark/textured, -/area/station/service/library) -"cJu" = ( -/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/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/engineering/main) +/area/station/security/lockers) "cJB" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"cJN" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/cable, -/obj/structure/chair/sofa/bench/right{ - dir = 8 +"cJH" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"cJO" = ( -/obj/machinery/airalarm/directional/south, +/obj/item/radio/intercom/directional/west, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/science/explab) +"cJJ" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"cJW" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison/visit) -"cKc" = ( -/obj/structure/chair/comfy/black{ - dir = 4 +/obj/effect/spawner/random/structure/table, +/obj/item/storage/box/matches, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_y = 4; + pixel_x = 4 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library) +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "cKn" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/iron, /area/station/science/ordnance) -"cKq" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) +"cKp" = ( +/obj/machinery/light/directional/east, +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "cKv" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -8282,6 +8350,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cKA" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/suit_storage_unit/captain, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) +"cKD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "cKF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, @@ -8297,38 +8381,40 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"cKS" = ( -/obj/structure/closet/secure_closet/atmospherics, -/turf/open/floor/iron/dark/side, -/area/station/engineering/atmos/office) -"cLc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"cKN" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/obj/machinery/station_map/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"cLk" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/morgue) "cLl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"cLo" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cLs" = ( /turf/closed/wall, /area/station/cargo/lobby) -"cLR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, +"cLF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/area/station/engineering/main) "cLY" = ( /obj/structure/cable, /obj/machinery/camera/emp_proof/directional/north{ @@ -8342,16 +8428,32 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port) -"cMc" = ( -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/break_room) +"cMf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/pill_bottle, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"cMh" = ( +/obj/effect/turf_decal/bot, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/large, +/area/station/commons/storage/primary) "cMj" = ( /obj/structure/mirror/directional/west, /obj/structure/sink/directional/east, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"cMn" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 1; + name = "plasma mixer" + }, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "cMv" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/structure/table/glass, @@ -8365,29 +8467,69 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"cMy" = ( -/obj/structure/cable/layer1, -/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) "cMA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/department/science) -"cMB" = ( +"cMN" = ( +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"cMO" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, /obj/structure/disposalpipe/trunk{ dir = 4 }, /obj/machinery/disposal/bin, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"cML" = ( -/obj/effect/turf_decal/vg_decals/atmos/oxygen, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"cMP" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/machinery/door/airlock/grunge{ + name = "Forging Lab" + }, +/obj/effect/mapping_helpers/airlock/access/any/science/general, +/obj/effect/mapping_helpers/airlock/access/any/supply/general, +/turf/open/floor/iron/dark/textured, +/area/station/smithing) +"cMR" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/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/west, +/turf/open/floor/iron/dark, +/area/station/security/brig) +"cMS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "cMT" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -8405,16 +8547,6 @@ dir = 1 }, /area/station/hallway/secondary/service) -"cNc" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/autoname/directional/east, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) "cNi" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -8425,6 +8557,18 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"cNl" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/item/gun/ballistic/shotgun/riot{ + pixel_y = -4 + }, +/obj/item/gun/ballistic/shotgun/riot, +/obj/item/gun/ballistic/shotgun/riot{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "cNm" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/random/trash/grille_or_waste, @@ -8435,19 +8579,10 @@ /obj/effect/spawner/random/clothing/costume, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cNw" = ( -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/warning{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +"cNt" = ( +/obj/machinery/firealarm/directional/east, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "cNz" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -8456,33 +8591,21 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"cNN" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/line, -/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ +"cNI" = ( +/obj/structure/disposalpipe/sorting/mail{ dir = 8 }, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/aft) -"cNO" = ( -/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, +/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) +"cNX" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"cNR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/area/station/maintenance/department/cargo) "cOa" = ( /obj/machinery/camera/autoname/directional/south, /obj/machinery/light/small/directional/south, @@ -8493,6 +8616,17 @@ }, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/service) +"cOe" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"cOi" = ( +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "cOn" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -8516,31 +8650,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"cOp" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/machinery/firealarm/directional/south, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/virologist, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"cOB" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Command - Meeting Room"; - name = "command camera" - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/machinery/recharger{ - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/station/command/meeting_room) "cOG" = ( /obj/effect/turf_decal/bot, /obj/structure/sign/nanotrasen{ @@ -8566,34 +8675,43 @@ /obj/structure/particle_accelerator/particle_emitter/right, /turf/open/floor/plating/airless, /area/space/nearstation) -"cPj" = ( -/obj/structure/disposalpipe/segment, +"cOP" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"cPd" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_b) +"cPf" = ( +/obj/structure/cable/layer1, /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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ +/turf/open/floor/iron, +/area/station/engineering/storage) +"cPA" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) -"cPo" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"cPr" = ( -/obj/structure/table, -/obj/item/camera, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"cPI" = ( -/obj/structure/table, -/obj/item/storage/box/matches, -/obj/effect/spawner/random/entertainment/cigarette_pack, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"cPB" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot_white, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "cPO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8607,59 +8725,54 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) -"cPV" = ( +"cPW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/layer1, +/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/side{ +/turf/open/floor/iron, +/area/station/engineering/storage) +"cQb" = ( +/obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/prison/workout) +"cQf" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/area/station/service/janitor) -"cPX" = ( -/obj/structure/cable, +/obj/machinery/light/small/directional/west, /obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_5k, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"cQp" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/computer/records/security{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"cPZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/warning, -/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/side{ - dir = 1 +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room" }, -/area/station/hallway/primary/aft) -"cQe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"cQj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/dark/textured_large, +/area/station/tcommsat/computer) +"cQr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/box, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"cQl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "cQs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/frame/computer{ @@ -8675,19 +8788,13 @@ }, /turf/open/floor/iron/white, /area/station/science/auxlab) -"cQA" = ( -/obj/effect/turf_decal/tile/neutral/half, -/obj/effect/turf_decal/tile/neutral/half{ - dir = 1 +"cQJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half, -/area/station/command/gateway) -"cQC" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/structure/sign/departments/xenobio/directional/north, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) "cQM" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -8717,28 +8824,40 @@ /obj/item/transfer_valve, /turf/open/floor/iron, /area/station/science/ordnance) +"cQS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/airlock/external{ + name = "Escape Pod Three" + }, +/obj/effect/landmark/navigate_destination/dockescpod3, +/turf/open/floor/iron/dark/textured_large, +/area/station/maintenance/department/security) "cQT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/closed/wall/r_wall, /area/station/maintenance/department/engine/atmos) "cQW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "cQY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"cRf" = ( +/obj/machinery/holopad, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) "cRg" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -8767,41 +8886,35 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"cRp" = ( -/turf/closed/wall, -/area/station/maintenance/department/cargo) -"cRq" = ( -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"cRQ" = ( -/obj/effect/turf_decal/siding/wood{ +"cRo" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/camera/directional/north{ - c_tag = "Commons - Vacant Office, North"; - name = "commons camera" +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"cSm" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 8 +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Maintenance" }, -/obj/effect/turf_decal/siding/wideplating_new/dark{ +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"cSq" = ( -/obj/effect/turf_decal/stripes/box, -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/trunk, -/obj/structure/disposaloutlet, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/sorting) +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"cRp" = ( +/turf/closed/wall, +/area/station/maintenance/department/cargo) +"cRq" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/oven/range, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "cSv" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -8816,10 +8929,14 @@ /obj/effect/landmark/navigate_destination/common/cryogenics, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/exit/departure_lounge) -"cSx" = ( -/obj/machinery/growing/soil, -/turf/open/floor/grass, -/area/station/service/chapel/funeral) +"cSw" = ( +/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, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/break_room) "cSz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -8851,11 +8968,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/processing) -"cSQ" = ( -/obj/structure/cable, -/obj/item/wrench, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cSY" = ( /obj/machinery/light/directional/west, /turf/open/floor/grass, @@ -8864,83 +8976,25 @@ /mob/living/basic/pet/potty, /turf/open/floor/iron, /area/station/service/hydroponics) -"cTq" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port) -"cTs" = ( -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"cTz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "kitchen_sec_shutters"; - name = "Kitchen Shutters"; +"cTo" = ( +/turf/open/floor/iron/dark/side{ dir = 4 }, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 10 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/kitchen) -"cTG" = ( -/turf/open/floor/iron, /area/station/engineering/atmos/office) -"cTK" = ( -/obj/structure/sink/directional/south, -/obj/effect/spawner/random/trash/bucket, -/turf/open/floor/plating, -/area/station/maintenance/port) +"cTC" = ( +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/prison/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/prison) +"cTF" = ( +/obj/structure/sink/kitchen/directional/east, +/turf/open/floor/wood, +/area/station/service/bar) "cTL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/station/maintenance/department/science) -"cTW" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/purple/line, -/obj/machinery/station_map/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) -"cUe" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/north{ - name = "Security Checkpoint Desk"; - req_access = list("security") - }, -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south{ - name = "Security Checkpoint Desk" - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/machinery/door/poddoor/shutters{ - id = "arrivals_security_checkpoint"; - name = "Security Checkpoint Shutters" - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) "cUh" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 4 @@ -8953,42 +9007,53 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"cUo" = ( -/obj/structure/disposalpipe/junction/flip{ +"cUu" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"cUp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"cUz" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, +/obj/effect/turf_decal/trimline/dark_blue/line, /obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"cUB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table, -/turf/open/floor/iron/dark/side{ - dir = 9 +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 }, -/area/station/cargo/sorting) -"cUL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"cUC" = ( /obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/engineering/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, +/obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/maintenance/starboard/fore) +"cUG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/station_map/directional/south, +/obj/structure/table/wood, +/obj/item/newspaper{ + pixel_x = -5 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/item/clothing/head/soft/grey{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/station/commons/locker) "cUR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8997,6 +9062,13 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/service/hydroponics) +"cUU" = ( +/obj/structure/cable, +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison) "cUV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9013,32 +9085,25 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"cVo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "cmo_office_shutters"; + name = "CMO's Office Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) "cVu" = ( /obj/effect/turf_decal/bot_red, /obj/structure/cable, /turf/open/floor/plating/airless, /area/space/nearstation) -"cVS" = ( -/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/chemistry) -"cVY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/wood{ - dir = 1 - }, +"cVH" = ( +/obj/machinery/duct, /turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"cWi" = ( -/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/command/bridge) +/area/station/service/abandoned_gambling_den) "cWn" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -9050,22 +9115,6 @@ dir = 8 }, /area/station/service/hydroponics/garden) -"cWy" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/structure/sign/warning/secure_area/directional/north, -/obj/machinery/light/directional/north, -/obj/structure/chair/sofa/bench/right, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"cWF" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "cWI" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ @@ -9091,18 +9140,9 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"cXh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/pink/hidden, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) +"cXe" = ( +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) "cXi" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -9110,6 +9150,14 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark, /area/station/security/brig) +"cXr" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/door/window/brigdoor/left/directional/south{ + name = "Research Director's Desk"; + req_access = list("rd") + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "cXs" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -9118,36 +9166,18 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/starboard/aft) -"cXt" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/lockers) "cXu" = ( /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"cXz" = ( -/obj/effect/turf_decal/siding/thinplating{ +"cXx" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/airalarm/directional/south, +/obj/structure/chair{ dir = 1 }, -/obj/structure/chair/sofa/bench/right, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"cXE" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/effect/turf_decal/bot, -/obj/structure/liquid_pump, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"cXJ" = ( -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron, +/area/station/medical/paramedic) "cXK" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -9158,6 +9188,13 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"cXS" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison) "cXU" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -9168,25 +9205,27 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"cYe" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 +"cYj" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 }, -/obj/machinery/requests_console/directional/north{ - department = "Cargo Bay"; - name = "Cargo Bay Requests Console" +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/vending/wardrobe/cargo_wardrobe, /turf/open/floor/iron/dark/side{ - dir = 1 + dir = 4 }, -/area/station/cargo/storage) +/area/station/medical/paramedic) "cYs" = ( /obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, /turf/open/floor/plastic, /area/station/security/prison/safe) +"cYu" = ( +/turf/open/floor/glass/reinforced, +/area/station/security/prison/workout) "cYz" = ( /obj/machinery/computer/slot_machine, /turf/open/floor/plating, @@ -9199,42 +9238,40 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"cYG" = ( +/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/pharmacy) "cYI" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 + dir = 4 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"cYM" = ( +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"cYL" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 4 }, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "testlab"; - name = "Xenobiology Secure Chamber Blast Door" +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/machinery/door/window/left/directional/north{ - name = "Test Chamber"; - req_access = list("xenobiology") +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance Closet" }, -/obj/structure/liquid_barrier, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"cYN" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) -"cYV" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/computer/diseasesplicer, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "cYX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, @@ -9243,31 +9280,51 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"cZa" = ( -/obj/structure/sign/poster/official/no_erp/directional/west, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/white, -/area/station/medical/break_room) -"cZl" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +"cYY" = ( +/obj/structure/chair/stool/bar/directional/south, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"cYZ" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/tcommsat/computer) -"cZs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/wood, +/area/station/service/lawoffice) +"cZf" = ( +/obj/structure/disposalpipe/sorting/mail{ dir = 4 }, -/obj/machinery/door/poddoor{ - id = "iso_cell_hall_vent"; - name = "Isolation Cell Hall Vent" +/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/mail_sorting/science/experimentor_lab, +/obj/effect/mapping_helpers/mail_sorting/science/genetics, +/obj/effect/mapping_helpers/mail_sorting/science/rd_office, +/obj/effect/mapping_helpers/mail_sorting/science/research, +/obj/effect/mapping_helpers/mail_sorting/science/robotics, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"cZh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/security/prison/safe) +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/head_of_personnel, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"cZA" = ( +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/commons/fitness) "cZI" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -9315,6 +9372,29 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"dam" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"daC" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) +"daD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "daN" = ( /obj/effect/mapping_helpers/broken_floor, /obj/item/circuitboard/machine/stasis, @@ -9328,15 +9408,6 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"daR" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 - }, -/turf/open/floor/carpet/black, -/area/station/security/bitden) "daT" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/side, @@ -9351,71 +9422,39 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dbt" = ( -/obj/structure/closet, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/scanning_module/adv, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"dbz" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) "dbG" = ( /obj/machinery/shieldgen, /turf/open/floor/plating, /area/station/engineering/main) -"dbO" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) +"dbV" = ( +/obj/machinery/telecomms/server/presets/service, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) "dbW" = ( /obj/structure/bed, /obj/item/bedsheet/dorms, /obj/effect/landmark/start/prisoner, /turf/open/floor/wood/parquet, /area/station/security/prison/safe) -"dcq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"dcz" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/station/service/library) -"dcA" = ( -/turf/closed/wall, -/area/station/maintenance/department/engineering/central) -"ddu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/effect/turf_decal/bot, -/obj/effect/landmark/secequipment, -/obj/structure/cable, +"dcn" = ( +/obj/structure/chair/office/light, +/obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/dark, -/area/station/security/lockers) +/area/station/medical/morgue) +"dcN" = ( +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/commons/locker) "ddy" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port) -"ddB" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) +"ddE" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ddK" = ( /obj/structure/sign/warning/vacuum/external/directional/south, /obj/structure/cable, @@ -9438,13 +9477,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"deb" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ - dir = 4 +"ddZ" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/table/reinforced/rglass, +/obj/machinery/computer/records/medical/laptop, +/turf/open/floor/iron/checker{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/area/station/command/heads_quarters/cmo) "dec" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 5 @@ -9461,53 +9501,40 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"det" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ +"dev" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ dir = 1 }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"deB" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = -5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/light/small/directional/south, +/obj/structure/sign/departments/court/directional/south, +/obj/structure/chair{ dir = 1 }, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"deF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/structure/bookcase/manuals/engineering, -/turf/open/floor/iron/dark/side{ - dir = 9 +/area/station/hallway/primary/fore) +"dew" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/chair{ + dir = 1 }, -/area/station/engineering/break_room) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "deQ" = ( /obj/machinery/light/neon_lining{ dir = 8 }, /turf/open/floor/stone, /area/station/science/xenobiology) -"deW" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 +"dfq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) +/area/station/security/checkpoint/medical) "dfr" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -9518,22 +9545,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness) -"dfy" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - department = "Robotics"; - name = "Robotics Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "dfE" = ( /obj/structure/table, /obj/machinery/door/firedoor, @@ -9550,105 +9561,54 @@ /obj/structure/particle_accelerator/power_box, /turf/open/floor/plating/airless, /area/space/nearstation) -"dfS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Brig Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/plating, -/area/station/security/brig) "dfV" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/exit/departure_lounge) -"dfX" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/gulag_teleporter, -/turf/open/floor/iron/dark, -/area/station/security/processing) "dgd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port) -"dgf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "dgg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 }, -/obj/structure/window/spawner/directional/east, -/obj/machinery/chem_master, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) +/turf/open/floor/iron, +/area/station/engineering/main) +"dgk" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/plating/airless, +/area/space/nearstation) "dgl" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) "dgr" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"dgz" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/space_heater, -/turf/open/floor/iron, -/area/station/engineering/storage) -"dgD" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/flasher/directional/north{ - id = "hopflash" - }, -/obj/structure/table/reinforced, -/obj/structure/desk_bell{ - pixel_x = -6 - }, -/obj/machinery/door/window/left/directional/north{ - dir = 8; - name = "Reception" - }, -/obj/machinery/door/window/brigdoor/right/directional/east{ - req_access = list("hop"); - name = "Head of Personnel's Desk" - }, -/obj/machinery/door/poddoor/shutters{ - id = "hop"; - name = "Privacy Shutters"; - dir = 8 +/turf/open/floor/glass/reinforced, +/area/station/commons/fitness/recreation) +"dgC" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/hop) +/turf/open/floor/iron/dark, +/area/station/security/office) "dgH" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 1 }, /turf/open/floor/engine, /area/station/science/xenobiology) +"dgI" = ( +/obj/machinery/light/directional/south, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/dark/side, +/area/station/tcommsat/computer) "dgK" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/cable, @@ -9657,38 +9617,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/escape) -"dgN" = ( -/obj/effect/turf_decal/tile/green/fourcorners, -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/service_all, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"dgP" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "dgR" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"dgS" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology/glass{ - name = "Pathology Pen" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/iron/white/textured, -/area/station/medical/virology) "dgT" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 1 @@ -9697,15 +9631,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"dhc" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) "dhd" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -9718,10 +9643,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"dhs" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) +"dht" = ( +/obj/machinery/light/built/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) +"dhw" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) "dhz" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -9737,46 +9668,18 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"dhL" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"dhZ" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/structure/closet/secure_closet/bar, -/turf/open/floor/wood, -/area/station/service/bar/backroom) -"did" = ( -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/commons/fitness/recreation) -"dim" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot_white/left, -/obj/machinery/airalarm/directional/west, -/obj/structure/closet/crate/silvercrate, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"dio" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/engineering/transit_tube) +"dhR" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/box, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"dib" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/sign/warning/pods/directional/south, +/obj/machinery/space_heater, +/turf/open/floor/iron, +/area/station/engineering/storage) "dix" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -9794,39 +9697,26 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/garden) -"diA" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/random/directional/west, -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"diI" = ( -/obj/structure/cable, -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/security/prison/rec) "diJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"diY" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/security/prison) -"djl" = ( +"diV" = ( +/obj/machinery/light/broken/directional/east, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"dju" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/light/small/directional/south, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Command - EVA Storage, Secure"; - name = "motion-sensitive command camera" - }, -/obj/structure/closet/crate/rcd, +/obj/machinery/defibrillator_mount/directional/south, +/obj/structure/table/optable, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"djx" = ( +/obj/structure/plaque/static_plaque/golden/commission/box, /turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) +/area/station/command/bridge) "djD" = ( /obj/machinery/field/generator, /turf/open/floor/plating, @@ -9842,6 +9732,16 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"djW" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/closet/emcloset/anchored, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "dkb" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -9861,12 +9761,70 @@ /obj/machinery/duct, /turf/open/floor/iron/white/textured, /area/station/science/research) -"dle" = ( -/obj/structure/sign/departments/engineering/directional/west, +"dkk" = ( +/obj/machinery/computer/operating{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"dkm" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/aft) +"dks" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"dkI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Commons - Vacant Office, North"; + name = "commons camera" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"dkJ" = ( +/obj/structure/sign/warning/secure_area/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"dkK" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) +"dlg" = ( +/obj/machinery/light/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/medical/psychology) "dli" = ( /obj/structure/table, /obj/item/paper_bin, @@ -9878,28 +9836,27 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/storage/primary) +"dlk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance{ + name = "Curator's Study Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/library, +/turf/open/floor/plating, +/area/station/service/library/printer) +"dlr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "dlt" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"dly" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/aft) "dlC" = ( /obj/docking_port/stationary{ dir = 8; @@ -9912,28 +9869,24 @@ }, /turf/open/space/basic, /area/space) +"dlD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "dlH" = ( /obj/effect/turf_decal/arrows{ dir = 4 }, /turf/open/floor/iron, /area/station/cargo/lobby) -"dlI" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"dlY" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 8 - }, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) +"dmb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "dmh" = ( /obj/machinery/light/directional/west, /obj/machinery/status_display/ai/directional/west, @@ -9942,18 +9895,12 @@ }, /area/station/commons/fitness) "dmm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/engineering/main) -"dmt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "dmw" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -9970,12 +9917,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"dnc" = ( -/obj/machinery/plumbing/ooze_sucker{ - mapping_id = "6" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) +"dmS" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/large, +/area/station/engineering/storage) "dnp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -9987,14 +9933,21 @@ /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) "dnA" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"dnB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/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/command/bridge) +/turf/open/floor/iron, +/area/station/science/ordnance/office) +"dnC" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "dnE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10004,13 +9957,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) -"dnK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "dnV" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -10021,11 +9967,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/command/storage/satellite) -"dnW" = ( -/obj/machinery/duct, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron, -/area/station/engineering/main) "dnX" = ( /obj/machinery/status_display/evac/directional/east, /obj/structure/disposalpipe/trunk{ @@ -10034,11 +9975,38 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/showroomfloor, /area/station/command/heads_quarters/rd) +"doe" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "N2 Outlet Pump" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"doi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) "dop" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/engine, /area/station/science/ordnance/storage) +"doq" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "dor" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -10071,18 +10039,6 @@ /obj/machinery/duct, /turf/open/floor/plastic, /area/station/security/prison/safe) -"doy" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/break_room) -"doA" = ( -/obj/structure/cable, -/obj/structure/sign/warning/rad_shelter/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/prison) "doH" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -10117,6 +10073,22 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution) +"doK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"doM" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/cable, +/obj/machinery/door/window/left/directional/east{ + name = "Gateway Control"; + req_access = list("gateway") + }, +/turf/open/floor/iron/dark, +/area/station/command/gateway) "doR" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -10125,11 +10097,23 @@ /obj/machinery/plumbing/ooze_compressor, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"doT" = ( -/obj/structure/ghost_critter_spawn, -/obj/effect/decal/cleanable/dirt, +"doS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/liquid_barrier, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/science/xenobiology) "doW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10143,34 +10127,17 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"dpo" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/contraband/prison, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/bowl, -/obj/item/kitchen/fork/plastic, -/obj/item/kitchen/fork/plastic, -/obj/item/kitchen/fork/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/knife/plastic, -/obj/item/knife/plastic, -/obj/item/knife/plastic, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/box/drinkingglasses, -/obj/item/storage/box/drinkingglasses, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) +"dps" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/table/reinforced/rglass, +/obj/item/emergency_bed{ + pixel_y = 14 + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "dpu" = ( /obj/structure/table/wood, /obj/item/cigbutt{ @@ -10200,6 +10167,30 @@ dir = 4 }, /area/station/cargo/sorting) +"dpB" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/directional/north{ + id = "maint_bar_shutters"; + name = "Bar Shutters Control" + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"dpL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "sec_lockers"; + name = "Locker Room Shutters" + }, +/turf/open/floor/plating, +/area/station/security/lockers) +"dpR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/dark, +/area/station/security/prison/safe) "dpZ" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -10214,61 +10205,39 @@ dir = 1 }, /area/station/commons/dorms) -"dqt" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"dqu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"dqj" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 4 +/obj/machinery/light/small/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/empty, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/area/station/engineering/break_room) +"dqk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) +"dqq" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/turf/open/floor/stone, +/area/station/smithing) "dqx" = ( /obj/structure/weightmachine/stacklifter, /turf/open/floor/iron/dark, /area/station/security/prison/workout) -"dqH" = ( -/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/catwalk_floor, -/area/station/maintenance/department/science) -"dqO" = ( -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"dqX" = ( -/obj/effect/turf_decal/trimline/green/filled/warning, -/obj/effect/turf_decal/trimline/green/warning{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"dqJ" = ( +/obj/effect/turf_decal/siding/wood, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +/obj/machinery/computer/security/hos, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) "dro" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -10285,10 +10254,6 @@ /obj/effect/landmark/navigate_destination/dockescpod1, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"drq" = ( -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) "dru" = ( /obj/structure/chair/stool/directional/west, /obj/effect/landmark/start/assistant, @@ -10320,15 +10285,21 @@ dir = 8 }, /area/station/cargo/miningoffice) -"dsc" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +"drT" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 }, -/obj/machinery/light/directional/south, -/obj/machinery/station_map/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) +/obj/machinery/button/door/directional/west{ + id = "genetics_shutters"; + name = "Genetics Shutters Control"; + req_access = list("genetics") + }, +/obj/structure/table/reinforced/rglass, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/iron/white, +/area/station/science/genetics) "dsd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10342,56 +10313,67 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dsn" = ( -/obj/structure/cable, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "dsu" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lab) +"dsy" = ( +/turf/closed/wall, +/area/station/cargo/drone_bay) +"dsD" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/purple/line, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/chair/sofa/bench/right, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"dsL" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/north, +/obj/machinery/vending/boozeomat, +/turf/open/floor/wood, +/area/station/service/bar) "dsR" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"dsU" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/green/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "dsX" = ( /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"dto" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"dty" = ( +/obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"dtJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) +"dtT" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 4 }, /turf/open/floor/iron/white, -/area/station/medical/cryo) -"dua" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/computer/crew, -/turf/open/floor/iron, -/area/station/medical/paramedic) +/area/station/medical/medbay/central) "dub" = ( /obj/structure/chair/office{ dir = 8 @@ -10404,31 +10386,33 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"duk" = ( -/obj/machinery/light/directional/east, -/obj/machinery/newscaster/directional/east, -/obj/machinery/computer/crew{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"dun" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/box, -/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/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/medical/paramedic) "duu" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) +"duw" = ( +/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/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge_exterior_blast_doors"; + name = "Bridge Exterior Access Blast Door" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "duF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -10447,20 +10431,46 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/cargo/lobby) +"duP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "duQ" = ( /obj/structure/sign/departments/engineering/directional/north, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dvd" = ( -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/prison/directional/east, +"duS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"duZ" = ( +/obj/effect/turf_decal/box, +/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/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"dve" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, -/area/station/security/prison) -"dvO" = ( -/turf/closed/wall, -/area/station/medical/paramedic) +/area/station/medical/morgue) +"dvC" = ( +/obj/structure/table/wood, +/obj/item/camera_film{ + pixel_x = -4; + pixel_y = 4 + }, +/turf/open/floor/carpet/green, +/area/station/commons/vacant_room/office) "dvS" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 @@ -10472,6 +10482,13 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"dvW" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/white, +/area/station/science/genetics) "dwc" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -10482,16 +10499,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"dwq" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/structure/sign/warning/biohazard/directional/north, -/obj/structure/table/reinforced/plasmarglass, -/obj/item/wirecutters, -/obj/item/screwdriver{ - pixel_y = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "dws" = ( /obj/effect/turf_decal/trimline/brown/filled/warning, /obj/effect/turf_decal/trimline/brown/warning{ @@ -10502,21 +10509,21 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"dwz" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +"dwx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Interrogation"; - name = "security camera"; - network = list("ss13","interrogation") +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + name = "Backup Waste In" }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/machinery/atmospherics/components/binary/pump/on/layer4{ + dir = 1; + name = "Backp Air to Distro" }, -/area/station/security/interrogation) +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/atmos) "dwJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10526,6 +10533,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dwR" = ( +/obj/machinery/door/window/left/directional/south{ + name = "Labor Camp Observation"; + req_access = list("security") + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) "dwS" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -10537,9 +10551,28 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron/dark/textured, /area/station/science/server) +"dwZ" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/table, +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dxk" = ( /turf/closed/wall, /area/station/science/robotics/lab) +"dxo" = ( +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/cold_temp/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "dxq" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -10548,18 +10581,11 @@ /obj/structure/sign/departments/security/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"dxH" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"dxC" = ( +/turf/open/floor/iron/dark/smooth_corner{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/grunge{ - name = "Bar" - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) +/area/station/service/chapel) "dxP" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 1 @@ -10571,33 +10597,41 @@ "dxW" = ( /turf/open/floor/iron/dark, /area/station/security/prison/mess) +"dya" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/medical{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_b) "dyk" = ( /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"dyq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/janitor) -"dyv" = ( -/obj/structure/filingcabinet, -/turf/open/floor/carpet/green, -/area/station/commons/vacant_room/office) -"dyE" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"dyI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"dyr" = ( +/obj/machinery/light/small/broken/directional/north, +/obj/structure/table, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/cell/lead, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"dyG" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/modular_computer/preset/id, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"dyI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10614,10 +10648,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/armory, /turf/open/floor/iron/dark/textured, /area/station/security/warden) -"dyL" = ( -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "dyU" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -10631,46 +10661,14 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"dzl" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/cable, -/obj/machinery/vending/boozeomat/all_access, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) -"dzE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/duct, -/obj/machinery/door/airlock/bathroom{ - name = "Bathroom"; - id_tag = "cap_bathroom" - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/captain/private) -"dzH" = ( -/obj/structure/flora/bush/jungle/b/style_random, -/turf/open/floor/grass, -/area/station/hallway/primary/central) -"dzP" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/machinery/requests_console/directional/east{ - department = "Security"; - name = "Security Requests Console" - }, -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "dzR" = ( +/obj/effect/turf_decal/siding/wood/corner, /obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "dzU" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/cable, @@ -10689,11 +10687,6 @@ }, /turf/open/floor/plastic, /area/station/security/prison/safe) -"dzZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_flipped, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "dAg" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/camera/autoname/directional/east, @@ -10704,18 +10697,21 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/command/heads_quarters/rd) -"dAo" = ( -/obj/structure/sign/warning/radiation/directional/west, -/obj/machinery/light/small/directional/west, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_5k, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/station_engineer, +"dAt" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/pump, /turf/open/floor/iron, -/area/station/engineering/engine_smes) +/area/station/engineering/main) +"dAv" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/effect/turf_decal/trimline/red/warning{ + dir = 1 + }, +/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, +/area/station/hallway/secondary/entry) "dAx" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/rack, @@ -10730,25 +10726,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"dAB" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/dresser, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) -"dAN" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/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/information, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "dAR" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, @@ -10776,12 +10753,21 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/security/office) +"dAY" = ( +/obj/structure/cable/layer1, +/turf/open/floor/iron, +/area/station/engineering/main) "dBd" = ( /obj/structure/cable, /obj/structure/sign/departments/vault/directional/north, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/primary/port) +"dBh" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood, +/area/station/service/library) "dBo" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -10789,18 +10775,14 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"dBr" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 +"dBq" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/status_display/ai/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/virology) "dBA" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -10810,58 +10792,20 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"dBB" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - 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/exam_room) -"dBO" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/corporate{ - id_tag = "bs_bolt"; - name = "Blueshield's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/admin/general, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/blueshield) -"dBZ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/machinery/chem_heater, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "dCg" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"dCs" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/machinery/computer/teleporter{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) -"dCs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "dCt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10881,47 +10825,40 @@ dir = 1 }, /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/station_map/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "dCT" = ( /obj/structure/flora/grass/jungle/b/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"dDd" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +"dCU" = ( +/obj/structure/chair/wood{ dir = 8 }, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/closet/emcloset/anchored, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"dDn" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/structure/tank_holder/extinguisher, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"dDp" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/turf/open/floor/carpet/green, +/area/station/service/abandoned_gambling_den) +"dDD" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark/side{ dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/office) +/area/station/service/janitor) "dDE" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, /obj/structure/table_frame, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"dDF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"dDK" = ( +/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=EVA"; + location = "Security" + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "dDZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10933,109 +10870,63 @@ dir = 8 }, /area/station/service/theater) -"dEg" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Arrivals - Escape Pod Bay 2"; - name = "arrivals camera" - }, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) -"dEl" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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, -/obj/machinery/duct, -/obj/machinery/door_buttons/access_button{ - idDoor = "pathology_airlock_interior"; - idSelf = "pathology_airlock_control"; - name = "Pathology Access Button"; - pixel_y = 6; - req_access = list("pathology"); - pixel_x = -24 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "pathology_airlock_interior"; - name = "Pathology Interior Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/iron/white/textured, -/area/station/medical/virology) -"dEo" = ( -/obj/effect/turf_decal/stripes/line{ +"dEa" = ( +/obj/structure/chair/office/light{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/dark, +/area/station/tcommsat/computer) +"dEm" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/science/research) -"dEs" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/station/maintenance/port) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "dEu" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/machinery/status_display/ai/directional/west, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"dEE" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) +"dEx" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) +"dEz" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "dEG" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/prison/visit) -"dEH" = ( -/turf/closed/wall, -/area/station/medical/chemistry) "dEK" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"dFp" = ( -/obj/structure/chair/plastic{ - dir = 4 +"dES" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/obj/structure/mineral_door/wood, +/obj/machinery/duct, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"dEZ" = ( +/obj/machinery/firealarm/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "dFq" = ( /obj/machinery/light/floor/has_bulb, /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"dFA" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = -5 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "dFB" = ( /obj/effect/turf_decal/trimline/blue/warning{ dir = 8 @@ -11045,14 +10936,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"dFC" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/newscaster/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/large, -/area/station/engineering/gravity_generator) "dFP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11061,11 +10944,6 @@ dir = 4 }, /area/station/commons/locker) -"dFR" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "dFT" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering - Atmospherics Carbon Dioxide Chamber"; @@ -11073,44 +10951,56 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"dFW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"dGu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/port) -"dGy" = ( +"dFZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 + dir = 8 }, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/obj/machinery/light/small/directional/west, +/obj/item/kirbyplants/random, /turf/open/floor/iron/white, -/area/station/medical/cryo) -"dGJ" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/button/door/directional/south{ - req_access = list("security"); - name = "Security Post Shutters Control"; - id = "engi_security_post" +/area/station/medical/medbay/lobby) +"dGa" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"dGe" = ( +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 }, /obj/structure/table, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -9 +/obj/machinery/recharger{ + pixel_x = 5 }, -/obj/item/radio/off{ - pixel_x = 6 +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/item/screwdriver{ - pixel_y = 10 +/obj/machinery/recharger{ + pixel_x = -5 + }, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"dGs" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 8 }, +/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, /area/station/security/checkpoint/engineering) +"dGu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/port) "dGM" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -11126,20 +11016,6 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"dGY" = ( -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/commons/dorms) -"dHb" = ( -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/aft) "dHc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11166,61 +11042,66 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"dHO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/freezer, +/area/station/science/xenobiology) +"dHV" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/closet/emcloset, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) "dIb" = ( /obj/machinery/mechpad, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"dIg" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"dIh" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/table, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson{ - pixel_x = 3; - pixel_y = 9 - }, -/obj/item/flashlight{ - pixel_x = -3; - pixel_y = -6 - }, -/obj/item/flashlight{ - pixel_y = -12; - pixel_x = 3 +"dId" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side{ + dir = 6 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/area/station/service/janitor) +"dIl" = ( +/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, +/obj/machinery/duct, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "dIp" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"dIu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair/office, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) -"dIC" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ +"dIw" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/trimline/blue/warning{ +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + name = "Drone Bay" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/effect/landmark/navigate_destination{ + location = "Drone Bay" + }, +/turf/open/floor/iron/textured, +/area/station/cargo/drone_bay) "dIF" = ( /obj/effect/turf_decal/trimline/purple/corner{ dir = 8 @@ -11246,16 +11127,16 @@ dir = 5 }, /area/station/service/theater) -"dIO" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/chair/office/light{ +"dIM" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/command/gateway) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "dIV" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -11273,6 +11154,15 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/engine, /area/station/science/xenobiology) +"dIZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/storage_shared) "dJc" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -11285,56 +11175,39 @@ /turf/open/floor/iron/white, /area/station/science/research) "dJx" = ( -/obj/machinery/computer/records/medical{ +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"dJL" = ( +/obj/item/radio/intercom/directional/north, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"dJU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "engi_break_room_shutters"; + name = "Engineering Shutters"; dir = 8 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"dJA" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" }, -/obj/machinery/airalarm/directional/north, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/table/reinforced/rglass, -/obj/item/reagent_containers/syringe{ - name = "steel point" - }, -/obj/item/clothing/mask/surgical, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/cup/bottle/multiver, -/obj/item/clothing/neck/stethoscope, -/obj/item/clothing/gloves/latex, -/obj/item/reagent_containers/spray/cleaner, -/turf/open/floor/iron/white, -/area/station/security/medical) -"dJB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/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/side{ - dir = 4 - }, -/area/station/engineering/break_room) -"dJT" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/chemistry{ - pixel_x = -7; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/plumbing{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/hand_labeler, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"dJV" = ( -/obj/machinery/light/neon_lining{ - dir = 8 +/turf/open/floor/plating, +/area/station/engineering/break_room) +"dJV" = ( +/obj/machinery/light/neon_lining{ + dir = 8 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -11350,6 +11223,9 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dKg" = ( +/turf/open/floor/plating, +/area/station/maintenance/central) "dKl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11367,18 +11243,50 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) -"dKv" = ( +"dKC" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 3 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 6 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 9 + }, +/turf/open/floor/iron, +/area/station/engineering/main) +"dLc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "kitchen_sec_shutters"; + name = "Kitchen Shutters"; + dir = 4 + }, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/kitchen) +"dLf" = ( +/obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/machinery/light/small/directional/west, +/obj/machinery/computer/prisoner/management{ + dir = 4 + }, /turf/open/floor/iron/dark, -/area/station/security/processing) -"dKQ" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/area/station/security/warden) "dLp" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -11393,39 +11301,76 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"dLF" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 +"dLw" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/east{ + name = "Apothecary Desk"; + req_access = list("pharmacy") }, -/obj/effect/turf_decal/trimline/neutral/corner{ +/obj/machinery/door/window/right/directional/west{ + name = "Apothecary Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "apothecary_ter_desk_shutters"; + name = "Apothecary Tertiary Desk Shutters"; + dir = 8 + }, +/obj/structure/desk_bell{ + pixel_x = -6 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"dLy" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/machinery/computer/teleporter{ dir = 4 }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/sign/warning/vacuum/external/directional/south, -/obj/machinery/camera/autoname/directional/west, -/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"dLL" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 6 +/area/station/command/teleporter) +"dLz" = ( +/obj/structure/disposalpipe/sorting/mail/flip, +/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/mail_sorting/engineering/atmospherics, +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"dLC" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/cable, +/obj/machinery/computer/crew{ + dir = 4 }, -/obj/machinery/station_map/directional/south, -/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"dLV" = ( -/obj/structure/sink/directional/west, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"dLZ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 +/area/station/security/warden) +"dLO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood{ + dir = 8 }, -/turf/open/floor/catwalk_floor, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"dLQ" = ( +/obj/machinery/space_heater/improvised_chem_heater, +/turf/open/floor/plating, /area/station/maintenance/starboard/aft) "dMb" = ( /obj/structure/sign/poster/random/directional/east, @@ -11433,36 +11378,18 @@ /obj/item/clothing/head/costume/festive, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dMg" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/cable, -/obj/structure/table/reinforced/rglass, -/obj/item/emergency_bed{ - pixel_y = 7 - }, -/obj/item/emergency_bed{ - pixel_y = 14 - }, -/obj/item/emergency_bed{ - pixel_y = 21 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "dMl" = ( /obj/machinery/computer/upload/borg{ dir = 4 }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"dMo" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +"dMx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/structure/sign/poster/official/safety_eye_protection/directional/west, -/obj/machinery/light/small/directional/west, -/obj/structure/chemical_manufacturer, /turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/area/station/medical/virology) "dMC" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/vending/cigarette, @@ -11471,10 +11398,6 @@ "dMO" = ( /turf/closed/wall, /area/station/science/genetics) -"dMR" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/lawoffice) "dMV" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -11492,39 +11415,32 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dMW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, +"dMY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Office" +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) +"dNd" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/glass/reinforced, +/area/station/commons/fitness/recreation) +"dNk" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light/small/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/obj/effect/landmark/navigate_destination/engineering, -/obj/effect/landmark/navigate_destination/atmos, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/break_room) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "dNr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/carpet/green, /area/station/commons/locker) -"dNt" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/station/security/prison/rec) "dNu" = ( /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) @@ -11544,6 +11460,26 @@ /obj/structure/sign/warning/hot_temp/directional/east, /turf/open/floor/plating/reinforced, /area/station/maintenance/department/science) +"dNO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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/machinery/door/airlock/command/glass{ + name = "Bridge" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/poddoor/preopen{ + id = "bridge_blast_doors"; + name = "Bridge Access Blast Door" + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "dNX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -11561,44 +11497,33 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison) -"dOf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/miningoffice) -"dOn" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +"dOg" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible{ dir = 4 }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Arrivals - Hallway" - }, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = 9 +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"dOj" = ( +/obj/machinery/button/door/directional/north{ + id = "dorm_4"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = 5 }, -/obj/structure/sign/directions/science/directional/east, -/obj/structure/sign/directions/vault/directional/east{ - pixel_y = -9 +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/machinery/light_switch/directional/north{ + pixel_x = 5; + pixel_y = 34 }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"dOs" = ( -/obj/structure/table, -/obj/item/camera_film, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"dOt" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/reagent_dispensers/plumbed, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) "dOx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11610,20 +11535,23 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/white, /area/station/science/research) -"dOL" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/rack{ - icon = 'icons/obj/stationobjs.dmi'; - icon_state = "minibar"; - name = "skeletal minibar" - }, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) "dOS" = ( /turf/closed/wall, /area/station/security/prison/work) +"dOW" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/piratepad/civilian, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo - Lobby"; + name = "cargo camera" + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/cargo/lobby) "dOX" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/conveyor{ @@ -11635,10 +11563,23 @@ "dPd" = ( /turf/open/floor/engine/n2o, /area/station/engineering/atmos) -"dPh" = ( -/obj/machinery/airalarm/directional/south, -/turf/open/floor/grass, -/area/station/hallway/primary/central) +"dPe" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"dPx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "dPy" = ( /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, @@ -11649,11 +11590,6 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"dPD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/structure/closet/secure_closet/freezer/kitchen, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "dPF" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -11661,43 +11597,34 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/science/research) -"dPH" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"dPK" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/grass, -/area/station/medical/virology) -"dPO" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "dPT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"dPU" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 4 +"dPY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/turf/open/floor/wood, -/area/station/maintenance/port/fore) -"dQg" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/corner, +/obj/item/kirbyplants/random, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"dQb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "CMO Office Maintenance" }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/turf/open/floor/catwalk_floor, +/area/station/command/heads_quarters/cmo) "dQh" = ( /obj/effect/spawner/random/structure/chair_flipped{ dir = 8 @@ -11714,13 +11641,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) -"dQC" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/effect/turf_decal/trimline/blue/warning{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "dQE" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -11737,61 +11657,72 @@ /obj/effect/mapping_helpers/mail_sorting/security/hos_office, /turf/open/floor/iron/dark, /area/station/security/office) -"dQL" = ( -/obj/structure/disposalpipe/segment, +"dRo" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) -"dQR" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"dRv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/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/maintenance{ + name = "Medbay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/plating, +/area/station/medical/medbay/central) +"dRy" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"dRn" = ( -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) -"dRp" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/camera/autoname/directional/east, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"dRH" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"dRB" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/medbay/aft) +"dRC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) "dRJ" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/rack, /obj/effect/spawner/random/techstorage/ai_all, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"dRS" = ( +"dRZ" = ( +/obj/structure/disposalpipe/junction/flip{ + 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, -/turf/open/floor/catwalk_floor/iron, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, /area/station/maintenance/department/science) -"dRU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/button/door/directional/north{ - id = "engi_office_shutters"; - name = "Engineering Shutters Control"; - req_access = list("engineering") - }, -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/break_room) "dSb" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -11807,12 +11738,30 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) +"dSr" = ( +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/office) +"dSC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/structure/chair/sofa/bench/right, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/main) "dSI" = ( /obj/effect/turf_decal/box/white{ color = "#9FED58" }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"dSK" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "dSO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -11852,6 +11801,15 @@ /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) +"dTG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) "dTK" = ( /obj/structure/chair{ dir = 4 @@ -11859,18 +11817,6 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/office) -"dTM" = ( -/obj/machinery/button/door/directional/north{ - id = "bs_bathroom"; - name = "Bathroom Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = -6 - }, -/obj/machinery/shower/directional/west, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/blueshield) "dTN" = ( /obj/effect/artifact_spawner, /turf/open/floor/engine, @@ -11886,20 +11832,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) -"dTZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/obj/structure/table/reinforced, -/obj/machinery/fax{ - fax_name = "Chief Engineer's Office"; - name = "Chief Engineer's Fax Machine" - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/command/heads_quarters/ce) "dUc" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -11931,30 +11863,22 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"dUt" = ( -/obj/effect/turf_decal/stripes/line{ +"dUi" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/mineral/ore_redemption{ - input_dir = 2; - output_dir = 1 - }, -/obj/machinery/door/window/right/directional/south{ - name = "Ore Redemption"; - req_access = list("cargo") - }, -/obj/machinery/door/window/right/directional/north{ - name = "Ore Redemption" - }, -/obj/machinery/door/poddoor/shutters{ - id = "cargo_desk"; - name = "Cargo Desk Shutters"; - dir = 1 +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen{ + desc = "Used for monitoring medbay to ensure patient safety."; + name = "Medbay Monitor"; + network = list("medbay") }, -/turf/open/floor/iron/dark/textured, -/area/station/cargo/office) +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) +"dUm" = ( +/turf/closed/wall, +/area/station/medical/chemistry) "dUu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -11966,22 +11890,22 @@ "dUx" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/science) +"dUD" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "dUM" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"dUX" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"dVe" = ( -/obj/effect/turf_decal/delivery/white, -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "dVk" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ @@ -11989,6 +11913,20 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) +"dVG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"dVS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark, +/area/station/commons/fitness/recreation) "dVT" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -12005,51 +11943,88 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/exit/departure_lounge) -"dWu" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, +"dWk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/engineering/main) +"dWs" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) +"dWI" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"dWL" = ( +/obj/machinery/computer/atmos_alert, +/turf/open/floor/iron, +/area/station/engineering/main) +"dWM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/sign/poster/official/ian/directional/east, /turf/open/floor/wood, -/area/station/command/meeting_room) +/area/station/command/heads_quarters/hop) "dWS" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/fore) +"dWY" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"dXa" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/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/hallway/primary/aft) "dXd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"dXi" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/station/service/library) -"dXF" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/secondary/exit/departure_lounge) -"dXL" = ( -/obj/effect/turf_decal/bot, -/obj/structure/cable, -/obj/structure/table, -/obj/item/electronics/airlock{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/electronics/airlock{ - pixel_x = -7; - pixel_y = 2 - }, -/obj/item/electronics/apc, -/obj/item/electronics/apc{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stock_parts/cell/high{ - pixel_x = 6; - pixel_y = 8 +"dXe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron, +/obj/machinery/light/directional/east, +/obj/structure/sign/flag/nanotrasen/directional/east, +/obj/machinery/suit_storage_unit/hos, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"dXH" = ( +/obj/effect/turf_decal/box, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/large, /area/station/engineering/main) +"dXI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "dXW" = ( /obj/effect/turf_decal/tile/purple/opposingcorners{ dir = 1 @@ -12071,12 +12046,31 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"dYd" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) "dYe" = ( /obj/item/radio/intercom/directional/south, /obj/machinery/recharge_station, /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dYi" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/corporate{ + id_tag = "bsq_to_cq"; + name = "Blueshield's Quarters to Captain's Quarters" + }, +/obj/effect/mapping_helpers/airlock/access/all/admin/general, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/blueshield) "dYt" = ( /turf/open/floor/engine, /area/station/science/xenobiology) @@ -12091,22 +12085,6 @@ dir = 5 }, /area/station/cargo/storage) -"dYz" = ( -/obj/structure/disposalpipe/segment{ - 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/table, -/obj/item/book/manual/wiki/engineering_guide{ - pixel_x = -7 - }, -/obj/item/book/manual/wiki/engineering_construction{ - pixel_x = 7 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "dYI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/red/filled/corner, @@ -12131,6 +12109,32 @@ }, /turf/open/floor/engine/o2, /area/station/engineering/atmos) +"dYW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/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/machinery/door/airlock/security/glass{ + name = "Security Post - Engineering" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured, +/area/station/security/checkpoint/engineering) +"dYX" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/ai/directional/south, +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/iron/large, +/area/station/engineering/gravity_generator) "dZe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12138,11 +12142,59 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"dZs" = ( -/obj/effect/turf_decal/tile/green/fourcorners, -/obj/structure/sign/poster/official/cohiba_robusto_ad/directional/south, +"dZj" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/structure/closet/secure_closet{ + req_access = list("security"); + name = "Ammo Locker - Non-lethal" + }, +/obj/item/storage/box/rubbershot{ + pixel_y = -3; + pixel_x = -3 + }, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/ammo_box/magazine/m35/rubber, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/ammo_box/magazine/m35/rubber, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/m35/rubber{ + pixel_x = 6; + pixel_y = 6 + }, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/ai_monitored/security/armory) "dZu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12154,14 +12206,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/service/hydroponics) -"dZz" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "dZE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12181,31 +12225,34 @@ dir = 4 }, /area/station/hallway/secondary/service) +"dZK" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/closet/wardrobe/mixed, +/turf/open/floor/iron/white, +/area/station/science/genetics/cloning) "dZM" = ( /turf/open/floor/engine/air, /area/station/engineering/atmos) -"dZU" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/janitor, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/janitor) +"dZS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "dZV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"dZW" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/bodycontainer/morgue, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "eaa" = ( /obj/machinery/duct, /turf/open/floor/carpet/red, @@ -12226,31 +12273,18 @@ /obj/structure/flora/bush/grassy/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) -"ean" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/north{ - name = "Reception" - }, -/obj/machinery/door/window/left/directional/south{ - name = "Robotics Desk"; - req_access = list("robotics") - }, -/obj/machinery/door/poddoor/shutters{ - id = "robotics_sci_shutters"; - name = "Robotics Shutters"; - dir = 1 - }, -/obj/structure/desk_bell{ - pixel_x = 7; - pixel_y = 7 - }, -/turf/open/floor/iron/textured, -/area/station/science/robotics/lab) +"eah" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/iron/checker, +/area/station/maintenance/port/fore) +"eak" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) +"eav" = ( +/turf/closed/wall, +/area/station/medical/exam_room) "eaw" = ( /obj/structure/sign/warning/biohazard/directional/east, /obj/effect/turf_decal/tile/neutral/anticorner, @@ -12265,27 +12299,12 @@ dir = 1 }, /area/station/command/gateway) -"eaC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - 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/cable/layer1, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Main SMES Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 +"eaB" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 }, -/turf/open/floor/iron/textured, -/area/station/engineering/engine_smes) +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "eaE" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -12303,20 +12322,21 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/grass, /area/station/service/hydroponics) -"eaS" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"eaT" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/computer/security{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"eaV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) +/obj/structure/liquid_barrier, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/science/xenobiology) "eaW" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -12324,11 +12344,6 @@ /obj/structure/bodycontainer/morgue, /turf/open/floor/iron/white, /area/station/security/medical) -"ebg" = ( -/obj/structure/chair/comfy/black, -/obj/effect/landmark/start/chief_medical_officer, -/turf/open/floor/wood, -/area/station/command/meeting_room) "ebp" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -12339,6 +12354,15 @@ /obj/structure/sign/poster/official/space_cops/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"ebt" = ( +/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/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "ebw" = ( /turf/closed/wall, /area/station/maintenance/department/security) @@ -12358,46 +12382,10 @@ /turf/open/floor/iron/dark, /area/station/maintenance/port/fore) "ebN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/structure/table/wood/fancy/royalblue, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) -"ebO" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) -"ebS" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/computer/atmos_control/oxygen_tank{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"ecf" = ( -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/no_smoking/directional/north, -/obj/structure/closet/radiation, -/turf/open/floor/iron, -/area/station/science/ordnance) -"ecg" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/computer/monitor{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/machinery/light/small/directional/north, +/obj/machinery/field/generator, +/turf/open/floor/plating, +/area/station/engineering/main) "ech" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -12406,47 +12394,35 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"ecm" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced, -/obj/item/multitool, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +"ect" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/maintenance/port) +"ecB" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"ecE" = ( +/obj/structure/closet, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "ecF" = ( /obj/structure/rack, /obj/item/storage/briefcase, /turf/open/floor/wood, /area/station/service/lawoffice) -"ecG" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/structure/table/reinforced/rglass, -/obj/item/emergency_bed{ - pixel_y = 14 - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"ecX" = ( -/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/machinery/atmospherics/pipe/smart/simple/orange/visible{ +"ecJ" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, -/turf/open/space/basic, -/area/space/nearstation) -"edc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "edD" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, @@ -12462,13 +12438,17 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"edH" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/computer/atmos_alert{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) +"edL" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"edN" = ( +/obj/machinery/shower/directional/east, +/obj/structure/drain, +/turf/open/floor/iron/textured_large, +/area/station/engineering/main) "edP" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -12490,20 +12470,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/service/chapel/office) -"edT" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 +"eec" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/corner, -/obj/machinery/camera/autoname/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"eeb" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/bot_assembly/floorbot, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/turf/open/floor/stone, +/area/station/smithing) "eed" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -12519,30 +12492,27 @@ /obj/effect/spawner/random/trash/food_packaging, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eeC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"eeM" = ( -/obj/machinery/button/door/directional/south{ - id = "dorm_6"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +"eev" = ( +/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/maintenance{ + name = "Library Maintenance" }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5; - pixel_y = -34 - }, -/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/catwalk_floor, +/area/station/service/library/lounge) +"eey" = ( +/obj/item/radio/intercom/directional/north, /obj/structure/cable, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/tcommsat/computer) "eeV" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/structure/closet/secure_closet/personal, @@ -12550,6 +12520,14 @@ dir = 1 }, /area/station/commons/locker) +"efg" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/machinery/shower/directional/east, +/obj/structure/drain, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/storage) "efo" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -12576,35 +12554,41 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"efB" = ( -/obj/item/radio/intercom/directional/east, +"efz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance Closet" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"efJ" = ( +/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, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"efL" = ( +/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 = 9 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "efQ" = ( /obj/machinery/light/directional/east, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"efW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"egs" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/closet/firecloset{ - anchored = 1 - }, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "egC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -12613,6 +12597,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"egE" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/camera/motion/directional/west{ + c_tag = "AI - Upload, West"; + network = list("aiupload"); + name = "ai camera" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "egK" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 1 @@ -12621,106 +12616,35 @@ dir = 1 }, /area/station/cargo/lobby) -"egM" = ( -/obj/machinery/door/window/left/directional/south{ - name = "Labor Camp Observation"; - req_access = list("security") - }, -/turf/open/floor/iron/dark, -/area/station/security/processing) -"egR" = ( -/obj/structure/chair/comfy/black, -/obj/effect/landmark/start/research_director, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"ehj" = ( -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/bar) -"ehk" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"ehq" = ( +"egS" = ( +/obj/machinery/light/small/broken/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/pill_bottle, +/obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/maintenance/port) "ehr" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"ehG" = ( -/obj/machinery/smartfridge/organ, -/turf/closed/wall, -/area/station/medical/surgery) -"eia" = ( -/obj/machinery/button/door/directional/east{ - id = "cap_bathroom"; - name = "Bathroom Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_y = 6 +"ehV" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/obj/machinery/shower/directional/north, -/obj/structure/drain, -/obj/item/soap/deluxe, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/captain/private) +/obj/structure/table/reinforced/rglass, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, +/obj/item/toy/figure/chemist{ + pixel_x = -10; + pixel_y = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "eib" = ( /obj/structure/cable, /obj/machinery/power/smes, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"eil" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/security/execution) -"ein" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"eiO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/white/textured, -/area/station/medical/office) -"eiY" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/upgraded, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "ejc" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/dark/visible, /obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{ @@ -12728,50 +12652,55 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"ejh" = ( -/obj/effect/turf_decal/bot, -/obj/structure/cable, -/turf/open/floor/iron/large, -/area/station/commons/storage/primary) -"ejt" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +"eji" = ( +/obj/machinery/status_display/supply{ + pixel_x = -32 }, -/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/checkpoint/customs/auxiliary) +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/stamp/head/qm{ + pixel_x = 8; + pixel_y = 12 + }, +/obj/item/stamp{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/stamp/denied{ + pixel_x = 8 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "ejv" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 +/obj/structure/table/wood, +/obj/machinery/cassette/adv_cassette_deck{ + pixel_y = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "ejw" = ( /obj/structure/table/wood, /obj/item/camera_film, /obj/item/camera, /turf/open/floor/wood, /area/station/security/prison/rec) -"ejD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, +"ejx" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) +"ejC" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, -/area/station/maintenance/port) -"ejE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/area/station/maintenance/starboard/aft) "ejK" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/camera/autoname/directional/east, @@ -12781,37 +12710,21 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron/white, /area/station/science/research) -"ekn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) -"ekx" = ( -/obj/effect/turf_decal/tile/neutral/half, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/command/nuke_storage) -"ekL" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ +"ekk" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/iron/dark/side{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/service/hydroponics) +"eky" = ( +/obj/structure/table/reinforced, +/obj/item/paper/monitorkey, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "ell" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -12824,33 +12737,39 @@ /obj/machinery/syndicatebomb/training, /turf/open/floor/iron/dark, /area/station/security/office) -"elt" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"elu" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ +"eln" = ( +/obj/effect/turf_decal/tile/neutral/half, +/obj/effect/turf_decal/tile/neutral/half{ dir = 1 }, -/obj/machinery/newscaster/directional/south, -/obj/machinery/computer/security{ - dir = 1 +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/smooth_half, +/area/station/command/gateway) +"elI" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"elJ" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"elX" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"emb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/office) -"elS" = ( /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_corner, -/area/station/service/chapel) -"emc" = ( -/obj/structure/cable, -/obj/machinery/netpod, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/security/bitden) +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) "emg" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron/dark/side{ @@ -12868,6 +12787,29 @@ }, /turf/open/floor/iron/large, /area/station/science/robotics/mechbay) +"emB" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"emD" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/structure/bed/pod{ + desc = "An old medical bed, just waiting for replacement with something up to date."; + name = "medical bed"; + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "emI" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -12876,6 +12818,9 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"emK" = ( +/turf/closed/wall, +/area/station/commons/dorms/room3) "emS" = ( /obj/effect/turf_decal/bot_white, /obj/machinery/light_switch/directional/west, @@ -12888,11 +12833,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"emZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/medical/psychology) "enc" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -12909,39 +12849,25 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution) -"enx" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/status_display/ai/directional/west, -/obj/structure/table, -/obj/item/storage/medkit/regular, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/commons/storage/primary) -"enB" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, +"eny" = ( +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"enz" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4, +/obj/machinery/meter/layer4, /turf/open/floor/iron/dark, -/area/station/hallway/primary/port) +/area/station/engineering/atmos) "enD" = ( /obj/machinery/airalarm/directional/west, /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"enE" = ( -/obj/machinery/light/directional/east, -/obj/machinery/computer/atmos_control/nocontrol/incinerator{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal/incinerator) +"enK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "enT" = ( /obj/structure/tank_dispenser, /turf/open/floor/iron, @@ -12954,18 +12880,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"eoo" = ( -/obj/machinery/light/directional/north, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/prison/visit) -"eop" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/table, -/obj/item/storage/box/lights/mixed, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "eot" = ( /obj/machinery/light/small/directional/south, /obj/structure/sign/poster/random/directional/south, @@ -12973,6 +12887,12 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron, /area/station/maintenance/disposal) +"eoz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/locker) "eoA" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 6 @@ -12994,88 +12914,111 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/science/robotics/lab) -"eoJ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ - dir = 4 +"eoK" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) +"eoR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"eoS" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/machinery/keycard_auth/directional/east, +/obj/structure/bed/dogbed/lia, +/mob/living/basic/carp/pet/lia, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"eoZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "library_desk_shutters"; + name = "Library Desk Shutters"; + dir = 1 + }, +/obj/machinery/libraryscanner, +/turf/open/floor/iron/dark/textured, +/area/station/service/library/printer) "epc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/box, /turf/open/floor/plating, /area/station/maintenance/port) +"epi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "epk" = ( /turf/open/floor/iron/dark/side, /area/station/commons/locker) +"epm" = ( +/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, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "epA" = ( /obj/effect/spawner/random/structure/musician/piano/random_piano, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"epO" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - location = "QM #5" +"epG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark/side{ +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) +"epQ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/area/station/cargo/storage) -"epW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair/plastic{ - dir = 1 +/obj/machinery/button/door/directional/south{ + id = "eva_shutters"; + name = "EVA Storage Shutters Control"; + req_access = list("command"); + pixel_x = -7 }, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"eqa" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_y = 6 }, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) -"eqe" = ( -/obj/machinery/light/directional/north, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/wood, -/area/station/service/library) +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/emergency{ + pixel_y = -6 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "eqm" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) "eqx" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"eqJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, +/obj/effect/turf_decal/trimline/green/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/catwalk_floor, -/area/station/maintenance/starboard/fore) +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"eqC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/storage_shared) "eqS" = ( /obj/machinery/light/directional/north, /obj/structure/sign/poster/official/no_erp/directional/north, @@ -13083,21 +13026,24 @@ dir = 1 }, /area/station/commons/dorms) -"erd" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/security/prison/safe) -"eri" = ( -/obj/structure/cable, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/iron/dark, -/area/station/security/office) +"erk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/abandoned_gambling_den) +"erz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Maintenance - Science Pass-through, Artifact Lab"; + name = "maintenance camera"; + network = list("ss13","rd") + }, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "erA" = ( /obj/effect/turf_decal/bot, /obj/structure/window/reinforced/spawner/directional/north, @@ -13105,12 +13051,6 @@ /obj/machinery/flasher/portable, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/security/armory) -"erB" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) "erC" = ( /obj/item/stack/spacecash/c1000{ pixel_y = 11; @@ -13120,11 +13060,6 @@ }, /turf/open/floor/eighties/red, /area/station/service/theater) -"erQ" = ( -/obj/structure/table, -/obj/item/paper_bin, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "erS" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -13132,6 +13067,29 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"erV" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"erX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) +"esa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"esq" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Service - Library, Printer Room"; + name = "service camera" + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "esr" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/effect/turf_decal/trimline/blue/warning{ @@ -13142,14 +13100,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"esy" = ( -/obj/structure/chair/sofa/left/maroon{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/commons/fitness) "esS" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -13169,56 +13119,14 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"esU" = ( -/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/atmos/storage) -"etg" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"etp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +"etv" = ( /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/maintenance{ - name = "Cargo Security Post Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/plating, -/area/station/security/checkpoint/supply) -"ett" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/obj/machinery/newscaster/directional/east, -/obj/structure/table/wood, -/obj/item/toy/plush/moth{ - name = "Dr. Moff" - }, -/obj/item/toy/figure/psychologist{ - pixel_x = 9; - pixel_y = -9 - }, +/obj/structure/chair/wood, +/obj/effect/landmark/start/assistant, /turf/open/floor/wood, -/area/station/medical/psychology) +/area/station/service/library/lounge) "etx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13229,6 +13137,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"etz" = ( +/obj/machinery/newscaster/directional/north, +/obj/machinery/light/small/directional/north, +/obj/structure/table/reinforced, +/obj/item/storage/belt/utility, +/obj/item/clothing/glasses/welding, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "etC" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -13241,26 +13157,10 @@ dir = 1 }, /area/station/service/hydroponics/garden) -"etJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/vending/wallmed/directional/west, -/obj/structure/table/reinforced/rglass, -/obj/item/wrench/medical, -/obj/item/tank/internals/anesthetic, -/obj/item/tank/internals/anesthetic{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/surgical, -/turf/open/floor/iron/white, -/area/station/medical/surgery) "etV" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/closet/secure_closet/freezer/meat, +/obj/machinery/chem_master/condimaster{ + name = "CondiMaster Neo" + }, /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) "etW" = ( @@ -13275,23 +13175,53 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"euj" = ( -/obj/machinery/telecomms/processor/preset_three, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) +"eud" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "MiniSat Pod Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/minisat, +/obj/effect/landmark/navigate_destination/minisat_access_ai, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/transit_tube) "euq" = ( /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/eva) +"euu" = ( +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"euz" = ( +/obj/effect/turf_decal/bot_red, +/obj/structure/cable, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/command/storage/eva) "euC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/end{ +/obj/effect/turf_decal/siding/thinplating{ dir = 4 }, +/obj/structure/chair/sofa/bench{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"euI" = ( +/obj/effect/turf_decal/box, /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/storage/tech) +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/commons/fitness/recreation) "euK" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -13299,15 +13229,16 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"euP" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/ordnance{ +"euW" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "euX" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -13353,20 +13284,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/visit) -"evq" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"evs" = ( -/obj/machinery/light/broken/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/table, -/obj/item/taperecorder, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "evt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/frame/machine, @@ -13379,26 +13296,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, /turf/open/floor/engine, /area/station/security/execution) +"evv" = ( +/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/virology) +"evw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/cell_charger, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "evx" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"evA" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/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, -/area/station/command/teleporter) "evD" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -13407,10 +13321,62 @@ /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"evE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"evI" = ( +/obj/structure/disposalpipe/segment{ + 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/dark, +/area/station/medical/paramedic) "evJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"evS" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/pen{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/station/service/library) +"ewg" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Central Hallway East - Teleporter Access"; + name = "hallway camera" + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"ewo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/structure/table/wood/fancy/royalblue, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) "ewB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13420,22 +13386,23 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"ewG" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 8 +"ewI" = ( +/obj/machinery/suit_storage_unit/security, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"ewL" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/chair/office/light{ +/obj/structure/table/wood, +/obj/machinery/door/poddoor/shutters{ + id = "maint_bar_shutters"; + name = "Bar Shutters"; dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/science/server) -"ewK" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) "ewM" = ( /obj/machinery/camera/directional/north{ c_tag = "Science - Artifact Lab, Test Chamber"; @@ -13444,15 +13411,41 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"ewP" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"exa" = ( -/obj/machinery/shower/directional/north, -/obj/structure/drain, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/exam_room) +"ewX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/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/machinery/door/airlock/command/glass{ + name = "Head of Personnel's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/hop, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/hop) +"exb" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"exc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "exf" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -13478,25 +13471,11 @@ /obj/effect/spawner/random/maintenance/five, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"exk" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/button/door/directional/east{ - id = "qm_warehouse"; - name = "Warehouse Shutters Control"; - req_access = list("cargo") - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/cargo/storage) -"exq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/abandoned_gambling_den) +"exp" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/wood, +/turf/open/floor/wood, +/area/station/security/detectives_office) "ext" = ( /obj/machinery/conveyor_switch/oneway{ dir = 8; @@ -13505,6 +13484,27 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"exF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/structure/table, +/obj/item/radio/off{ + pixel_y = 6 + }, +/obj/item/radio/off{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/radio/off{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/radio/off, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/engineering/storage_shared) "exG" = ( /obj/structure/hoop{ dir = 4 @@ -13513,17 +13513,10 @@ dir = 8 }, /area/station/security/prison/workout) -"exO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +"exK" = ( /obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port) +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "exU" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 @@ -13545,14 +13538,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"eyp" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "eyt" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -13568,30 +13553,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"eyN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"eyU" = ( -/obj/effect/turf_decal/tile/yellow{ +"eyu" = ( +/obj/machinery/telecomms/broadcaster/preset_left, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms, +/area/station/tcommsat/server) +"eyD" = ( +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"eyJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) +"eyV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/tcommsat/computer) +/turf/open/floor/iron/white, +/area/station/medical/break_room) "ezd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -13609,24 +13592,48 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal) -"ezP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"ezA" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/newscaster/directional/north, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/upgraded, +/obj/item/toy/figure/assistant{ + pixel_x = 7; + pixel_y = 11 }, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) -"ezR" = ( -/obj/structure/disposalpipe/segment{ +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) +"ezG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/line, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/primary/aft) +"ezU" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/motion/directional/west{ + c_tag = "AI - Upload Access"; + network = list("ss13","aiupload"); + name = "ai camera" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/box, +/obj/machinery/holopad, /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "ezY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -13635,16 +13642,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/side, /area/station/commons/locker) -"ezZ" = ( -/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/maintenance{ - name = "Funeral Parlor Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/chapel/funeral) "eAg" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -13656,32 +13653,84 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"eAp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/office{ - dir = 4 +"eAm" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/closet{ + name = "Evidence Closet" }, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) -"eAu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/service/library) -"eAS" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/area/station/security/evidence) +"eAx" = ( +/obj/structure/cable, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"eAL" = ( +/obj/structure/table/reinforced, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/north{ + name = "Brig Entrance Desk"; + req_access = list("security") }, -/obj/machinery/conveyor{ - id = "package_sort_2" +/obj/machinery/door/window/left/directional/south{ + name = "Brig Entrance Desk" }, -/obj/structure/plasticflaps, -/turf/open/floor/iron/dark, -/area/station/cargo/sorting) -"eBg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/machinery/door/poddoor/shutters{ + id = "brig_post"; + name = "Security Shutters" }, -/turf/open/floor/iron/dark, +/obj/structure/desk_bell{ + pixel_y = 2; + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/station/security/brig/entrance) +"eAQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/engineering/break_room) +"eAS" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/conveyor{ + id = "package_sort_2" + }, +/obj/structure/plasticflaps, +/turf/open/floor/iron/dark, +/area/station/cargo/sorting) +"eBa" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/requests_console/directional/north{ + anon_tips_receiver = 1; + assistance_requestable = 1; + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/machinery/computer/records/security{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) +"eBg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, /area/station/hallway/primary/fore) "eBj" = ( /obj/structure/flora/rock/style_random, @@ -13693,44 +13742,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eBn" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/closet/secure_closet{ - req_access = list("bar"); - name = "Gun Locker" +"eBt" = ( +/obj/structure/noticeboard/directional/north, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/effect/spawner/random/bureaucracy/folder{ + pixel_y = 6 + }, +/obj/effect/spawner/random/bureaucracy/pen{ + pixel_y = 5 }, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/beanbag, -/obj/item/gun/ballistic/shotgun/doublebarrel, /turf/open/floor/wood, -/area/station/service/bar/backroom) -"eBs" = ( -/obj/effect/spawner/random/trash/box, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/service/chapel/funeral) "eBw" = ( /obj/structure/bed, /obj/item/bedsheet/dorms, /obj/effect/landmark/start/prisoner, /turf/open/floor/wood/tile, /area/station/security/prison/safe) -"eBD" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/obj/machinery/status_display/evac/directional/west, -/obj/structure/closet/crate/trashcart/laundry, -/obj/item/clothing/under/color/random, -/obj/item/clothing/under/color/random, -/obj/item/clothing/under/color/random, -/obj/item/clothing/under/color/random, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) "eBF" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 8 @@ -13744,34 +13773,18 @@ /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) "eBP" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/structure/chair{ +/obj/machinery/atmospherics/components/binary/valve/digital/on{ + name = "Waste Release"; dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "eBQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/defibrillator_mount/directional/south, -/obj/structure/table/optable, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"eBR" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Security - Post, Cargo"; - name = "security camera" - }, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/red, -/obj/item/pen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) +/area/station/security/execution) "eBU" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -13795,32 +13808,56 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"eCg" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "eCu" = ( /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/service/chapel/funeral) -"eCG" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"eCB" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/structure/cable, -/obj/machinery/door/window/left/directional/south, -/turf/open/floor/iron/dark/textured, +/turf/open/floor/iron/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) +"eCO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = -5; + pixel_y = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"eCR" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) +"eDm" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"eDn" = ( +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"eCJ" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/security/prison/work) -"eDg" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/machinery/shower/directional/east, -/turf/open/floor/iron/showroomfloor, -/area/station/science/xenobiology/hallway) +"eDC" = ( +/turf/closed/wall, +/area/station/medical/patients_rooms/room_b) "eDD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, @@ -13838,14 +13875,49 @@ dir = 1 }, /area/station/commons/dorms) -"eED" = ( -/obj/machinery/light/directional/west, +"eDX" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"eEx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"eEP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/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, /obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/storage_shared) +"eEV" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/customs/auxiliary) +"eEY" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/carpet/green, +/area/station/service/abandoned_gambling_den) "eFe" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -13865,29 +13937,33 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"eFs" = ( +"eFw" = ( /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, /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/command/bridge) +"eFE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/area/station/maintenance/starboard/fore) "eFJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 +/obj/machinery/camera/directional/north{ + c_tag = "Medical - Chemistry Factory, North"; + name = "medical camera"; + network = list("ss13","medbay") }, /obj/machinery/button/door/directional/north{ - id = "med_priv_2"; - name = "Privacy Shutters Control" - }, -/obj/structure/chair/office{ - dir = 8 + id = "chem_factory_shutters"; + req_access = list("pharmacy") }, -/obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) +/area/station/medical/chemistry) "eFM" = ( /obj/effect/turf_decal/tile/neutral/anticorner, /obj/effect/turf_decal/tile/neutral{ @@ -13899,32 +13975,16 @@ }, /area/station/engineering/gravity_generator) "eFO" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/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, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) "eFV" = ( /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, /area/station/science/ordnance/office) -"eFX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) "eGa" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -13939,6 +13999,11 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/work) +"eGb" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "eGm" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 @@ -13956,43 +14021,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"eGw" = ( -/turf/open/floor/plating, -/area/station/maintenance/central) -"eGD" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/station/service/library) -"eGI" = ( -/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 = 9 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"eGM" = ( -/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 = 10 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"eGN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/engineering/break_room) "eGT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14001,10 +14029,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eGV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +"eGU" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/station_map/directional/north, +/turf/open/floor/iron/white, +/area/station/science/research) "eGX" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -14013,52 +14044,40 @@ /obj/machinery/recharger, /turf/open/floor/iron, /area/station/command/gateway) -"eHe" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Chief Engineer's Office"; - name = "engineering camera" - }, -/obj/machinery/keycard_auth/directional/north{ - pixel_y = 34 - }, -/obj/machinery/button/door/directional/north{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_x = 11 +"eHl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/button/door/directional/north{ - id = "engineering"; - name = "Engineering Lockdown"; - pixel_x = -11 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/button/door/directional/north{ - id = "secure_storage"; - name = "Engineering Secure Storage" +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Courtroom" }, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/iron/dark/side{ +/obj/effect/landmark/navigate_destination/court, +/turf/open/floor/iron/dark/textured, +/area/station/security/courtroom) +"eHx" = ( +/turf/open/floor/iron/dark/corner{ dir = 1 }, -/area/station/command/heads_quarters/ce) -"eHi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"eHm" = ( +/area/station/hallway/secondary/exit/departure_lounge) +"eHL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /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/vaporwave, -/area/station/service/library/printer) -"eHO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"eHQ" = ( +/obj/effect/turf_decal/bot_red, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/large, +/area/station/ai_monitored/command/storage/eva) "eIw" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -14067,23 +14086,9 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "eIy" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/structure/sign/poster/official/random/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/medical/paramedic) -"eIJ" = ( -/obj/machinery/status_display/evac/directional/east, -/obj/structure/filingcabinet, -/turf/open/floor/iron/dark, -/area/station/security/prison/visit) +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) "eIW" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/machinery/status_display/evac/directional/east, @@ -14099,28 +14104,27 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) -"eJk" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"eJo" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/central) -"eJp" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "eJq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"eJr" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 4 + }, +/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/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "eJt" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 4 @@ -14130,23 +14134,11 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"eJA" = ( -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) -"eJD" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/hallway/primary/central) -"eJG" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/washing_machine, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) +"eKb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "eKm" = ( /obj/machinery/atmospherics/miner/oxygen, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -14161,36 +14153,66 @@ /obj/item/storage/box/emptysandbags, /turf/open/floor/iron, /area/station/command/gateway) -"eKr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"eKz" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/cup/glass/coffee/no_lid{ + pixel_x = 7; + pixel_y = 9 + }, +/obj/item/reagent_containers/cup/glass/coffee/no_lid{ + pixel_x = -7; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"eKH" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, +/obj/effect/turf_decal/bot, /obj/machinery/light/small/directional/west, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron, -/area/station/engineering/storage) -"eKx" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ +/obj/machinery/camera/directional/west{ + c_tag = "Security - Brig Equipment Room"; + name = "security camera" + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/closet/bombcloset/security, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"eKK" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"eKO" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ dir = 8 }, -/obj/effect/turf_decal/trimline/blue/warning{ +/obj/effect/turf_decal/siding/wideplating_new/dark/corner, +/obj/machinery/light/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"eKQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/trunk{ dir = 4 }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) +"eKW" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/machinery/duct, /turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"eKA" = ( -/obj/machinery/telecomms/server/presets/command, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"eKK" = ( -/obj/machinery/atmospherics/components/tank/air{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/area/station/medical/break_room) "eKY" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -14204,75 +14226,33 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "eLl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Chief Medical Officer's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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, -/area/station/command/heads_quarters/cmo) -"eLo" = ( -/obj/machinery/light/floor/has_bulb, -/obj/machinery/duct, -/turf/open/floor/plastic, -/area/station/security/prison/safe) -"eLy" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_y = 10 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 4 - }, -/obj/item/storage/belt/utility, -/obj/item/flashlight, -/obj/item/clothing/glasses/meson/engine{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/item/pipe_dispenser, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/storage_shared) -"eLA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/poddoor/preopen{ - id = "execution_fireblast" - }, -/obj/machinery/door/airlock/security/glass{ - name = "Justice Chamber Interior" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/security/execution) -"eMb" = ( +/obj/machinery/light/small/built/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"eLm" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/secure_area/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/photosynthetic, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) +"eLo" = ( +/obj/machinery/light/floor/has_bulb, +/obj/machinery/duct, +/turf/open/floor/plastic, +/area/station/security/prison/safe) +"eLB" = ( +/obj/effect/turf_decal/bot_white, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) +"eMb" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -14289,12 +14269,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/evidence) -"eMc" = ( -/obj/effect/turf_decal/tile/purple/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/duct, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/breakroom) "eMh" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 5 @@ -14303,6 +14277,21 @@ dir = 5 }, /area/station/cargo/storage) +"eMi" = ( +/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, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"eMn" = ( +/obj/structure/chair/pew/left{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "eMz" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/trinary/filter{ @@ -14310,6 +14299,22 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) +"eMF" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/station_map/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"eMG" = ( +/obj/effect/turf_decal/caution/red{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "eMH" = ( /obj/structure/flora/bush/grassy/style_random, /obj/structure/flora/bush/lavendergrass/style_random, @@ -14318,37 +14323,26 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/grass, /area/station/ai_monitored/security/armory) -"eMR" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 +"eMJ" = ( +/obj/effect/turf_decal/stripes/line{ + 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/security/processing) -"eNi" = ( +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"eNj" = ( +/obj/effect/turf_decal/siding/wood{ + 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/dark, -/area/station/tcommsat/computer) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) "eNs" = ( /turf/closed/wall, /area/station/hallway/primary/central) -"eNx" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) "eNC" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -14395,9 +14389,11 @@ dir = 8 }, /area/station/cargo/storage) -"eOe" = ( -/turf/open/floor/iron, -/area/station/engineering/engine_smes) +"eOn" = ( +/obj/structure/sign/poster/random/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "eOt" = ( /obj/effect/turf_decal/trimline/neutral/warning, /obj/effect/turf_decal/trimline/neutral/filled/warning{ @@ -14421,50 +14417,30 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"eOV" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, +"eOU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"eOZ" = ( -/obj/structure/sink/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8 }, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/virology) -"ePa" = ( -/obj/structure/closet/secure_closet/psychology, -/turf/open/floor/wood, -/area/station/medical/psychology) -"ePb" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/trash/garbage, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) +"eOZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, /turf/open/floor/plating, -/area/station/maintenance/department/cargo) -"ePf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/depsec/medical, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) +/area/station/maintenance/starboard/aft) +"ePe" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "ePr" = ( /obj/machinery/suit_storage_unit/standard_unit, /turf/open/floor/iron/white/textured, /area/station/science/auxlab) -"ePv" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/security/prison/rec) "ePw" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -14473,25 +14449,29 @@ /obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"ePQ" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/bed/dogbed, -/mob/living/basic/pet/dog/bullterrier{ - name = "Walter"; - real_name = "Walter"; - desc = "It's Walter!" - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"ePX" = ( -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/service/janitor) -"ePY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +"ePR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) +"ePW" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/obj/item/food/grown/banana, +/turf/open/floor/grass, +/area/station/medical/virology) +"eQa" = ( +/obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/aft) +/area/station/engineering/storage_shared) +"eQg" = ( +/obj/machinery/light/directional/south, +/obj/structure/sign/poster/contraband/missing_gloves/directional/east, +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "eQj" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -14501,61 +14481,27 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"eQk" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"eQs" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/bookcase{ - name = "Forbidden Knowledge" - }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"eQv" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/structure/crate, +"eQr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"eQw" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/area/station/science/robotics/mechbay) +"eQF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/south{ - name = "Kitchen and Bar"; - req_access = list("bar") - }, -/obj/machinery/door/window/left/directional/north{ - name = "Kitchen and Bar"; - req_access = list("kitchen") - }, -/obj/machinery/door/poddoor/shutters{ - id = "kitchen_sec_shutters"; - name = "Kitchen Shutters" +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/kitchen) +/turf/open/floor/iron, +/area/station/engineering/storage) "eQI" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 8 }, /turf/open/floor/engine, /area/station/science/ordnance/freezerchamber) -"eQN" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/camera/directional/east{ - c_tag = "Medical - Office"; - network = list("ss13","medbay"); - name = "medical camera" - }, -/obj/structure/closet/secure_closet/medical3, -/obj/item/wrench/medical, -/turf/open/floor/iron/white, -/area/station/medical/office) "eQO" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -14563,80 +14509,44 @@ /obj/structure/table/wood, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"eRo" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Medical - Exam Room, West"; - network = list("ss13","medbay"); - name = "medical camera" - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/computer/operating{ - dir = 8 - }, +"eQZ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/closet/secure_closet/medical3, +/obj/item/wrench/medical, /turf/open/floor/iron/white, -/area/station/medical/exam_room) -"eRr" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +/area/station/medical/office) +"eRI" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 }, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/command/heads_quarters/ce) -"eRL" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"eRQ" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/status_display/ai/directional/north, -/obj/structure/rack, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = 3 - }, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = -3 + dir = 4 }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +/area/station/cargo/sorting) "eRV" = ( /obj/effect/turf_decal/trimline/purple/filled/warning, /turf/open/floor/iron/white, /area/station/science/genetics) -"eRY" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) "eSd" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"eSr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"eSC" = ( -/obj/effect/turf_decal/delivery/white, -/obj/structure/closet/crate/freezer, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"eSE" = ( -/obj/machinery/atmospherics/components/tank, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"eSg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"eSB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/computer/security{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "eSL" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -14659,18 +14569,50 @@ /obj/structure/chair, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"eST" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/clothing/mask/breath, +/obj/item/multitool{ + pixel_x = 6 + }, +/obj/item/t_scanner{ + pixel_x = -6 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/atmos/office) "eSX" = ( /obj/machinery/light/small/directional/east, /obj/machinery/duct, /obj/effect/landmark/start/hangover, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"eSY" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/emergency, +/obj/item/crowbar/large, +/obj/item/radio, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) +"eTb" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/enzyme, +/obj/item/kitchen/rollingpin, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eTg" = ( -/obj/structure/closet/toolcloset, -/turf/open/floor/iron/dark/side{ - dir = 6 +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 }, -/area/station/engineering/atmos/office) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "eTq" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -14684,20 +14626,14 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"eTx" = ( -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) -"eTA" = ( -/obj/machinery/light/small/directional/east, -/mob/living/carbon/human/species/monkey, -/turf/open/floor/grass, -/area/station/medical/virology) +"eTD" = ( +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/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/large, +/area/station/cargo/miningoffice) "eTG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14708,6 +14644,11 @@ /obj/effect/mapping_helpers/mail_sorting/supply/qm_office, /turf/open/floor/iron, /area/station/cargo/storage) +"eTM" = ( +/obj/structure/table, +/obj/effect/spawner/random/bureaucracy/pen, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eTW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, @@ -14721,14 +14662,12 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"eUa" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"eUq" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 }, -/obj/structure/cable, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "eUr" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14737,14 +14676,10 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) "eUz" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "eUB" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -14773,44 +14708,57 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"eUJ" = ( +/obj/machinery/light/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/prison/visit) "eUK" = ( /obj/machinery/light/small/directional/north, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"eUO" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/machinery/station_map/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "eUW" = ( /turf/open/floor/wood, /area/station/service/chapel/funeral) +"eVd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/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/maintenance{ + name = "Hydroponics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/service/hydroponics) "eVi" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"eVz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +"eVA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, -/area/station/maintenance/port) +/area/station/maintenance/department/engine) "eVB" = ( /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) +"eVE" = ( +/turf/closed/wall, +/area/station/medical/cryo) "eVF" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -14822,20 +14770,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/aft) -"eVJ" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"eVT" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/station/maintenance/department/security/brig) "eVZ" = ( /obj/effect/turf_decal/tile/green, /obj/structure/table, @@ -14855,12 +14789,27 @@ dir = 9 }, /area/station/service/hydroponics) -"eWd" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/item/kirbyplants/photosynthetic, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +"eWb" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) +"eWe" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/engineering/storage) +"eWh" = ( +/obj/machinery/light/small/directional/south, +/obj/vehicle/sealed/mecha/working/ripley/cargo, +/turf/open/floor/iron/recharge_floor, +/area/station/cargo/warehouse) "eWs" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -14900,55 +14849,120 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"eWx" = ( +"eWz" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 + dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 4 +/obj/machinery/light/small/directional/west, +/obj/structure/table, +/obj/item/clothing/suit/hazardvest{ + pixel_x = 3; + pixel_y = 3 }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 10 +/obj/item/clothing/suit/hazardvest{ + pixel_x = 3 }, -/area/station/hallway/primary/aft) -"eWG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/item/clothing/mask/gas{ + pixel_y = -3; + pixel_x = -6 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/item/clothing/mask/gas{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/item/tank/internals/oxygen/yellow{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_y = 3 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 3 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/storage_shared) +"eWC" = ( +/obj/machinery/light_switch/directional/south{ + pixel_x = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) +"eWG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) +"eWM" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + 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/chair/sofa/bench/left, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "eWP" = ( /obj/structure/cable, /obj/structure/table, /turf/open/floor/iron/dark, /area/station/security/prison) -"eXJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"eXL" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/cable, -/obj/machinery/door/window/brigdoor/left/directional/south{ - name = "Command Desk"; - req_access = list("command") +"eXd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 4 }, /turf/open/floor/iron/dark, -/area/station/command/bridge) -"eXV" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port) -"eYv" = ( -/turf/closed/wall, -/area/station/asteroid) +/area/station/engineering/atmos) +"eXs" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/processor, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"eXv" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"eXN" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/atmos/glass{ + name = "Turbine Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos) +"eYq" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "eYI" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/light/small/directional/south, @@ -14960,6 +14974,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/holding_cell) +"eYS" = ( +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"eYU" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "eYX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -14974,18 +14999,6 @@ /obj/structure/chair, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"eZq" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/cable, -/obj/machinery/computer/crew{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/warden) "eZG" = ( /turf/closed/wall/r_wall, /area/station/engineering/gravity_generator) @@ -14998,15 +15011,33 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/prison/workout) -"eZS" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"fai" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, -/obj/machinery/iv_drip, /turf/open/floor/iron/white, -/area/station/medical/surgery) +/area/station/medical/patients_rooms/room_a) +"fam" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"fas" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/chair/office/light{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/gateway) "faw" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/west, @@ -15015,98 +15046,69 @@ /obj/item/assembly/shock_kit, /turf/open/floor/iron/dark, /area/station/security/execution) -"fay" = ( +"faQ" = ( +/obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, /obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) -"faC" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/treatment_center) +"fbe" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 }, -/obj/effect/turf_decal/trimline/blue/warning, -/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/white, -/area/station/medical/medbay/central) -"faD" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 +/obj/structure/chair/sofa/bench/right{ + dir = 8 }, -/obj/machinery/firealarm/directional/north, +/obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"fbk" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ +"fbn" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"fbw" = ( -/obj/structure/table, -/obj/item/toy/figure/qm, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) -"fbx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/miningoffice) -"fby" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/computer/exoscanner_control, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"fbE" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) -"fbG" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/exam_room) -"fbT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 +/area/station/security/interrogation) +"fbq" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Cargo - Mining Office"; + name = "cargo camera" }, +/obj/machinery/airalarm/directional/north, /obj/structure/table, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = -9; - pixel_y = 18 +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_y = 18 +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 9; - pixel_y = 18 +/area/station/cargo/miningoffice) +"fbF" = ( +/obj/machinery/shower/directional/east, +/obj/structure/drain, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/storage) +"fbH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"fbW" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron/dark/side{ - dir = 6 +/obj/structure/sign/directions/cryo/directional/north{ + pixel_y = 23 }, -/area/station/engineering/storage_shared) +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "fce" = ( /obj/effect/turf_decal/tile/neutral/anticorner{ dir = 8 @@ -15120,12 +15122,21 @@ }, /area/station/command/gateway) "fch" = ( -/obj/machinery/light/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/biogenerator, +/obj/structure/table, +/obj/item/shovel/spade, +/obj/item/plant_analyzer, +/obj/item/cultivator, +/obj/item/reagent_containers/cup/watering_can, /turf/open/floor/iron/dark, /area/station/security/prison/garden) +"fcj" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/railing, +/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) "fck" = ( /obj/structure/table, /obj/item/analysis_bin, @@ -15141,40 +15152,26 @@ /obj/effect/landmark/start/research_director, /turf/open/floor/iron/vaporwave, /area/station/command/heads_quarters/rd) -"fcr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) -"fcR" = ( +"fcx" = ( +/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, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/aft) -"fdb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 6 +/obj/machinery/door/airlock/atmos{ + name = "Turbine Access" }, -/area/station/hallway/primary/aft) +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/effect/landmark/navigate_destination/incinerator, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/disposal/incinerator) +"fcL" = ( +/obj/structure/table, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"fcO" = ( +/turf/open/floor/iron, +/area/station/engineering/engine_smes) "fde" = ( /obj/structure/chair{ dir = 8 @@ -15182,79 +15179,98 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white, /area/station/science/circuits) +"fdf" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/table/wood/fancy/black, +/obj/item/book/granter/action/spell/smoke/lesser{ + name = "mysterious old book of cloud-chasing" + }, +/obj/item/reagent_containers/cup/glass/bottle/holywater{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/nullrod{ + pixel_x = 4 + }, +/obj/item/organ/internal/heart, +/obj/item/soulstone/anybody/chaplain, +/turf/open/floor/iron/dark, +/area/station/service/chapel/office) "fdt" = ( /obj/structure/lattice, /obj/structure/grille, /turf/open/space, /area/space/nearstation) -"fdz" = ( -/obj/machinery/light/built/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"fdI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 +"fdx" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/computer/message_monitor{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/turf/open/floor/iron/dark, +/area/station/command/bridge) "fdO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/food_packaging, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"fdQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/duct, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Closet" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) +"fdR" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/airalarm/directional/south, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/t_scanner, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) "fdT" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating/airless, /area/station/engineering/atmos) +"fdX" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/wood, +/area/station/service/library/private) "fec" = ( /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"fei" = ( -/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/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/hallway/primary/aft) -"fek" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 +"fej" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 }, -/obj/structure/closet/secure_closet/chemical, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/table, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/item/crowbar/red, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/mousetraps, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/restraints/legcuffs/beartrap, +/turf/open/floor/iron/dark, +/area/station/service/janitor) +"fem" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/closet/l3closet/scientist, +/turf/open/floor/iron/dark/textured, +/area/station/command/gateway) "fep" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/medical/cryo) +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "feq" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -15263,13 +15279,20 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"feD" = ( -/obj/structure/closet/wardrobe/green, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark/side{ - dir = 1 +"feu" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/sign/plaques/kiddie/library{ + pixel_y = -32 }, -/area/station/commons/locker) +/turf/open/floor/wood, +/area/station/service/library) +"fev" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/dark/side, +/area/station/security/prison/workout) "feW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, @@ -15289,6 +15312,27 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ffc" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/records/medical{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) +"ffg" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/main) +"ffh" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/disease2/incubator, +/turf/open/floor/iron/white, +/area/station/medical/virology) "ffw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -15312,35 +15356,36 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ffH" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/status_display/evac/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 8 +"ffC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 5 }, -/area/station/cargo/storage) -"ffI" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"ffL" = ( +/obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"fge" = ( -/obj/machinery/light/directional/east, -/obj/machinery/status_display/ai/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, /turf/open/floor/iron/white, -/area/station/medical/chemistry) +/area/station/medical/virology) "fgj" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/freezerchamber) +"fgo" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "fgv" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ @@ -15348,16 +15393,17 @@ }, /turf/open/space/basic, /area/space/nearstation) -"fgw" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/firealarm/directional/east, -/obj/structure/chair{ - dir = 8 +"fgA" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 }, -/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +/area/station/engineering/transit_tube) "fgC" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -15376,43 +15422,20 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"fgD" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark, -/area/station/service/janitor) -"fgE" = ( -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"fgR" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"fgW" = ( -/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 = 6 +"fgI" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/crew, +/turf/open/floor/iron, +/area/station/medical/paramedic) +"fgW" = ( +/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 = 6 }, /turf/open/floor/iron, /area/station/cargo/office) -"fhd" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "fhe" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, @@ -15428,55 +15451,46 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"fhw" = ( -/obj/effect/turf_decal/stripes/line, +"fhy" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/effect/turf_decal/stripes/line, /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/machinery/door/airlock/security/glass{ - name = "Security Checkpoint - Arrivals" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured, -/area/station/security/checkpoint/customs/auxiliary) -"fhD" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) -"fie" = ( -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"fhG" = ( +/obj/machinery/plumbing/ooze_sucker{ + mapping_id = "3"; dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Closet" +/turf/open/floor/engine, +/area/station/science/xenobiology) +"fib" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/dark, +/area/station/science/server) +"fif" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_maintenance{ dir = 1 }, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/maintenance/starboard/aft) "fii" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/table/wood, +/obj/machinery/cassette/dj_station{ + pixel_y = 12 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"fiq" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/closet/secure_closet/medical1, -/turf/open/floor/iron/white, -/area/station/medical/office) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "fir" = ( /obj/effect/turf_decal/trimline/brown/line{ dir = 8 @@ -15488,63 +15502,73 @@ /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "fiv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) -"fiw" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/power/shieldwallgen, /turf/open/floor/iron/dark, -/area/station/command/teleporter) +/area/station/service/abandoned_gambling_den) "fiA" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/engineering/main) -"fiB" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/filingcabinet, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) "fiC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/meter, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fiH" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "fiS" = ( /obj/machinery/light/directional/west, /obj/machinery/status_display/ai/directional/west, /turf/open/floor/carpet, /area/station/service/chapel) -"fiT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "fiU" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/structure/table/reinforced, +/obj/item/storage/bag/tray, +/obj/item/kitchen/rollingpin{ + pixel_y = -4; + pixel_x = 4 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "fjo" = ( /obj/machinery/light/small/directional/south, /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark/side, /area/station/commons/fitness) -"fjv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "fjx" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/wood, /area/station/service/chapel/funeral) +"fjM" = ( +/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/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"fjO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "fjT" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted, /obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ @@ -15552,68 +15576,43 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"fjY" = ( -/obj/structure/chair/office/light{ - dir = 8 +"fkf" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"fkh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, /turf/open/floor/iron/dark, -/area/station/tcommsat/computer) +/area/station/ai_monitored/command/nuke_storage) "fkD" = ( /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/security/brig/entrance) -"fkJ" = ( +"fkQ" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"fkT" = ( -/obj/machinery/atmospherics/components/tank/air{ - dir = 8 - }, +/obj/machinery/vending/autodrobe, /turf/open/floor/plating, -/area/station/maintenance/port/aft) -"flc" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"fld" = ( -/turf/closed/wall, -/area/station/security/courtroom) -"fli" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) -"flo" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/miningoffice) -"flq" = ( +/area/station/service/abandoned_gambling_den) +"fkU" = ( +/obj/machinery/light/small/directional/west, +/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, -/obj/structure/table/wood, -/obj/item/storage/crayons, -/turf/open/floor/wood, -/area/station/service/library/lounge) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) +"fld" = ( +/turf/closed/wall, +/area/station/security/courtroom) "flr" = ( /obj/structure/sign/warning/rad_shelter/directional/east, /turf/open/floor/iron/dark, @@ -15626,26 +15625,17 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"flJ" = ( -/obj/structure/table/wood/fancy/black, -/obj/item/storage/photo_album/chapel, -/obj/item/camera, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"flK" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/red/corner, -/obj/structure/table, -/obj/item/gun/energy/laser/practice{ - pixel_y = 6 - }, -/obj/item/gun/energy/laser/practice{ - pixel_y = -3 +"flH" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) +"flL" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold/pink/hidden{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/security/office) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "flM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15661,17 +15651,6 @@ /obj/effect/landmark/navigate_destination/chapel, /turf/open/floor/iron/dark/textured, /area/station/service/chapel) -"flR" = ( -/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 = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "flU" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -15682,11 +15661,14 @@ /obj/item/tank/internals/anesthetic, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"flV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"flZ" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "fmb" = ( /obj/effect/turf_decal/trimline/brown/filled/warning, /turf/open/floor/iron/dark/side, @@ -15712,6 +15694,22 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/visit) +"fmz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "dep_med_post"; + name = "Medical Post Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/treatment_center) +"fmD" = ( +/obj/structure/sign/poster/random/directional/west, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "fmJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -15719,20 +15717,23 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"fmZ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 +"fnc" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/north, -/obj/machinery/requests_console/directional/east{ - department = "Security"; - name = "Security Requests Console" +/obj/machinery/light/small/directional/north, +/obj/structure/rack, +/obj/item/wallframe/apc, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/structure/closet/secure_closet/security/cargo/blueshirt, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) +/area/station/engineering/break_room) +"fng" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "fnt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15757,14 +15758,6 @@ /obj/structure/bookcase/random/religion, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"fnI" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/obj/machinery/washing_machine, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) "fnK" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -15779,51 +15772,23 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/dorms) -"fnU" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) -"fon" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/obj/machinery/station_map/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"fow" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"foE" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 8 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"foK" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/cable, +"fop" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/ai_slipper{ - uses = 10 - }, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) +/area/station/engineering/atmos) +"foO" = ( +/obj/machinery/light/directional/west, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/red, +/obj/item/pen/blue{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "foP" = ( /obj/structure/chair/stool/directional/north, /obj/effect/landmark/start/assistant, @@ -15848,49 +15813,34 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"fpk" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/west, -/obj/machinery/vending/wardrobe/medi_wardrobe, -/turf/open/floor/iron/white, -/area/station/medical/office) -"fpq" = ( -/obj/machinery/airalarm/directional/north, +"fpi" = ( +/obj/structure/disposalpipe/segment, /obj/structure/table, -/obj/item/storage/belt/utility, -/obj/item/clothing/mask/breath, -/obj/item/multitool{ - pixel_x = 6 - }, -/obj/item/t_scanner{ - pixel_x = -6 +/obj/item/phone{ + pixel_x = 6; + pixel_y = 1 }, -/turf/open/floor/iron/dark/side{ - dir = 1 +/obj/item/reagent_containers/cup/glass/mug/britcup{ + pixel_x = -6; + pixel_y = 11 }, -/area/station/engineering/atmos/office) -"fpy" = ( -/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"fpl" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 4 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters{ - id = "chem_factory_shutters"; - name = "Chem Factory Shutter"; - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/chemistry) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "fpF" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/hallway/primary/aft) -"fpJ" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "fpM" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 8 @@ -15903,28 +15853,37 @@ dir = 8 }, /area/station/cargo/sorting) -"fpO" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"fpP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"fpV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) +/obj/effect/mapping_helpers/mail_sorting/engineering/general, +/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) +"fpT" = ( +/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/maintenance/department/electrical) "fpY" = ( -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/machinery/firealarm/directional/east, -/obj/machinery/computer/department_orders/medical{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/item/paper_bin, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"fqa" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "fqe" = ( /turf/closed/wall/r_wall, /area/station/security/processing) @@ -15937,12 +15896,12 @@ dir = 4 }, /area/station/cargo/miningoffice) -"fqx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"fqD" = ( +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/service_all, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "fqH" = ( /obj/structure/dresser, /turf/open/floor/wood, @@ -15954,15 +15913,12 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"fqJ" = ( -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) +"fqP" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/table/reinforced/rglass, +/obj/item/toy/figure/paramedic, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "fqQ" = ( /turf/open/floor/grass, /area/station/science/genetics) @@ -15972,6 +15928,18 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"fqX" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/auxlab) "fqY" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -15984,21 +15952,20 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"fro" = ( -/obj/effect/landmark/start/gary, -/turf/open/floor/carpet, -/area/station/maintenance/starboard/fore) +"frk" = ( +/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, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) "frv" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/engineering/toolbox, /obj/effect/spawner/random/clothing/gloves, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"frw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "frx" = ( /obj/structure/chair/stool/directional/east, /obj/effect/landmark/start/assistant, @@ -16006,15 +15973,6 @@ dir = 4 }, /area/station/commons/fitness) -"frC" = ( -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Cargo - Mining Dock"; - name = "cargo camera" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/miningoffice) "frS" = ( /obj/machinery/camera/autoname/directional/east, /obj/machinery/recharge_station, @@ -16024,12 +15982,31 @@ /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"fsk" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "fsm" = ( /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/security/brig) +"fsn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "fsE" = ( /turf/closed/wall/r_wall, /area/station/science/genetics) @@ -16043,58 +16020,24 @@ /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/satellite) -"fsH" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) "ftk" = ( /turf/open/floor/grass, /area/station/hallway/primary/central) -"ftr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/welded, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"fuc" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/structure/table/reinforced/rglass, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/item/paper_bin{ - pixel_x = -7 - }, -/obj/item/clipboard{ - pixel_x = -7 - }, -/obj/item/folder/white{ - pixel_x = -7 - }, -/obj/item/pen{ - pixel_x = -7 - }, -/obj/item/book/manual/wiki/grenades{ - pixel_x = 7 - }, -/obj/item/book/manual/wiki/plumbing{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/chemistry{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +"ftw" = ( +/obj/structure/dresser, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"ftC" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/vacuum/external/directional/east, +/obj/structure/tank_holder/extinguisher, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"ftK" = ( +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/eva) "fuf" = ( /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, @@ -16104,21 +16047,28 @@ /obj/machinery/nanite_chamber, /turf/open/floor/iron/white, /area/station/science/research) -"fuM" = ( -/obj/effect/landmark/generic_maintenance_landmark, +"fuv" = ( +/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/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"fuF" = ( +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/structure/table/wood, +/obj/item/skub, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/area/station/command/heads_quarters/captain/private) "fuS" = ( /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/prison/mess) -"fvh" = ( -/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, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) "fvn" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, @@ -16133,31 +16083,29 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"fvz" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"fvw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"fvH" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/chair/comfy/brown, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/break_room) -"fvT" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/virology) -"fvV" = ( -/turf/open/floor/plating, -/area/station/cargo/drone_bay) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Detective's Office" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/detective, +/obj/effect/landmark/navigate_destination/det, +/turf/open/floor/iron/dark/textured, +/area/station/security/detectives_office) +"fvU" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "fvW" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/airless, @@ -16171,6 +16119,18 @@ dir = 10 }, /area/station/cargo/miningoffice) +"fwa" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/command/heads_quarters/ce) "fwb" = ( /obj/effect/turf_decal/tile/brown/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16186,15 +16146,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"fwn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) "fwt" = ( /obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ dir = 8 @@ -16209,21 +16160,47 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"fwB" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"fwT" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"fwI" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/light/small/directional/east, -/obj/structure/disposalpipe/trunk{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/maintenance{ + name = "Law Office Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/lawyer, +/turf/open/floor/plating, +/area/station/service/lawoffice) +"fwK" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/vacuum/external/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"fwN" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/storage) +"fxa" = ( +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library) "fxk" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -16233,17 +16210,6 @@ /obj/item/toy/plush/snakeplushie, /turf/open/floor/wood, /area/station/maintenance/starboard/fore) -"fxF" = ( -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/structure/sign/poster/official/random/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) "fxG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16251,23 +16217,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"fxI" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - 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/plating, -/area/station/maintenance/port/fore) -"fxJ" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "fxL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16277,12 +16226,27 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"fxU" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/item/kirbyplants/random, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) +"fxQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"fxV" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/button/door/directional/north{ + id = "med_priv_2"; + name = "Privacy Shutters Control" + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_b) "fyc" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -16295,6 +16259,42 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/security/brig) +"fyf" = ( +/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/lobby) +"fyk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/security/prison/workout) +"fyo" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/table, +/obj/machinery/ecto_sniffer, +/obj/item/toy/figure/roboticist{ + pixel_x = -9 + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"fyr" = ( +/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/catwalk_floor, +/area/station/maintenance/starboard/fore) "fyt" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ @@ -16307,56 +16307,32 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port) -"fyA" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) -"fyZ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"fza" = ( -/obj/effect/turf_decal/trimline/dark_red/filled/warning{ - dir = 4 +"fyK" = ( +/obj/structure/chair/office, +/obj/effect/landmark/start/brig_physician, +/turf/open/floor/iron/white, +/area/station/security/medical) +"fyS" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) +"fyX" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 }, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"fzi" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix to Scrubbers"; - dir = 8 +/obj/machinery/camera/directional/south{ + c_tag = "Hallway - Central, Southeast"; + name = "hallway camera" }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) +/area/station/hallway/primary/central) "fzB" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/sorting) -"fzD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/sepia, -/area/station/service/library/artgallery) "fzI" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box, @@ -16371,42 +16347,28 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"fzU" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "fzW" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, /turf/open/floor/iron/white, /area/station/science/research) -"fAa" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "fAf" = ( /obj/machinery/vending/coffee, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) -"fAn" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/newscaster/directional/north, -/obj/structure/closet/secure_closet/chemical, -/obj/item/wrench/medical, -/obj/item/radio/headset/headset_med, -/obj/item/radio/headset/headset_med, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"fAq" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) "fAE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -16418,26 +16380,47 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) -"fAQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/table, -/turf/open/floor/stone, -/area/station/smithing) -"fBd" = ( -/obj/structure/chair/wood, -/turf/open/floor/carpet/red, -/area/station/commons/vacant_room/office) -"fBh" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"fAO" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/closet/crate/freezer/blood, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"fAW" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/atmos/office) +"fBg" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "robotics_garage"; + name = "Robotics Garage Shutters" + }, +/turf/open/floor/iron/dark/textured, +/area/station/science/robotics/mechbay) "fBi" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"fBo" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + name = "External Ports to Scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer4{ + dir = 8; + name = "Supply to External Ports" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/break_room) "fBQ" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16457,41 +16440,61 @@ /obj/structure/sign/poster/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port) -"fBY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) -"fCb" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) +"fCa" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"fCd" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/light_switch/directional/west, +/obj/structure/rack, +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = 7 + }, +/obj/item/storage/medkit/regular{ + pixel_y = 3 + }, +/obj/item/storage/box/bodybags, +/turf/open/floor/iron/white, +/area/station/security/medical) "fCw" = ( /obj/effect/spawner/random/structure/table, /obj/effect/spawner/random/entertainment/cigarette_pack, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"fCE" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/railing{ - dir = 4 +"fCF" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +/obj/machinery/light_switch/directional/west{ + pixel_y = -5 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/atmos/office) "fCT" = ( /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/commons/fitness) -"fDb" = ( -/obj/effect/turf_decal/trimline/neutral/filled/end{ - dir = 8 +"fDd" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 }, -/obj/effect/turf_decal/stripes/end{ +/obj/effect/turf_decal/trimline/neutral/line{ dir = 8 }, -/obj/structure/closet/emcloset/anchored, -/obj/effect/landmark/start/hangover/closet, +/obj/machinery/station_map/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "fDe" = ( @@ -16499,30 +16502,29 @@ /obj/structure/closet/secure_closet/brig, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"fDg" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +"fDm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/mirror/directional/west, +/obj/structure/sink/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "fDt" = ( /obj/machinery/duct, /turf/open/floor/wood/large, /area/station/security/prison/safe) -"fDB" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/rack, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags{ - pixel_y = 3 +"fDC" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"fDD" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) +/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, +/turf/open/floor/iron/white/textured, +/area/station/medical/exam_room) "fDG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -16534,12 +16536,53 @@ }, /turf/open/floor/iron/dark/textured, /area/station/service/chapel/funeral) -"fEa" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, +"fDK" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/maintenance/starboard/fore) +"fDL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/medical, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) +"fDN" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/line{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"fDY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"fEc" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/structure/table, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/service/hydroponics/garden) "fEm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -16562,6 +16605,16 @@ /obj/item/stack/ore/iron, /turf/open/floor/plating, /area/station/maintenance/port) +"fEy" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 + }, +/obj/machinery/station_map/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "fEz" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -16593,15 +16646,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/space/basic, /area/space/nearstation) -"fES" = ( -/obj/structure/disposalpipe/segment{ - 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, -/area/station/medical/medbay/central) "fET" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16609,66 +16653,45 @@ /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) "fEX" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/chair/sofa/bench/right{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"fFd" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, /obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5 - }, -/obj/item/stack/sheet/plasteel{ - amount = 10; - pixel_y = 5; - pixel_x = 4 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5; - pixel_x = 4 - }, -/obj/item/stack/rods/fifty, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/storage_shared) +/obj/effect/spawner/random/entertainment/toy_figure, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron, +/area/station/maintenance/disposal) "fFe" = ( /obj/structure/bed, /obj/item/bedsheet/dorms, /obj/effect/landmark/start/prisoner, /turf/open/floor/wood/large, /area/station/security/prison/safe) +"fFi" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "fFr" = ( +/obj/structure/cable, /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/xenobiology) "fFK" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/south, +/mob/living/basic/chicken, +/turf/open/floor/grass, +/area/station/service/hydroponics) +"fFN" = ( +/obj/structure/table, +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/nineteen_nineteen, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "fFP" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark/side{ @@ -16689,21 +16712,19 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/station/security/brig) -"fFT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_maintenance{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"fFU" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "fFV" = ( /turf/closed/wall, /area/station/solars/port/aft) -"fGh" = ( -/obj/structure/sign/warning/test_chamber/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) +"fFY" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "fGl" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 @@ -16713,37 +16734,29 @@ dir = 10 }, /area/station/commons/storage/primary) -"fGn" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"fGm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 }, -/obj/structure/table, -/obj/item/hand_tele, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) -"fGu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/status_display/evac/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/camera/directional/south{ + c_tag = "Hallway - Central, South"; + name = "hallway camera" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"fGD" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"fGJ" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/machinery/light/directional/north, -/obj/structure/sign/warning/no_smoking/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron, -/area/station/engineering/storage) +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/washing_machine, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "fGO" = ( /obj/structure/extinguisher_cabinet/directional/north, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -16753,33 +16766,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"fGP" = ( -/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/virology) "fHb" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) -"fHc" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"fHn" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/atmos/office) "fHz" = ( /obj/structure/sign/warning/vacuum/directional/north, /obj/structure/table, @@ -16839,24 +16830,26 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"fIh" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/camera/directional/north{ + c_tag = "Hallway - West, Western End"; + name = "hallway camera" + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) "fIl" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) -"fIt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) "fIw" = ( /obj/machinery/atmospherics/components/tank/oxygen{ dir = 1 @@ -16875,12 +16868,6 @@ dir = 4 }, /area/station/commons/storage/primary) -"fIH" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/duct, -/obj/item/bikehorn/rubberducky, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/captain/private) "fII" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -16890,73 +16877,53 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"fIV" = ( -/obj/structure/chair/plastic, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"fIX" = ( -/turf/closed/wall/r_wall, -/area/station/science/robotics/lab) -"fJb" = ( -/obj/effect/turf_decal/stripes/line{ +"fIJ" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/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/machinery/door/airlock/security{ - name = "Detective's Office" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/detective, -/obj/effect/landmark/navigate_destination/det, -/turf/open/floor/iron/dark/textured, -/area/station/security/detectives_office) -"fJh" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"fIO" = ( +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"fIT" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/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/cable, -/turf/open/floor/iron/dark, -/area/station/security/office) -"fJl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +/obj/machinery/door/poddoor/preopen{ + id = "execution_fireblast" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Justice Chamber Interior" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/security/execution) +"fIX" = ( +/turf/closed/wall/r_wall, +/area/station/science/robotics/lab) "fJn" = ( /turf/open/floor/iron/dark/side{ dir = 4 }, /area/station/service/janitor) -"fJv" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable/layer1, -/turf/open/floor/iron, -/area/station/engineering/main) -"fJx" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north, -/obj/structure/sign/poster/random/directional/west, -/obj/machinery/recharge_station, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/cargo/storage) +"fJr" = ( +/obj/effect/turf_decal/stripes/end, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/shower/directional/south, +/turf/open/floor/iron/white/textured, +/area/station/security/medical) "fJA" = ( /turf/closed/wall/r_wall, /area/station/science/genetics/cloning) @@ -16969,42 +16936,47 @@ }, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"fKd" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"fKc" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/table, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/cargo/sorting) "fKj" = ( /turf/closed/wall, /area/station/maintenance/department/science/xenobiology) -"fKo" = ( -/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 = 5 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) "fKp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/maintenance/disposal) +"fKL" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/five, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"fKM" = ( +/mob/living/basic/goat/pete, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "fKO" = ( /obj/structure/marker_beacon/burgundy, /turf/open/misc/asteroid/airless, /area/station/asteroid) -"fKX" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder/red, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/station/security/detectives_office) +"fLd" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "fLf" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/side{ @@ -17021,32 +16993,18 @@ dir = 9 }, /area/station/service/hydroponics) -"fLA" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/machinery/status_display/evac/directional/east, +"fLs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"fLH" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/west, +/obj/machinery/vending/imported, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"fLJ" = ( -/obj/machinery/shower/directional/west, -/obj/structure/drain, -/turf/open/floor/iron/textured_large, -/area/station/engineering/main) -"fLO" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/chemist, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/area/station/commons/storage/primary) "fMd" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -17060,20 +17018,37 @@ /obj/structure/sign/warning/vacuum/external/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"fMh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 8 + }, +/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/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) "fMj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/plating, /area/station/science/server) -"fMq" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/status_display/ai/directional/south, +"fMr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/large, -/area/station/engineering/gravity_generator) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "fMt" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -17084,13 +17059,30 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"fMv" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"fMu" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/cable, -/turf/open/floor/carpet/black, -/area/station/security/bitden) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/mineral/ore_redemption{ + input_dir = 2; + output_dir = 1 + }, +/obj/machinery/door/window/right/directional/south{ + name = "Ore Redemption"; + req_access = list("cargo") + }, +/obj/machinery/door/window/right/directional/north{ + name = "Ore Redemption" + }, +/obj/machinery/door/poddoor/shutters{ + id = "cargo_desk"; + name = "Cargo Desk Shutters"; + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/cargo/office) "fMx" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -17103,77 +17095,138 @@ dir = 4 }, /area/station/engineering/gravity_generator) -"fMC" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Service - Chapel Office, Backroom"; - name = "service camera" +"fMK" = ( +/obj/effect/turf_decal/tile/dark_blue{ + dir = 1 }, -/obj/structure/table/wood/fancy/black, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/storage/box/bodybags{ - pixel_x = 4; - pixel_y = 6 +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - MiniSat Transit Pod Access, Internal"; + name = "engineering camera"; + network = list("ss13","rd","xeno_pens"); + start_active = 1 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 }, /turf/open/floor/iron/dark, -/area/station/service/chapel/office) +/area/station/engineering/transit_tube) +"fMO" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/cryopod{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"fMZ" = ( +/obj/structure/chair/wood, +/turf/open/floor/carpet/red, +/area/station/commons/vacant_room/office) +"fNe" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) +"fNi" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"fNm" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/bot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + location = "Medbay" + }, +/obj/structure/plasticflaps/opaque, +/turf/open/floor/iron/white/smooth_large, +/area/station/maintenance/starboard/aft) +"fNq" = ( +/obj/structure/sign/poster/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/frame/machine, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "fNy" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) +"fNz" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"fNE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/hobo_squat, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "fNF" = ( /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"fNH" = ( +"fNI" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Chapel Office Maintenance" + }, +/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/service/chapel_office, +/obj/structure/disposalpipe/segment, /obj/structure/cable, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"fNW" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/item/experi_scanner, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/chapel/office) "fOe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"fOn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 10 +"fOm" = ( +/obj/machinery/requests_console/directional/west{ + department = "Research Director's Desk"; + name = "Research Director's Requests Console" }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/ore_update, +/turf/open/floor/carpet/purple, +/area/station/command/heads_quarters/rd) +"fOp" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/security/prison) +"fOr" = ( +/obj/machinery/light/small/broken/directional/south, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/landmark/start/gary, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fOA" = ( /turf/closed/wall/r_wall, /area/space/nearstation) -"fOB" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/computer/pod/old/mass_driver_controller/trash{ - pixel_x = -6; - pixel_y = 24 - }, -/obj/machinery/button/door/directional/north{ - id = "disposal_exit"; - name = "Disposal Vent Control"; - req_access = list("maint_tunnels"); - pixel_x = 6 - }, +"fOG" = ( +/obj/structure/sign/warning/radiation/directional/west, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, /turf/open/floor/iron, -/area/station/maintenance/disposal) +/area/station/maintenance/department/science) +"fOL" = ( +/obj/structure/closet/emcloset, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "fOT" = ( /obj/machinery/duct, /turf/open/floor/iron/white, @@ -17186,11 +17239,6 @@ dir = 8 }, /area/station/service/hydroponics) -"fPj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/chair, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "fPp" = ( /obj/machinery/atmospherics/components/binary/pump/off/supply/hidden{ dir = 8 @@ -17210,26 +17258,31 @@ /obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"fPL" = ( -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 +"fPF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = 5 +/obj/effect/turf_decal/stripes/line, +/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/machinery/door/airlock/service{ + name = "Printer Room" }, +/obj/effect/mapping_helpers/airlock/access/all/service/library, +/turf/open/floor/iron/dark/textured, +/area/station/service/library/printer) +"fPI" = ( /obj/machinery/firealarm/directional/east{ pixel_y = -5 }, -/obj/machinery/recharger{ - pixel_x = -5 +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/iron/white, +/area/station/medical/break_room) "fPN" = ( /turf/closed/wall, /area/station/maintenance/port/fore) @@ -17248,14 +17301,30 @@ dir = 4 }, /area/station/service/hydroponics) -"fQq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"fQc" = ( +/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_half{ + dir = 8 }, -/obj/structure/chair/sofa/bench/left, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/main) +/area/station/service/chapel) +"fQl" = ( +/obj/machinery/light/directional/east, +/obj/structure/bed/double, +/obj/item/bedsheet/captain/double, +/obj/effect/landmark/start/captain, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) +"fQm" = ( +/obj/machinery/keycard_auth/directional/east, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder/blue, +/obj/item/pen/fountain, +/obj/item/stamp/head/captain, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "fQt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17276,25 +17345,46 @@ /obj/effect/landmark/navigate_destination/dockesc, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/exit/departure_lounge) -"fQB" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 +"fQv" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/structure/table/reinforced, +/obj/item/clothing/mask/gas/sechailer{ + pixel_y = -6; + pixel_x = -6 }, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) +/obj/item/clothing/mask/gas/sechailer{ + pixel_y = -6; + pixel_x = 6 + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -6 + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = 6 + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/flashlight/seclite{ + pixel_y = -6 + }, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite{ + pixel_y = 6 + }, +/obj/item/clothing/head/helmet/toggleable/justice, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "fQI" = ( /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) -"fQJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/tank, -/turf/open/floor/plating, -/area/station/maintenance/department/security/brig) "fQS" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning, /obj/structure/disposalpipe/segment, @@ -17312,6 +17402,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) +"fRd" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/flowers_yw/style_random, +/turf/open/floor/grass, +/area/station/hallway/primary/central) "fRp" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -17327,53 +17422,44 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/iron/white/textured, /area/station/science/research) -"fRq" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/commons/fitness/recreation) -"fRr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, +"fRV" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/money{ + pixel_y = 8 + }, +/obj/effect/spawner/random/entertainment/money, +/turf/open/floor/carpet/green, +/area/station/service/abandoned_gambling_den) +"fSa" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, /obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/flashlight{ - pixel_y = 9 +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/upgraded, +/obj/item/toy/figure/cargotech{ + pixel_y = 13 }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"fRx" = ( -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"fRK" = ( -/obj/structure/flora/bush/lavendergrass/style_random, -/turf/open/floor/grass, -/area/station/medical/virology) -"fRT" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"fRU" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/turf/open/floor/iron/dark/side{ + dir = 1 }, +/area/station/cargo/storage) +"fSe" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/box, +/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/catwalk_floor, -/area/station/maintenance/starboard/aft) -"fRW" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/directional{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/teleporter) "fSg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17399,6 +17485,12 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) +"fSq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "fSs" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -17418,56 +17510,17 @@ dir = 6 }, /area/station/cargo/sorting) -"fSB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/item/kirbyplants/random, +"fSK" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/food_packaging, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"fSG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/liquid_barrier, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"fSW" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/modular_computer/preset/id, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) +/area/station/medical/break_room) "fSX" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"fTh" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/station/service/library) "fTi" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -17476,13 +17529,15 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/prison) -"fTr" = ( -/obj/effect/spawner/structure/window, +"fTo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 8 + }, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/medical/medbay/lobby) +/turf/open/floor/iron/dark, +/area/station/security/lockers) "fTu" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/two, @@ -17496,45 +17551,107 @@ dir = 6 }, /area/station/security/prison/workout) -"fTE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "fTT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/iv_drip, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"fTU" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/north, -/obj/machinery/vending/boozeomat, +"fTZ" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/spawner/random/entertainment/coin, +/obj/item/toy/figure/captain{ + pixel_x = -12 + }, /turf/open/floor/wood, -/area/station/service/bar) +/area/station/command/heads_quarters/captain/private) +"fUb" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"fUg" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/east, +/obj/structure/cable, +/obj/structure/closet/secure_closet/security/sec, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"fUk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"fUr" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/plaque/static_plaque/atmos{ + pixel_x = -32 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/atmos/office) "fUs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) -"fUX" = ( -/obj/machinery/light/directional/north, -/obj/machinery/newscaster/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/security/detectives_office) -"fVh" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 +"fUz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/cmo) +"fUG" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck{ + pixel_x = 2 + }, +/obj/effect/spawner/random/entertainment/money{ + pixel_y = 8 + }, +/turf/open/floor/carpet/green, +/area/station/service/abandoned_gambling_den) +"fUR" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/station/maintenance/department/engine) +"fVi" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "engi_security_post"; + name = "Security Post Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/security/checkpoint/engineering) "fVj" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17544,6 +17661,12 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark/side, /area/station/cargo/sorting) +"fVz" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/security/prison/work) "fVA" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17558,6 +17681,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"fVE" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "fVI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17581,48 +17710,71 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"fVU" = ( -/obj/machinery/light/small/broken/directional/north, -/obj/structure/table, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/cell/lead, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "fVV" = ( /obj/structure/chair/sofa/bench{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fVX" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 9 - }, -/obj/machinery/button/door/directional/west{ - id = "robotics_sci_shutters"; - name = "Robotics Shutters Control"; - req_access = list("robotics") - }, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/roboticist, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "fVY" = ( /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/corner, /area/station/commons/fitness/recreation) +"fWb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"fWc" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/button/door/directional/west{ + id = "armory_side_access"; + name = "Armory Side Access"; + pixel_y = 10; + req_access = list("armory") + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/machinery/button/door/directional/west{ + id = "sec_lockers"; + name = "Locker Room Shutters Control"; + req_access = list("security") + }, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"fWg" = ( +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/obj/machinery/photocopier, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"fWh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/item/radio/intercom/directional/north, +/obj/structure/table, +/obj/item/crowbar/red, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) "fWm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/ordnance) +"fWo" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) "fWt" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair{ @@ -17631,40 +17783,23 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"fWD" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/security_assistant, -/turf/open/floor/iron/dark, -/area/station/security/brig) -"fWR" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/bed/double{ - dir = 4 - }, -/obj/item/bedsheet/nanotrasen/double{ - dir = 4 - }, -/obj/effect/landmark/start/blueshield, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"fWY" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/structure/chair/sofa/right/maroon{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 +"fWB" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 1 }, -/area/station/commons/fitness) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"fWZ" = ( +/obj/structure/sign/poster/random/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fXb" = ( /obj/effect/turf_decal/stripes/end{ dir = 8 @@ -17679,77 +17814,87 @@ /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fXj" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fXk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"fXu" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/belt/medical, -/obj/item/storage/belt/medical, -/obj/item/clothing/neck/stethoscope, -/obj/item/clothing/neck/stethoscope, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/regular, -/obj/item/clothing/glasses/regular, -/obj/item/clothing/glasses/regular, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"fXB" = ( -/obj/machinery/light/directional/east, -/obj/structure/table/reinforced/rglass, -/obj/item/book/manual/wiki/medicine, -/obj/item/crowbar/red, -/obj/item/reagent_containers/spray/cleaner, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"fXE" = ( -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/station/solars/port/fore) -"fXF" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 6 - }, -/obj/item/radio/off{ - pixel_x = -5 +"fXl" = ( +/obj/structure/closet/secure_closet/atmospherics, +/turf/open/floor/iron/dark/side{ + dir = 10 }, -/obj/item/screwdriver{ - pixel_y = 10 +/area/station/engineering/atmos/office) +"fXn" = ( +/obj/machinery/button/door/directional/south{ + id = "dorm_2"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = 5 }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/science) -"fXZ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5; + pixel_y = -34 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"fXo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"fXx" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"fXE" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/station/solars/port/fore) +"fXQ" = ( +/obj/machinery/computer/records/medical{ dir = 8 }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 4 +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"fYe" = ( +/obj/structure/disposalpipe/sorting/mail{ + dir = 8 }, -/obj/structure/sign/departments/custodian/directional/west, +/obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, +/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) +"fYf" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/light_switch/directional/east{ + pixel_y = -10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/science/breakroom) "fYg" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -17776,23 +17921,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"fYu" = ( -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/official/random/directional/east, -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/robotics_cyborgs{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/item/storage/belt/utility, -/obj/item/crowbar/large, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) -"fYx" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "fYX" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -17803,23 +17931,20 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"fZp" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"fZj" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/chair/wood, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"fZr" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air to Distro"; + target_pressure = 250 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"fZy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/carpet/black, -/area/station/security/bitden) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "fZB" = ( /turf/open/floor/wood, /area/station/service/bar) @@ -17831,6 +17956,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"fZL" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/large, +/area/station/engineering/storage) "fZO" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 @@ -17840,20 +17971,24 @@ dir = 8 }, /area/station/service/hydroponics) -"fZT" = ( -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/random/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"fZX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"fZS" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/obj/machinery/door/window/left/directional/east{ + name = "Atmospherics Deliveries"; + req_access = list("atmospherics") + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos/office) "gaa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17867,53 +18002,90 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"gai" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "gap" = ( /obj/effect/turf_decal/delivery, /obj/structure/ore_box, /turf/open/floor/plating, /area/station/maintenance/port) -"gax" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/west, -/obj/machinery/vending/imported, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) -"gay" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 +"gaq" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"gar" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/table, -/obj/structure/reagent_dispensers/wall/peppertank/directional/north, -/obj/machinery/recharger{ - pixel_x = -5 +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "aux_base_shutters"; + name = "Auxiliary Base Shutters" }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light/directional/north, -/obj/machinery/recharger{ - pixel_x = 5 +/turf/open/floor/iron/dark/textured, +/area/station/construction/mining/aux_base) +"gav" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"gaH" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 }, -/obj/structure/reagent_dispensers/wall/virusfood/directional/south, -/obj/machinery/disease2/diseaseanalyser, /turf/open/floor/iron/white, -/area/station/medical/virology) +/area/station/medical/medbay/aft) +"gaC" = ( +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) +"gaI" = ( +/obj/machinery/plumbing/ooze_sucker{ + mapping_id = "4"; + dir = 1 + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) +"gaR" = ( +/obj/effect/turf_decal/trimline/brown/filled/warning{ + dir = 10 + }, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/cargo/sorting) +"gaV" = ( +/obj/structure/sign/warning/radiation/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/east{ + c_tag = "Maintenance - Science Pass-through, Ordnance, Burn Chamber Release Window"; + name = "maintenance camera"; + network = list("ss13","rd") + }, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"gbc" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = -8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/service/library) +"gbk" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/rd) +"gbl" = ( +/obj/machinery/airalarm/directional/west, +/obj/item/storage/secure/safe/directional/south, +/obj/machinery/suit_storage_unit/cmo, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "gbn" = ( /obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, @@ -17923,19 +18095,16 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"gby" = ( +/obj/machinery/telecomms/receiver/preset_right, +/turf/open/floor/circuit/telecomms, +/area/station/tcommsat/server) "gbD" = ( /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/hallway/primary/central) -"gbH" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/white, -/area/station/science/lab) "gbM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17944,12 +18113,25 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"gbS" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair/office, -/obj/effect/landmark/start/detective, -/turf/open/floor/iron/dark, -/area/station/security/detectives_office) +"gbO" = ( +/obj/structure/sign/warning/radiation/directional/west, +/obj/machinery/light/small/directional/west, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_5k, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"gcd" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp{ + pixel_y = 3 + }, +/turf/open/floor/carpet/green, +/area/station/commons/vacant_room/office) "gcq" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -17959,13 +18141,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/security/brig) -"gct" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 +"gcv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/item/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/slippery, /turf/open/floor/iron, -/area/station/engineering/storage) +/area/station/maintenance/department/electrical) "gcx" = ( /obj/structure/chair/wood{ dir = 4 @@ -17978,20 +18163,24 @@ "gcD" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) -"gdg" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/camera/directional/south{ - c_tag = "Security - Evidence Storage"; - name = "security camera" - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, +"gdb" = ( +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/closet{ - name = "Evidence Closet" - }, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/transit_tube) +"gdf" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"gdk" = ( +/obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, -/area/station/security/evidence) +/area/station/command/bridge) "gdm" = ( /obj/effect/turf_decal/trimline/green/filled/warning, /obj/effect/turf_decal/trimline/green/warning{ @@ -18006,81 +18195,96 @@ /obj/machinery/duct, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/department/science) +/area/station/maintenance/starboard/fore) "gdw" = ( /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"gdy" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"gdD" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"gdL" = ( +/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/maintenance{ + name = "Paramedic Office Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/medical/paramedic) "gea" = ( /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/cargo/lobby) +"gek" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/commons/fitness) "gey" = ( /obj/machinery/duct, /turf/open/floor/wood/tile, /area/station/security/prison/safe) -"geB" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 6 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +"geS" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/status_display/ai/directional/north, +/obj/structure/rack, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = 3 }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/item/circuitboard/machine/exoscanner, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = -3 }, -/obj/structure/closet/secure_closet/courtroom, -/obj/item/gavelhammer, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"geC" = ( -/obj/structure/closet/toolcloset, /turf/open/floor/iron, -/area/station/engineering/storage_shared) -"geG" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"geR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible{ - dir = 8 +/area/station/cargo/drone_bay) +"gff" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"geT" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_freezer_chamber_input{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) +"gfh" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "O2 Outlet Pump" }, -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_5k, -/obj/effect/mapping_helpers/apc/full_charge, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"gfA" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/area/station/engineering/atmos) "gfF" = ( -/obj/machinery/chem_master/condimaster{ - name = "CondiMaster Neo" +/obj/structure/closet/secure_closet/freezer/meat{ + req_access = null }, /turf/open/floor/iron/kitchen, /area/station/security/prison/mess) -"gfI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "gfK" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -18090,6 +18294,29 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/robotics/mechbay) +"gfQ" = ( +/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, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/medical/paramedic) +"gfV" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/chair/stool/directional/south, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Solar Control, Southeast"; + name = "engineering camera" + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/aft) "gfX" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -18111,16 +18338,6 @@ dir = 4 }, /area/station/service/theater) -"ggy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "ggz" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -18131,11 +18348,15 @@ /obj/machinery/vending/wardrobe/gene_wardrobe, /turf/open/floor/iron/white, /area/station/science/genetics) -"ggR" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) +"ggM" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "ggV" = ( /obj/effect/spawner/random/structure/chair_flipped{ dir = 4 @@ -18143,22 +18364,21 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ghg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/camera/motion/directional/north{ - c_tag = "AI Sat - AI Chamber North"; - network = list("aicore"); - name = "ai camera" - }, -/turf/open/floor/engine, -/area/station/ai_monitored/turret_protected/ai) -"ghk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, +"ghj" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, +/turf/open/floor/iron/white, +/area/station/medical/office) +"gho" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, -/area/station/maintenance/department/science) +/area/station/maintenance/department/engine) "ghp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -18167,26 +18387,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"ghr" = ( -/turf/open/floor/glass/reinforced, -/area/station/service/abandoned_gambling_den) -"ghs" = ( -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/structure/chair/office, -/obj/effect/landmark/start/warden, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"ghA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"ghG" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "ghN" = ( /obj/machinery/light/floor/has_bulb, /obj/effect/landmark/event_spawn, @@ -18197,11 +18397,6 @@ dir = 5 }, /area/station/commons/fitness) -"gie" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) "gim" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/window/brigdoor/left/directional/east{ @@ -18223,6 +18418,11 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) +"giu" = ( +/obj/structure/table/wood/fancy/black, +/obj/item/flashlight/lamp, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "giy" = ( /obj/machinery/light/small/directional/west, /obj/machinery/button/door/directional/west{ @@ -18242,19 +18442,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison) -"giO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/abandoned_gambling_den) -"giZ" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Maintenance - External Access, Northwest"; - name = "maintenance camera" - }, -/obj/effect/landmark/generic_maintenance_landmark, +"giP" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/maintenance/department/science) "gjb" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -18269,33 +18462,61 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"gjh" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/violet/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/freezerchamber) "gji" = ( /turf/closed/wall, /area/station/service/library/printer) -"gjB" = ( +"gjm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"gjz" = ( +/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 = 10 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/port) +"gjB" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"gjH" = ( -/turf/closed/wall, -/area/station/commons/dorms/room6) -"gjV" = ( +"gjD" = ( +/obj/effect/spawner/random/trash/graffiti, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"gki" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/lockers) -"gkj" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/area/station/maintenance/department/science) +"gjN" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/security/prison/safe) +"gjV" = ( +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/starboard/aft) +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"gjZ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "gkw" = ( /obj/machinery/light/directional/west, /obj/machinery/status_display/evac/directional/west, @@ -18303,10 +18524,14 @@ dir = 8 }, /area/station/commons/fitness) -"gkG" = ( +"gky" = ( +/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/command/heads_quarters/ce) +/obj/machinery/duct, +/obj/machinery/defibrillator_mount/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "gkH" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -18317,24 +18542,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"gkK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 +"gkL" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"gkM" = ( -/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/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/machinery/disposal/bin, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "gkP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -18365,22 +18582,39 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) +"glc" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/requests_console/directional/east{ + department = "Law Office"; + name = "Law Office Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/structure/filingcabinet, +/turf/open/floor/wood, +/area/station/service/lawoffice) +"glg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "gln" = ( /obj/structure/lattice, /obj/structure/sign/warning/radiation/directional/east, /turf/open/space/basic, /area/space/nearstation) -"glU" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"glE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"gmc" = ( -/turf/open/floor/wood, -/area/station/command/meeting_room) +/obj/machinery/camera/autoname/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/storage_shared) "gmh" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -18395,31 +18629,10 @@ /obj/effect/mapping_helpers/airlock/access/all/security/armory, /turf/open/floor/iron/dark/textured, /area/station/security/warden) -"gmo" = ( -/obj/machinery/light/floor/has_bulb, -/mob/living/basic/slime, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"gmy" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/structure/reagent_dispensers/wall/virusfood/directional/south, -/obj/machinery/disease2/diseaseanalyser, -/turf/open/floor/iron/white, -/area/station/medical/virology) "gmE" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"gmK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) "gmN" = ( /obj/machinery/light/directional/west, /obj/machinery/computer/security/telescreen/entertainment/directional/west, @@ -18427,10 +18640,19 @@ dir = 8 }, /area/station/commons/fitness/recreation) -"gmT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) +"gmP" = ( +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/station/service/chapel) +"gmS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/prison/work) "gmU" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -18441,23 +18663,6 @@ /obj/effect/spawner/random/bureaucracy/pen, /turf/open/floor/iron/white, /area/station/science/lab) -"gnj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/station/hallway/primary/aft) "gnk" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -18465,22 +18670,22 @@ /obj/machinery/meter, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"gnK" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 +"gnD" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 }, -/obj/machinery/light/small/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/machinery/button/flasher{ - id = "holding_flash"; - name = "Holding Cell Flasher"; - pixel_y = -26; - req_access = list("security"); - pixel_x = -8 +/obj/machinery/newscaster/directional/north, +/obj/structure/chair/office{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/brig) +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/office) +"gnG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "goc" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -18494,23 +18699,25 @@ /obj/effect/landmark/start/depsec/science, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"gog" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/spawner/directional/east, +/obj/structure/table/reinforced/rglass, +/obj/item/burner/fuel{ + pixel_y = 4 + }, +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/dropper, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) "goi" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"goq" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/closet/emcloset/anchored, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "goz" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 1 @@ -18526,46 +18733,19 @@ }, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"goC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 +"gpe" = ( +/obj/structure/chair/wood{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/blue, +/area/station/commons/vacant_room/office) +"gpg" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) -"goD" = ( -/obj/machinery/light/small/directional/west, -/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/catwalk_floor, -/area/station/maintenance/starboard/fore) -"goP" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"goR" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Security - Prison, Workshop"; - network = list("ss13","prison"); - name = "security camera" - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/plastic{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/security/prison/work) +/area/station/security/courtroom) "gpi" = ( /obj/machinery/light/directional/north, /obj/machinery/button/door/directional/north{ @@ -18637,71 +18817,52 @@ }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) -"gqf" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/structure/closet/crate, -/obj/item/crowbar/red, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "gqj" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ name = "freezer passive vent" }, /turf/open/floor/circuit/telecomms/server, /area/station/science/server) -"gqk" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 +"gqo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/light/directional/west, -/obj/machinery/airalarm/directional/west, -/obj/structure/table/reinforced/rglass, -/obj/machinery/computer/records/medical/laptop, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"gqq" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/photocopier, -/obj/machinery/computer/security/telescreen/vault{ - pixel_y = 32 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) -"gqF" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"gqr" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 }, -/obj/structure/closet/secure_closet/warden, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/key/security, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -5 +/obj/machinery/light/small/directional/west, +/obj/machinery/button/door/directional/west{ + id = "ce_office_shutters"; + name = "Privacy Shutters Control" }, -/obj/item/clothing/glasses/sunglasses{ - pixel_x = 8; - pixel_y = 10 +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 10 }, +/area/station/command/heads_quarters/ce) +"gqD" = ( +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, -/area/station/security/warden) +/area/station/security/prison/mess) "gqK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/white, /area/station/science/genetics) -"gqL" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/autolathe, -/turf/open/floor/iron, -/area/station/science/robotics/lab) +"gqO" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "gqX" = ( /obj/effect/spawner/random/structure/table, /obj/effect/spawner/random/maintenance, @@ -18718,49 +18879,35 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/fore) -"grz" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"grB" = ( -/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/catwalk_floor, -/area/station/maintenance/starboard/fore) +"grD" = ( +/obj/structure/table, +/obj/item/storage/pill_bottle, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "grF" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"grG" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 +"grH" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/structure/chair/sofa/bench{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"grK" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"grI" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 }, -/obj/machinery/light/small/directional/east, -/obj/structure/closet/wardrobe/mixed, -/turf/open/floor/iron/white, -/area/station/science/genetics/cloning) +/obj/structure/sign/poster/official/random/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "grL" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -18770,20 +18917,11 @@ /obj/structure/sign/poster/official/report_crimes/directional/east, /turf/open/floor/iron/white, /area/station/science/research) -"grO" = ( -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"grW" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/structure/cable/layer1, +"grS" = ( +/obj/machinery/duct, +/obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, -/area/station/engineering/engine_smes) +/area/station/engineering/main) "gsh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -18810,20 +18948,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science) -"gsA" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ - dir = 4 +"gsL" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + name = "freezer passive vent" }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"gte" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/clothing/gloves, -/obj/effect/spawner/random/clothing/gloves, -/obj/effect/spawner/random/clothing/gloves, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/iron/freezer, +/area/station/science/xenobiology) +"gsQ" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "gti" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, @@ -18835,24 +18970,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/processing) -"gtq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"gtx" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 +"gtr" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/effect/turf_decal/trimline/dark_red/line{ - dir = 8 +/obj/machinery/requests_console/directional/east{ + department = "Security"; + name = "Security Requests Console" }, -/obj/machinery/light/directional/east, -/obj/machinery/status_display/ai/directional/east, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/table/reinforced, +/obj/machinery/recharger, /turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +/area/station/security/checkpoint/medical) "gtA" = ( /obj/effect/turf_decal/tile/green, /obj/machinery/button/door/directional/north{ @@ -18872,14 +19001,12 @@ dir = 9 }, /area/station/service/hydroponics) -"gtM" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree, -/obj/item/canvas/twentythree_nineteen, -/obj/item/canvas/nineteen_nineteen, -/turf/open/floor/wood, -/area/station/service/library/lounge) +"gtF" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "gtN" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -18903,6 +19030,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"gtU" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/keycard_auth/directional/south, +/obj/machinery/pdapainter/medbay, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "gtV" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/engine, @@ -18914,11 +19047,27 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"gub" = ( -/obj/structure/table/wood, -/obj/item/toy/cards/deck/tarot, +"guq" = ( +/obj/structure/cable, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/area/station/service/bar) +"guv" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 10 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/requests_console/directional/south{ + department = "Cargo Bay"; + name = "Cargo Bay Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/conveyor_switch/oneway{ + id = "package_sort_2" + }, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/cargo/sorting) "guB" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -18943,78 +19092,69 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/grass, /area/station/service/hydroponics) -"guX" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/book/manual/wiki/security_space_law{ - pixel_y = 5 - }, -/obj/machinery/button/door/directional/east{ - id = "law_office_shutters"; - name = "Law Office Shutters Control"; - req_access = list("lawyer") - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"gvb" = ( -/obj/effect/turf_decal/stripes/line{ +"guM" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/break_room) +"guQ" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/table/reinforced/rglass, +/obj/item/paper_bin{ + pixel_x = -7; + pixel_y = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"gvc" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/item/folder/white{ + pixel_x = -7; + pixel_y = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"gvm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"gvn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/item/pen/red{ + pixel_x = -7; + pixel_y = 4 }, -/turf/open/floor/wood, -/area/station/service/library/private) -"gvo" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 +/obj/item/book/manual/wiki/medicine{ + pixel_x = 7 }, -/obj/machinery/airalarm/directional/north, +/obj/item/book/manual/wiki/infections{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/hand_labeler, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/radio/headset/headset_med, +/obj/item/clothing/glasses/science, +/obj/item/extrapolator, +/obj/item/device/antibody_scanner, +/obj/item/device/antibody_scanner, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, /turf/open/floor/iron/white, /area/station/medical/virology) -"gvD" = ( -/obj/machinery/blackbox_recorder, -/obj/structure/cable, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"gvF" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/obj/machinery/status_display/ai/directional/south, -/obj/machinery/computer/records/security{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) -"gvK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"guU" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) +/obj/structure/sign/poster/official/periodic_table/directional/west, +/obj/structure/chemical_manufacturer, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"gvv" = ( +/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, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"gvx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/altar_of_gods, +/obj/item/book/bible, +/turf/open/floor/carpet, +/area/station/service/chapel) "gvO" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -19023,14 +19163,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"gvR" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks{ - dir = 1 - }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) "gvW" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/trimline/yellow/line{ @@ -19039,38 +19171,35 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"gvX" = ( +"gwo" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Closet" - }, +/obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /obj/effect/mapping_helpers/airlock/unres{ - dir = 4 + dir = 8 }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"gwq" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "gwz" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/corner{ dir = 4 }, /turf/open/floor/iron/white, /area/station/science/research) +"gwB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "gwG" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /obj/machinery/camera/autoname/directional/north, @@ -19079,14 +19208,14 @@ dir = 1 }, /area/station/service/hydroponics) -"gwJ" = ( -/obj/machinery/light/directional/south, -/obj/machinery/status_display/evac/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"gwP" = ( +/obj/effect/turf_decal/stripes/end{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/engine, +/area/station/security/execution) "gwY" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/machinery/camera/directional/west{ @@ -19095,6 +19224,39 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"gwZ" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "Secure Gate"; + name = "Cell Shutters"; + pixel_x = 7; + pixel_y = -2; + req_access = list("brig") + }, +/obj/machinery/button/door{ + id = "prison_gate"; + name = "Prison Wing Lockdown"; + pixel_x = 7; + req_access = list("brig"); + pixel_y = 8 + }, +/obj/machinery/button/door{ + id = "BrigLock"; + name = "Cell Shutters"; + pixel_x = -7; + pixel_y = -2; + req_access = list("brig") + }, +/obj/machinery/button/door{ + id = "armory_shutters"; + name = "Armory Shutters"; + pixel_x = -7; + pixel_y = 8; + req_access = list("armory") + }, +/turf/open/floor/iron/dark, +/area/station/security/warden) "gxh" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -19110,73 +19272,35 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"gxw" = ( +"gxA" = ( /obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/chair{ - dir = 4 + dir = 8 }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/l3closet/security, +/obj/structure/sign/warning/secure_area/directional/west, /turf/open/floor/iron/dark, -/area/station/security/execution) -"gxx" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) +/area/station/security/lockers) +"gxD" = ( +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/command/nuke_storage) "gxH" = ( /turf/closed/wall, /area/station/science/breakroom) -"gxN" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = 6 - }, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/clothing/head/helmet/alt{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/clothing/head/helmet/alt{ - pixel_x = -6 - }, -/obj/item/clothing/head/helmet/alt{ - pixel_x = -6; - pixel_y = -3 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) +"gxM" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "gxO" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"gxP" = ( -/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/corner{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, /turf/open/floor/iron, -/area/station/hallway/primary/aft) +/area/station/commons/storage/primary) "gxT" = ( /obj/machinery/atmospherics/miner/nitrogen, /obj/machinery/portable_atmospherics/canister/nitrogen, @@ -19187,68 +19311,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"gya" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/door/window/left/directional/south{ - name = "First-Aid Supplies"; - req_access = list("medical") - }, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 - }, -/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 - }, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"gyc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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 = "atmos"; - name = "Atmospherics Blast Door" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/atmos) -"gyl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/structure/table, -/obj/item/toner/extreme, -/obj/item/toner/extreme, -/obj/item/toner/extreme, -/obj/item/toner/large{ - pixel_y = 9 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/storage_shared) -"gyn" = ( -/obj/structure/bookcase/random/reference, -/turf/open/floor/wood, -/area/station/service/library) "gyo" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -19273,41 +19335,19 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"gyz" = ( +/turf/open/floor/iron/dark/smooth_half{ + dir = 8 + }, +/area/station/service/chapel) "gyK" = ( /obj/machinery/light/small/directional/west, /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"gyN" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/north{ - name = "Genetics Desk"; - req_access = list("genetics") - }, -/obj/machinery/door/window/left/directional/south{ - name = "Reception" - }, -/obj/machinery/door/poddoor/shutters{ - id = "genetics_shutters"; - name = "Genetics Shutters" - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron/white/textured, -/area/station/science/genetics) -"gzw" = ( -/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, -/area/station/command/bridge) +"gzi" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) "gzy" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -19342,20 +19382,13 @@ }, /area/station/commons/dorms) "gzG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/box/red, +/obj/machinery/porta_turret/ai{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"gzI" = ( -/obj/structure/flora/rock/pile/jungle/style_random, -/obj/item/food/grown/banana, -/turf/open/floor/grass, -/area/station/medical/virology) +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/turret_protected/ai_upload) "gzQ" = ( /obj/effect/turf_decal/bot_white, /obj/effect/spawner/random/maintenance, @@ -19372,6 +19405,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) +"gzY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "brig_post"; + name = "Security Shutters" + }, +/turf/open/floor/plating, +/area/station/security/brig/entrance) "gzZ" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/storage) @@ -19380,22 +19422,55 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/port) -"gAj" = ( -/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/science/xenobiology) +"gAe" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/button/door/directional/north{ + id = "teleporter_shutters"; + name = "Teleporter Room Shutters Control"; + req_access = list("teleporter") + }, +/obj/machinery/power/shieldwallgen, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "gAk" = ( /obj/structure/particle_accelerator/fuel_chamber, /turf/open/floor/plating/airless, /area/space/nearstation) +"gAo" = ( +/obj/machinery/shower/directional/west, +/obj/structure/drain, +/turf/open/floor/iron/textured_large, +/area/station/engineering/main) +"gAp" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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, +/obj/machinery/door/airlock/maintenance{ + name = "Detective Office Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/detective, +/turf/open/floor/plating, +/area/station/security/detectives_office) "gAu" = ( /obj/machinery/power/turbine/inlet_compressor{ dir = 8 }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"gAv" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "gAx" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/suit_storage_unit/standard_unit, @@ -19416,32 +19491,21 @@ /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gAI" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) "gAM" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/maintenance/department/engine/atmos) -"gAX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/station/commons/locker) -"gBc" = ( -/obj/machinery/door/airlock/grunge{ - id_tag = "toilet_2"; - name = "Stall 2" +"gAU" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/restrooms) -"gBo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) +"gBb" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, @@ -19450,40 +19514,48 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"gBv" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/airalarm/directional/south, -/obj/machinery/vending/wardrobe/medi_wardrobe, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"gBF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +"gBc" = ( +/obj/machinery/door/airlock/grunge{ + id_tag = "toilet_2"; + name = "Stall 2" }, -/obj/machinery/light/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"gBR" = ( +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/restrooms) +"gBd" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/security/detectives_office) +"gBg" = ( +/obj/effect/turf_decal/tile/red/fourcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"gBW" = ( -/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 = 9 +/area/station/security/checkpoint/escape) +"gBu" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/closet/radiation, +/turf/open/floor/iron, +/area/station/science/ordnance) +"gBI" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/nanotrasen{ + pixel_x = -32 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"gBJ" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/miningoffice) "gCi" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -19507,6 +19579,14 @@ dir = 10 }, /area/station/security/prison/workout) +"gCv" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) "gCA" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -19524,16 +19604,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"gCM" = ( -/obj/effect/turf_decal/trimline/red/filled/corner, -/obj/effect/turf_decal/trimline/red/line{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "gCP" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -19552,18 +19622,19 @@ /obj/effect/landmark/start/security_assistant, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"gDh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/end{ + dir = 4 + }, +/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/storage/tech) "gDq" = ( /obj/machinery/portable_atmospherics/canister/plasma, /turf/open/floor/plating, /area/station/engineering/main) -"gDV" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/vending/wardrobe/jani_wardrobe, -/turf/open/floor/iron/dark, -/area/station/service/janitor) -"gEg" = ( -/turf/closed/wall/r_wall, -/area/station/medical/psychology) "gEi" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -19578,13 +19649,11 @@ dir = 8 }, /area/station/cargo/storage) -"gEs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, +"gEn" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "gEt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19602,6 +19671,22 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"gEy" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/modular_computer/preset/id{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"gEM" = ( +/obj/machinery/requests_console/auto_name/directional/east, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, +/turf/open/floor/wood, +/area/station/medical/psychology) "gEQ" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -19616,12 +19701,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/storage) -"gET" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/library/lounge) "gEY" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 @@ -19652,55 +19731,59 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port) -"gFu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"gFz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/turf_decal/bot, +/obj/effect/landmark/secequipment, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"gFA" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/book/manual/wiki/infections{ + pixel_x = 5; + pixel_y = 3 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/item/book/manual/wiki/surgery{ + pixel_x = -4; + pixel_y = 3 }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 +/obj/item/book/manual/wiki/medicine{ + pixel_x = -2; + pixel_y = -1 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"gGe" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 +/obj/item/book/manual/wiki/chemistry{ + pixel_x = 5 }, -/obj/structure/table/reinforced/rglass, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 +/turf/open/floor/iron/checker{ + dir = 1 }, -/obj/item/folder/white{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen/red{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/book/manual/wiki/medicine{ - pixel_x = 7 +/area/station/command/heads_quarters/cmo) +"gFN" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Deliveries"; + name = "engineering camera" }, -/obj/item/book/manual/wiki/infections{ - pixel_x = 7; - pixel_y = 3 +/turf/open/floor/iron/large, +/area/station/engineering/storage) +"gFP" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/item/hand_labeler, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/radio/headset/headset_med, -/obj/item/clothing/glasses/science, -/obj/item/extrapolator, -/obj/item/device/antibody_scanner, -/obj/item/device/antibody_scanner, -/obj/item/healthanalyzer, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"gFX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "gGh" = ( /turf/closed/wall/r_wall, /area/station/science/server) @@ -19710,24 +19793,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"gGs" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"gGu" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "gGx" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/rack, @@ -19742,30 +19807,17 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"gGD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"gGy" = ( +/obj/machinery/light/directional/south, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/station/service/library/private) +"gGA" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/machinery/door/poddoor/preopen{ - id = "bridge_exterior_blast_doors"; - name = "Bridge Exterior Access Blast Door" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/landmark/navigate_destination/bridge, -/turf/open/floor/iron/dark/textured, -/area/station/command/bridge) +/obj/machinery/light/directional/east, +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "gGG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -19787,20 +19839,11 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"gGJ" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = 5 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"gGV" = ( -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) +"gGO" = ( +/obj/structure/sign/poster/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "gGX" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -19816,23 +19859,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"gHc" = ( +"gHj" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "gHr" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/service/chapel) -"gHs" = ( -/obj/structure/cable, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"gHu" = ( -/turf/open/floor/iron/dark/smooth_half{ - dir = 8 - }, -/area/station/service/chapel) "gHv" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 1 @@ -19847,15 +19882,23 @@ dir = 1 }, /area/station/service/hydroponics) +"gHD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "gHK" = ( -/obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/wood, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/engineering/main) +"gHM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"gHO" = ( -/obj/machinery/shower/directional/north, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/restrooms) "gHQ" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -19865,29 +19908,10 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"gHS" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"gIa" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - 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/side{ - dir = 8 - }, -/area/station/engineering/break_room) +"gHY" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/turf/open/floor/iron, +/area/station/engineering/main) "gIe" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -19900,55 +19924,15 @@ /obj/item/book/manual/chef_recipes, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"gIg" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/item/paper/fluff/ids_for_dummies, -/obj/item/toy/figure/ian{ - pixel_x = -9 - }, -/obj/item/toy/figure/hop{ - pixel_y = 13; - pixel_x = -9 - }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) -"gIn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/biogenerator, -/obj/machinery/door/window/left/directional/east{ - name = "Kitchen Biogenerator"; - req_access = list("kitchen") - }, -/obj/machinery/door/window/right/directional/west{ - name = "Kitchen Biogenerator"; - req_access = list("hydroponics") - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydro_kitchen_shutters"; - name = "Hydro-Kitchen Shutters"; - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/hydroponics) -"gIy" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/side{ +"gIw" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/area/station/hallway/primary/aft) +/obj/machinery/light/directional/west, +/obj/structure/closet/secure_closet/brig_physician, +/obj/item/clothing/suit/jacket/straight_jacket, +/turf/open/floor/iron/white, +/area/station/security/medical) "gIA" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -19960,32 +19944,38 @@ /obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"gIF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"gIE" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/structure/cable, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "gIG" = ( /turf/open/floor/carpet, /area/station/service/chapel) -"gIR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) -"gIY" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 +"gIJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/chair{ + dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/corner{ +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"gIP" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/hallway/primary/aft) +/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) "gJb" = ( /obj/machinery/airalarm/directional/east, /obj/structure/chair/pew/right{ @@ -20008,55 +19998,65 @@ }, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"gJp" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) +"gJo" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"gJC" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "gJI" = ( /obj/structure/reagent_dispensers/plumbed{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"gJJ" = ( -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"gJK" = ( -/obj/machinery/space_heater, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/security/prison) "gJM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/mess) "gJO" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 +/obj/structure/table/wood, +/obj/effect/spawner/random/bureaucracy/folder, +/obj/effect/spawner/random/bureaucracy/pen, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"gJV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"gJU" = ( -/obj/effect/turf_decal/bot_red, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/large, -/area/station/ai_monitored/command/storage/eva) +/obj/effect/mapping_helpers/apc/cell_5k, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/empty, +/obj/item/toy/figure/engineer{ + pixel_y = 11; + pixel_x = 11 + }, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/engineering/break_room) "gJY" = ( /turf/closed/wall, /area/station/cargo/storage) -"gJZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) +"gKb" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "gKd" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -20069,25 +20069,6 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) -"gKj" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"gKk" = ( -/obj/structure/sign/warning/cold_temp/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"gKt" = ( -/obj/structure/disposalpipe/junction/flip{ - 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/white, -/area/station/medical/medbay/central) "gKA" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -20097,42 +20078,16 @@ }, /turf/open/floor/engine, /area/station/security/execution) -"gKC" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"gKH" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"gKN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "engi_break_room_shutters"; - name = "Engineering Shutters"; - dir = 8 - }, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" +"gKG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/engineering/break_room) -"gKP" = ( -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/effect/turf_decal/trimline/red/warning{ +/obj/structure/chair{ dir = 1 }, -/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, -/area/station/hallway/secondary/entry) +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "gKT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20143,36 +20098,22 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) -"gKU" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_10k, -/obj/effect/mapping_helpers/apc/full_charge, -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"gLa" = ( -/obj/machinery/light/directional/east, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/service/library) -"gLf" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Engineering - MiniSat Transit Pod Access, External"; - network = list("ss13","rd","xeno_pens"); - name = "engineering camera"; - start_active = 1 - }, -/obj/effect/turf_decal/tile/dark_blue{ - dir = 8 - }, +"gKX" = ( +/obj/effect/spawner/random/structure/tank_holder, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"gLc" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"gLe" = ( +/obj/structure/table, +/obj/item/camera, +/turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"gLh" = ( -/turf/open/floor/iron/dark/corner, -/area/station/hallway/secondary/exit/departure_lounge) "gLp" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -20196,6 +20137,18 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/commons/fitness) +"gLx" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/camera/motion/directional/north{ + c_tag = "Command - EVA Storage, North"; + name = "motion-sensitive command camera" + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/space_heater, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "gLB" = ( /obj/machinery/corral_corner{ mapping_id = "4" @@ -20235,14 +20188,13 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"gLN" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/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/large, -/area/station/cargo/miningoffice) +"gLO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "gLS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -20252,22 +20204,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/holding_cell) -"gLT" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"gLW" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp{ - pixel_y = 3 - }, -/turf/open/floor/carpet/green, -/area/station/commons/vacant_room/office) +"gLX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "gLY" = ( /obj/machinery/smartfridge, /turf/closed/wall, @@ -20278,14 +20220,6 @@ }, /turf/open/space/basic, /area/space) -"gMe" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/computer/rdconsole{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "gMm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -20328,6 +20262,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) +"gMr" = ( +/obj/structure/sign/departments/restroom/directional/west, +/turf/open/floor/wood, +/area/station/security/prison/rec) "gMs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20338,6 +20276,32 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"gMu" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/bot_white, +/obj/item/radio/intercom/directional/west, +/obj/machinery/computer/gateway_control, +/turf/open/floor/iron/dark, +/area/station/command/gateway) +"gMA" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/tcomms_all, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"gMH" = ( +/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, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"gMR" = ( +/obj/structure/closet/secure_closet/personal/patient, +/turf/open/floor/iron/white, +/area/station/medical/virology) "gMW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ @@ -20345,12 +20309,13 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"gNh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/starboard/aft) +"gNe" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/white, +/area/station/science/lab) "gNn" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -20360,36 +20325,44 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"gNB" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, +"gNv" = ( +/obj/machinery/light/small/directional/south, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"gNL" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/structure/chair/sofa/bench/left, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"gNS" = ( -/obj/item/stack/sheet/cardboard{ - amount = 14 +/area/station/maintenance/port/fore) +"gNC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/obj/item/stack/package_wrap, +/obj/machinery/light/directional/east, /turf/open/floor/iron/dark/side{ - dir = 6 + dir = 4 }, -/area/station/security/prison/work) -"gNX" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/item/assembly/prox_sensor{ - pixel_x = -13; +/area/station/engineering/break_room) +"gND" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"gNV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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/machinery/door/airlock/command/glass{ + name = "Chief Engineer's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/ce) +"gNX" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table, +/obj/item/assembly/prox_sensor{ + pixel_x = -13; pixel_y = -1 }, /obj/item/assembly/signaler{ @@ -20403,6 +20376,16 @@ /obj/item/assembly/signaler, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"gOc" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Command - Bridge, Hall, West"; + name = "command camera" + }, +/obj/structure/chair/sofa/bench/solo{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "gOh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -20417,15 +20400,6 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) -"gOp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/grass, -/area/station/medical/virology) -"gOr" = ( -/obj/structure/chair, -/turf/open/floor/iron/white, -/area/station/medical/virology) "gOs" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, @@ -20442,10 +20416,24 @@ }, /turf/open/floor/iron/white/textured, /area/station/science/xenobiology) -"gOA" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) +"gOC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/commons/dorms) "gOE" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -20454,84 +20442,47 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) -"gOR" = ( -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/machinery/recharger{ - pixel_x = 5 - }, -/obj/item/gun_maintenance_supplies{ - pixel_y = 10 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"gPa" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/sign/directions/medical/directional/south{ - pixel_y = -23; - dir = 4 - }, -/obj/structure/sign/directions/evac/directional/south{ - dir = 4 - }, -/obj/structure/sign/directions/engineering/directional/south{ - pixel_y = -41 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, +"gOK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/medical/morgue) "gPd" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/holding_cell) -"gPM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"gPJ" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"gPO" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/iron/white, -/area/station/medical/break_room) +/obj/machinery/firealarm/directional/south, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "gPS" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"gPV" = ( -/obj/machinery/telecomms/bus/preset_one, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) +"gQh" = ( +/obj/structure/table/reinforced/plasmarglass, +/obj/item/experi_scanner{ + pixel_x = 4 + }, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/glasses/science, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gQi" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/autoname/directional/south, /obj/machinery/duct, /turf/open/floor/wood/parquet, /area/station/security/prison/safe) -"gQr" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/chair, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/cargo/lobby) "gQA" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -20555,16 +20506,10 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"gQO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"gQT" = ( /obj/structure/cable, -/obj/structure/table/wood, -/obj/item/paper_bin/carbon, -/obj/item/folder/white, -/obj/item/pen, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) +/turf/open/floor/iron/dark, +/area/station/command/bridge) "gQX" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -20583,13 +20528,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/telecomms, /area/station/science/server) -"gRf" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/engineering/main) "gRk" = ( /obj/structure/table/wood, /obj/item/phone{ @@ -20635,26 +20573,18 @@ /obj/structure/flora/bush/jungle/a/style_random, /turf/open/floor/grass, /area/station/hallway/primary/aft) -"gRM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/security/prison/rec) "gRN" = ( -/obj/structure/disposalpipe/trunk{ +/obj/structure/chair{ dir = 8 }, -/obj/structure/disposaloutlet, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"gSg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/turf/open/floor/iron/dark/side{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/atmos/office) +/area/station/hallway/secondary/service) +"gSl" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "gSn" = ( /obj/effect/turf_decal/trimline/purple/filled/warning, /turf/open/floor/iron/white, @@ -20674,97 +20604,29 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) -"gSz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) -"gSA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"gSB" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/light/small/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_10k, -/obj/machinery/quantum_server, -/turf/open/floor/iron/dark, -/area/station/security/bitden) -"gSC" = ( -/obj/structure/sign/painting/library_private{ - pixel_y = -32 - }, -/obj/structure/table/wood, -/obj/item/device/cassette_tape/friday{ - pixel_y = 2; - pixel_x = 9 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 - }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 +"gSw" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/obj/item/device/walkman{ - pixel_y = 7; - pixel_x = -8 +/obj/machinery/light/directional/west, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +/area/station/cargo/lobby) +"gSC" = ( +/obj/machinery/shower/directional/north, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/shower) "gSE" = ( /turf/open/floor/carpet/purple, /area/station/command/heads_quarters/rd) -"gSG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"gSL" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/railing{ - 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/chair/sofa/bench/right, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +"gSN" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white, +/area/station/science/research) "gSY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -20788,10 +20650,11 @@ dir = 4 }, /area/station/cargo/office) -"gTp" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/science/xenobiology/hallway) +"gTE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/department/security/brig) "gTH" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -20800,13 +20663,6 @@ dir = 8 }, /area/station/cargo/storage) -"gTK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/service/library/private) "gTL" = ( /obj/machinery/light/neon_lining{ dir = 4 @@ -20814,59 +20670,71 @@ /obj/machinery/duct, /turf/open/floor/stone, /area/station/science/xenobiology) -"gUl" = ( -/obj/machinery/light_switch/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/punching_bag, -/turf/open/floor/iron/dark, -/area/station/security/prison/workout) -"gUp" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/vending/wardrobe/chem_wardrobe, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"gUS" = ( +"gTQ" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"gUc" = ( +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 1 }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/delivery_chute{ - dir = 4 +/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/machinery/door/airlock/medical{ + name = "Psychologist's Room" }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/door/window/left/directional/east{ - name = "Delivery Chute" +/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, +/turf/open/floor/iron/dark/textured, +/area/station/medical/psychology) +"gUh" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"gUD" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/newscaster/directional/east, +/obj/structure/table/reinforced, +/obj/item/paper_bin, /turf/open/floor/iron/dark, -/area/station/maintenance/disposal) +/area/station/security/checkpoint/medical) +"gVe" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/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, +/obj/machinery/bluespace_beacon, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "gVf" = ( /obj/machinery/newscaster/directional/east, /turf/open/floor/eighties/red, /area/station/service/theater) -"gVB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"gVm" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/medical_all, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"gVH" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/duct, -/obj/machinery/door/airlock/bathroom{ - name = "Bathroom"; - id_tag = "bs_bathroom" +/obj/machinery/firealarm/directional/east, +/obj/machinery/light_switch/directional/east{ + pixel_y = -10 }, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/blueshield) -"gVG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair/wood, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/service/library/lounge) +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) "gVK" = ( /obj/machinery/conveyor{ id = "QMLoad" @@ -20874,26 +20742,27 @@ /obj/structure/plasticflaps, /turf/open/floor/plating, /area/station/cargo/storage) -"gVQ" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/computer/records/security{ - dir = 8 +"gVL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/electric_shock/directional/south, +/obj/item/stack/cable_coil, +/turf/open/space/basic, +/area/station/solars/starboard/aft) +"gWd" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible, +/turf/open/space, +/area/space/nearstation) +"gWe" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/table/reinforced, +/obj/item/pinpointer/nuke, +/obj/item/melee/baton, /turf/open/floor/iron/dark, /area/station/command/bridge) -"gVU" = ( -/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, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"gVV" = ( -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/janitor) "gWi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20916,53 +20785,43 @@ /obj/effect/turf_decal/bot_white/left, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"gWu" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/engineering/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary/uncommon, -/turf/open/floor/plating, +"gWl" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/aft) -"gWz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +"gWu" = ( +/obj/effect/turf_decal/trimline/red/warning{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/security/prison/safe) -"gWA" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"gWz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "apothecary_sec_desk_shutters"; + name = "Apothecary Secodary Desk Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) +"gWS" = ( /obj/structure/chair/comfy/black{ dir = 1 }, -/obj/effect/landmark/start/hangover, +/obj/effect/landmark/start/head_of_security, /turf/open/floor/wood, -/area/station/service/library) -"gWI" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals - Docking Bay 3"; - name = "arrivals camera" - }, -/obj/structure/chair, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) -"gWL" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp{ - pixel_y = 3 - }, -/turf/open/floor/carpet/blue, -/area/station/commons/vacant_room/office) -"gXk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/meter/layer4, -/obj/structure/cable, +/area/station/command/meeting_room) +"gWW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, /turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/area/station/maintenance/port/aft) "gXm" = ( /obj/structure/table, /obj/machinery/camera/autoname/directional/south, @@ -20970,6 +20829,31 @@ /obj/item/gun/ballistic/shotgun/toy/crossbow, /turf/open/floor/iron/dark/side, /area/station/commons/fitness/recreation) +"gXE" = ( +/obj/structure/closet, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module/adv, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"gXF" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 1 + }, +/obj/structure/sign/warning/no_smoking/directional/south, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"gXI" = ( +/obj/machinery/light/small/built/directional/west, +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "gXK" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -20982,58 +20866,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"gXL" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/item/storage/box/zipties, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"gXO" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"gXN" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"gXP" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/medical{ - dir = 4 - }, /turf/open/floor/iron/white, -/area/station/medical/virology) -"gXW" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +/area/station/medical/treatment_center) "gXZ" = ( /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"gYl" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/space_heater, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"gYp" = ( -/obj/machinery/airalarm/directional/east, -/obj/item/radio/intercom/directional/south, -/obj/structure/table/wood, -/obj/item/toy/figure/curator, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) "gYt" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible{ @@ -21042,29 +20884,32 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"gYF" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot_white, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"gYC" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Medical - Pathology, Isolation, Cell 1"; + name = "medical camera"; + network = list("ss13","medbay") }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"gYG" = ( +/obj/structure/sign/poster/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "gYH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table/wood, -/obj/item/storage/dice, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"gYL" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/prison) +"gYQ" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "gYS" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner{ @@ -21092,58 +20937,61 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"gZc" = ( +"gZk" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"gZm" = ( +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/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/machinery/door/airlock/silver{ - name = "Chapel Office" +/obj/machinery/door/airlock/corporate{ + id_tag = "bs_bolt"; + name = "Blueshield's Office" }, -/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/all/admin/general, /turf/open/floor/iron/dark/textured, -/area/station/service/chapel/office) -"gZd" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +/area/station/command/heads_quarters/blueshield) +"gZp" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=AIW"; + location = "QM" }, -/obj/machinery/light/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/main) +/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/hallway/primary/central) +"gZA" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "gZC" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"gZE" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/power/energy_accumulator/grounding_rod, +/turf/open/floor/plating, +/area/station/engineering/main) "gZH" = ( /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"gZP" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west{ - pixel_y = -6 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = 3 - }, -/obj/structure/table, -/obj/item/hatchet, -/obj/item/cultivator, -/obj/item/crowbar/red, -/obj/item/plant_analyzer, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/service/hydroponics/garden) +"gZI" = ( +/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, +/turf/open/floor/iron, +/area/station/engineering/break_room) "gZV" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -21151,17 +20999,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/iron/dark, /area/station/science/server) +"gZX" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "gZZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/security/processing) -"hao" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/dresser, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) +"hae" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/station/science/xenobiology/hallway) +"hap" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "haq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21171,21 +21035,58 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"hat" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"har" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/advanced, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"has" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) +"haz" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/vending/wardrobe/engi_wardrobe, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/o_plus{ + pixel_x = -2; + pixel_y = -1 }, -/area/station/engineering/storage_shared) -"haG" = ( -/obj/machinery/light/directional/south, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/service/library/private) +/obj/item/reagent_containers/blood/o_minus, +/obj/item/reagent_containers/blood/b_plus, +/obj/item/reagent_containers/blood/b_minus, +/obj/item/reagent_containers/blood/a_plus, +/obj/item/reagent_containers/blood/a_minus, +/obj/item/reagent_containers/blood/lizard, +/obj/item/reagent_containers/blood/ethereal, +/obj/item/reagent_containers/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/reagent_containers/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/reagent_containers/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"haD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/line, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "haO" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -21193,23 +21094,50 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"hbb" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 10 +"hbc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "robotics_sci_shutters"; + name = "Robotics Shutters"; + dir = 1 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/turf/open/floor/plating, +/area/station/science/robotics/lab) "hbt" = ( /obj/effect/spawner/random/structure/chair_flipped{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"hbu" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/smartfridge/chemistry/preloaded, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"hbA" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/duct, +/obj/structure/rack, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags{ + pixel_y = 3 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 6 + }, +/obj/item/clothing/gloves/latex, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "hbO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/moisture_trap, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/structure/cable, +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/security/prison/rec) "hbW" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -21225,6 +21153,28 @@ dir = 1 }, /area/station/commons/fitness/recreation) +"hcb" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/landmark/start/bartender, +/turf/open/floor/wood, +/area/station/service/bar) +"hce" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/breakroom) +"hck" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "hcq" = ( /obj/effect/turf_decal/tile/brown/fourcorners, /obj/structure/mirror/directional/north, @@ -21267,57 +21217,54 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"hcK" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 +"hcR" = ( +/obj/structure/cable, +/obj/machinery/button/door/directional/north{ + id = "iso_cell_hall_vent"; + name = "Isolation Cell Hall Vent Control"; + req_access = list("security"); + pixel_x = 6 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/machinery/button/door/directional/north{ + id = "iso_cell_hall_bolt"; + name = "Isolation Cell Hall Bolt Control"; + req_access = list("security"); + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = -6 }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/turf/open/floor/iron/dark, +/area/station/security/prison) "hda" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) -"hdi" = ( +"hdc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"hdd" = ( +/obj/effect/turf_decal/tile/green/half/contrasted, /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/checkpoint/engineering) +/obj/machinery/duct, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/service/hydroponics) "hdj" = ( /turf/closed/wall, /area/station/hallway/secondary/service) -"hdl" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/east{ - name = "Medbay Front Desk"; - req_access = list("medical") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Medbay Front Desk" - }, -/obj/machinery/door/poddoor/shutters{ - id = "medbay_desk_shutters"; - name = "Medbay Front Desk Shutters"; - dir = 8 - }, -/obj/structure/desk_bell{ - pixel_x = -6 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/office) -"hdm" = ( -/obj/structure/chair/plastic{ +"hdr" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, +/obj/effect/turf_decal/trimline/purple/line, +/obj/machinery/station_map/directional/north, /turf/open/floor/iron/dark, -/area/station/security/prison) +/area/station/hallway/primary/starboard) "hdC" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -21330,14 +21277,13 @@ /obj/effect/landmark/navigate_destination/common/fitness, /turf/open/floor/iron/dark/textured, /area/station/commons/dorms/laundry) -"hdF" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) +"hdM" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_b) "hdQ" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner, @@ -21353,29 +21299,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"hdS" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/cargo/sorting) -"hea" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"hee" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/window/reinforced/tinted, -/obj/structure/toilet{ - dir = 4 - }, +"heb" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/chair/office/light, +/obj/effect/landmark/start/chief_engineer, /turf/open/floor/iron/dark, -/area/station/security/prison/safe) +/area/station/command/bridge) "hen" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 10 @@ -21385,13 +21314,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"heo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "hey" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -21401,99 +21323,62 @@ /obj/machinery/portable_atmospherics/scrubber/huge, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) +"heB" = ( +/turf/closed/wall, +/area/station/maintenance/department/engine) "heD" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"heI" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, +"hfw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/duct, -/turf/open/floor/iron/dark/textured, -/area/station/service/hydroponics) -"heR" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/wood/fancy, -/obj/effect/spawner/random/decoration/statue{ - spawn_loot_chance = 35 - }, -/obj/structure/sign/painting/large/library{ - dir = 1 - }, /turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"hfb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, +/area/station/service/chapel/office) +"hfO" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/newscaster/directional/west, +/obj/structure/closet/secure_closet/security/sec/blueshirt, /turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"hfh" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/window/spawner/directional/south, -/obj/structure/table/reinforced/rglass, -/obj/item/burner/fuel{ - pixel_y = 4 - }, -/obj/item/storage/box/beakers, -/obj/item/reagent_containers/cup/beaker/large, -/obj/item/reagent_containers/dropper, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"hfF" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/table/glass, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/window/brigdoor/right/directional/west{ - name = "Core Modules"; - req_access = list("captain") +/area/station/security/checkpoint/escape) +"hfQ" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 }, -/obj/item/ai_module/core/full/crewsimov{ - pixel_y = 7; - pixel_x = 1 +/obj/machinery/button/door/directional/east{ + id = "qm_warehouse"; + name = "Warehouse Shutters Control"; + req_access = list("cargo") }, -/obj/item/ai_module/core/full/crewsimovpp, -/obj/effect/spawner/round_default_module, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) -"hfI" = ( -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/dark/side{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/area/station/cargo/storage) +"hfR" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, +/obj/effect/turf_decal/trimline/green/filled/line, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"hfZ" = ( /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/maintenance{ - name = "Atmospherics Storage Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage) -"hgf" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/iron/checker{ - dir = 1 +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"hgb" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 }, -/area/station/command/heads_quarters/cmo) +/obj/item/radio/intercom/directional/south, +/obj/structure/filingcabinet, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "hgg" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -21506,16 +21391,33 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"hgh" = ( +"hgm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"hgQ" = ( +/obj/machinery/door/airlock/grunge{ + name = "Gambling Den" + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"hgy" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Security - Detective's Office"; + name = "security camera" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/carpet/red, +/area/station/security/detectives_office) +"hha" = ( /obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/iron/dark, +/area/station/service/janitor) "hhj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21535,35 +21437,9 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/office) -"hhq" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/station/service/library/lounge) "hhs" = ( /turf/open/floor/iron/white, /area/station/science/auxlab) -"hhu" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Central Hallway, West - HoP Line"; - name = "hallway camera" - }, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) -"hhC" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "hhG" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -21574,27 +21450,16 @@ /turf/open/floor/iron/dark, /area/station/security/brig) "hhJ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/structure/sign/directions/cryo/directional/north{ - pixel_y = 23 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"hhK" = ( -/turf/open/floor/iron/dark/side{ - dir = 9 +/obj/machinery/light/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"hhK" = ( +/turf/open/floor/iron/dark/side{ + dir = 9 }, /area/station/commons/locker) -"hie" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/airalarm/directional/south, -/obj/machinery/computer/operating{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery) "hil" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -21632,21 +21497,36 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, /area/station/maintenance/disposal) -"hiz" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"hiR" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 +"hiq" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/light/directional/west, +/obj/machinery/autolathe, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"hit" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/effect/turf_decal/trimline/red/line, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/office) +"hiU" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"hja" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/light/small/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) "hjc" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 8 @@ -21666,6 +21546,12 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"hjf" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/office, +/obj/effect/landmark/start/detective, +/turf/open/floor/iron/dark, +/area/station/security/detectives_office) "hjx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21686,46 +21572,16 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hjP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/structure/table, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil{ - pixel_y = 3; - pixel_x = 3 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"hjZ" = ( -/turf/open/floor/glass/reinforced, -/area/station/security/prison/workout) +"hjT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "hkf" = ( /turf/open/floor/iron/dark/side{ dir = 9 }, /area/station/tcommsat/computer) -"hkg" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/structure/chair/sofa/bench/right{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"hkj" = ( -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/atmos/office) "hkm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -21739,64 +21595,25 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"hkz" = ( -/obj/effect/landmark/event_spawn, +"hky" = ( +/obj/structure/table, +/obj/item/hemostat, +/obj/item/stock_parts/manipulator, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/iron/white, +/area/station/maintenance/port/fore) +"hkN" = ( +/obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet/red, -/area/station/security/courtroom) -"hkO" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) -"hkQ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/structure/chair, -/turf/open/floor/iron/dark, -/area/station/security/processing) -"hkR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/space_heater, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) "hkS" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"hlb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/vending/engivend, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/storage_shared) -"hll" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/brigdoor/left/directional/east{ - name = "Tertiary AI Core"; - req_access = list("ai_upload") - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "tertiary_ai_core_shutters"; - name = "Tertiary AI Core Shutters" - }, -/turf/open/floor/engine, -/area/station/ai_monitored/turret_protected/ai) "hlu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21816,15 +21633,6 @@ dir = 8 }, /area/station/hallway/secondary/service) -"hlL" = ( -/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, -/area/station/command/bridge) "hlP" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -21841,14 +21649,10 @@ }, /turf/open/floor/stone, /area/station/science/xenobiology) -"hml" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Service - Library, Printer Room"; - name = "service camera" - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +"hlZ" = ( +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/wood, +/area/station/command/meeting_room) "hmq" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -21856,51 +21660,53 @@ /obj/machinery/bci_implanter, /turf/open/floor/iron/white, /area/station/science/circuits) -"hmF" = ( -/obj/item/radio/intercom/prison/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"hmP" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/cable, -/obj/machinery/computer/operating{ - dir = 8 +"hmK" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"hmW" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"hmZ" = ( -/mob/living/carbon/human/species/monkey, -/turf/open/floor/grass, -/area/station/medical/virology) -"hnu" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/trimline/neutral/warning{ dir = 8 }, -/obj/item/storage/secure/safe/hos{ - pixel_x = 35 - }, -/obj/structure/closet/secure_closet/hos, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"hny" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/small/directional/east, -/obj/item/storage/secure/safe/caps_spare/directional/east, -/obj/structure/table/reinforced, -/obj/item/disk/nuclear{ - pixel_x = -7 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/item/disk/nuclear/fake/obvious{ - name = "nuclear authentication disk"; - pixel_x = 7 +/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) +"hmZ" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 }, -/obj/item/pinpointer/nuke, -/obj/machinery/keycard_auth/directional/east{ - pixel_y = 8 +/obj/effect/turf_decal/trimline/red/line{ + dir = 10 }, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/hallway/primary/fore) +"hnx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/commons/vacant_room/office) +"hnC" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "hnH" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -21913,29 +21719,60 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) +"hnO" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "med_priv_1"; + name = "Privacy Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/patients_rooms/room_a) "hnS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"hoa" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole, -/turf/open/floor/wood, -/area/station/service/library) -"hoe" = ( +"hnU" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/light/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/computer/security/hos{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"hnX" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_5k, +/turf/open/floor/iron/dark/side, +/area/station/security/prison/safe) +"hol" = ( /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/box, -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/iron, +/area/station/engineering/break_room) +"hon" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/duct, -/turf/open/floor/iron/large, -/area/station/hallway/secondary/service) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/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/machinery/door/airlock/engineering{ + name = "Tech Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, +/obj/effect/landmark/navigate_destination/techstorage, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/storage/tech) "hoq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -21953,13 +21790,35 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/service/kitchen/coldroom) -"hoR" = ( -/obj/effect/turf_decal/siding/thinplating{ +"hoA" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/delivery/red, +/obj/machinery/newscaster/directional/east, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) +"hoD" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 }, -/obj/structure/chair/sofa/bench, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"hoJ" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/medical/virology) +"hoK" = ( +/obj/structure/disposalpipe/segment{ + 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/plating, +/area/station/maintenance/port/fore) "hoX" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -21967,25 +21826,32 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"hpb" = ( -/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/catwalk_floor, -/area/station/maintenance/starboard/aft) -"hph" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable/layer1, +"hpe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/textured, +/area/station/engineering/main) +"hpi" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, /obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/engineering/engine_smes) +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/commons/storage/primary) "hpl" = ( /turf/open/floor/iron/dark/side, /area/station/commons/dorms) +"hpr" = ( +/obj/machinery/growing/soil, +/turf/open/floor/grass, +/area/station/hallway/primary/central) "hps" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -22013,49 +21879,40 @@ /obj/effect/turf_decal/trimline/red/warning, /turf/open/floor/iron/dark, /area/station/security/office) -"hpB" = ( -/obj/structure/cable, -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison) "hpC" = ( /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/hallway/primary/central) -"hpL" = ( -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"hpM" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"hpW" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) "hpY" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"hqm" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, +"hqh" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"hqn" = ( /obj/machinery/light_switch/directional/south{ - pixel_x = 5 + pixel_x = -5 }, /obj/machinery/firealarm/directional/south{ - pixel_x = -5 + pixel_x = 5 }, -/turf/open/floor/iron/white, -/area/station/science/explab) +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) +"hqt" = ( +/obj/machinery/light_switch/directional/north, +/obj/structure/cable, +/turf/open/floor/carpet, +/area/station/service/chapel) "hqv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment, @@ -22064,54 +21921,48 @@ /obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hqF" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/machinery/firealarm/directional/south, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/virologist, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"hqK" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/closet{ - name = "Evidence Closet" - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/evidence) "hqM" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/plumbing/ooze_compressor, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hqN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) -"hqV" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"hqP" = ( +/obj/structure/chair/sofa/right/maroon{ dir = 4 }, -/obj/structure/cable, -/obj/structure/sink/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 4 +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"hqU" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Medical - Exam Room, West"; + network = list("ss13","medbay"); + name = "medical camera" }, -/area/station/engineering/break_room) +/obj/item/radio/intercom/directional/east, +/obj/machinery/computer/operating{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "hqW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/brig) +"hrf" = ( +/obj/machinery/light/built/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"hrj" = ( +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/break_room) "hrk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -22122,6 +21973,11 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"hro" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/plating, +/area/station/maintenance/port) "hrp" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -22131,14 +21987,17 @@ }, /turf/open/floor/iron/dark/telecomms, /area/station/science/server) -"hrH" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Distro to Waste" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) +"hrv" = ( +/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/side, +/area/station/engineering/atmos/office) +"hrM" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/dresser, +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) "hrT" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -22154,11 +22013,13 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) -"hsc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) +"hrV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron, +/area/station/engineering/storage) "hsf" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 8 @@ -22171,12 +22032,30 @@ /obj/machinery/computer/atmos_control/ordnancemix, /turf/open/floor/iron, /area/station/science/ordnance) +"hsj" = ( +/obj/machinery/space_heater, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/prison) "hsp" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 5 }, /turf/open/floor/engine, /area/station/science/xenobiology) +"hss" = ( +/obj/structure/showcase/cyborg/old{ + dir = 8; + pixel_x = 9; + pixel_y = 2 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) +"hsu" = ( +/obj/machinery/airalarm/directional/south, +/turf/open/floor/wood, +/area/station/security/prison/rec) "hsB" = ( /obj/structure/table/wood, /obj/effect/spawner/random/entertainment/lighter{ @@ -22192,50 +22071,20 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"hsJ" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/dark_red/corner{ - dir = 8 - }, -/obj/machinery/camera/motion/directional/east{ - c_tag = "AI - Upload, East"; - network = list("aiupload"); - name = "ai camera" +"hsE" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/firealarm/directional/west, +/obj/machinery/status_display/ai/directional/north, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/checker{ + dir = 1 }, -/obj/item/radio/intercom/directional/east{ - broadcasting = 1; - frequency = 1447; - listening = 0; - name = "AI Private Channel" +/area/station/command/heads_quarters/cmo) +"hsY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) -"hsN" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/poster/official/random/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/medical/paramedic) -"hsT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"hsY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/chair{ +/obj/structure/chair{ dir = 4 }, /turf/open/floor/plating/airless, @@ -22247,66 +22096,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/security/brig/entrance) -"htv" = ( -/obj/structure/disposalpipe/junction{ - 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/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"htE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/station_map/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) "htF" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/escape) -"htN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/library) -"htV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/structure/cable, -/obj/structure/liquid_barrier, -/obj/machinery/door/airlock/research/glass{ - name = "Kill Chamber"; - normalspeed = 0 +"htI" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 }, -/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/turf/open/floor/iron/white/textured, -/area/station/science/xenobiology) -"htW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 +/obj/machinery/camera/directional/east{ + c_tag = "Medical - Pathology, Hallway, East"; + network = list("ss13","medbay"); + name = "medical camera" }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/monkeycubes, +/obj/item/toy/figure/virologist{ + pixel_y = 13; + pixel_x = -9 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/turf/open/floor/iron/white, +/area/station/medical/virology) "htX" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -22317,29 +22128,26 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"hui" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/station/service/abandoned_gambling_den) -"hur" = ( -/obj/effect/turf_decal/caution/red{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"hus" = ( -/obj/effect/turf_decal/trimline/purple/line, -/obj/effect/turf_decal/trimline/purple/filled/line{ +"hud" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/line{ dir = 1 }, -/obj/machinery/light/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/lapvend, +/obj/machinery/camera/directional/south{ + c_tag = "Hallway - West, Central, 1"; + name = "hallway camera" + }, +/obj/machinery/station_map/directional/south, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/hallway/primary/port) +"hue" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"huo" = ( +/obj/machinery/power/port_gen/pacman/pre_loaded, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "hux" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -22351,38 +22159,29 @@ /obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"huy" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/west{ - name = "Brig Entrance Desk"; - req_access = list("security") - }, -/obj/machinery/door/window/right/directional/east{ - name = "Brig Entrance Desk" - }, -/obj/machinery/door/poddoor/shutters{ - id = "brig_post"; - name = "Security Shutters"; - dir = 4 - }, -/obj/structure/desk_bell{ - pixel_y = 2; - pixel_x = 6 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/brig/entrance) "huJ" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 8 +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 4 +/obj/structure/cable/layer1, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access" }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/main) +"huT" = ( +/obj/machinery/light/directional/east, +/obj/structure/sign/poster/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "hvc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -22395,33 +22194,6 @@ }, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"hvk" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/structure/table, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = -9; - pixel_y = 9 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 8 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -9 - }, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"hvs" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/prison/workout) -"hvz" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) "hvE" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -22441,12 +22213,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/aisat_interior) -"hvX" = ( -/obj/machinery/atmospherics/components/tank{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "hwe" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -22454,6 +22220,25 @@ /obj/effect/turf_decal/trimline/red/warning, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"hwj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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/maintenance{ + name = "Engineering Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/engineering/main) +"hwq" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "hwr" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22493,24 +22278,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/white/textured, /area/station/science/explab) -"hwB" = ( +"hwS" = ( +/obj/structure/sign/poster/random/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/engineering/tool, -/obj/effect/spawner/random/engineering/tool{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/syringe, +/obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"hxe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/area/station/maintenance/department/engine/atmos) "hxi" = ( /obj/effect/turf_decal/trimline/brown/filled/warning, /obj/structure/disposalpipe/segment{ @@ -22518,13 +22291,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/sorting) -"hxu" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "hxv" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/cable, @@ -22552,10 +22318,23 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/storage) -"hxM" = ( -/obj/structure/filingcabinet, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +"hxD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/landmark/blobstart, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"hxO" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "hxS" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -22568,13 +22347,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/auxlab) -"hxV" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "hxY" = ( /turf/closed/wall, /area/station/maintenance/central) @@ -22585,16 +22357,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"hyb" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/airalarm/all_access, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "hyd" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -22603,25 +22365,43 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hyj" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/bureaucracy/folder, -/obj/effect/spawner/random/bureaucracy/pen, +"hyi" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) +"hyH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, /turf/open/floor/wood, -/area/station/service/library/lounge) -"hyo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/chair/office, -/obj/effect/landmark/start/depsec/engineering, +/area/station/commons/locker) +"hyO" = ( +/obj/structure/filingcabinet, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"hza" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/area/station/maintenance/starboard/aft) "hzc" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/east, /obj/machinery/space_heater, /turf/open/floor/iron/dark, /area/station/security/execution) +"hzm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/effect/landmark/blobstart, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "hzo" = ( /obj/machinery/camera/directional/south{ c_tag = "AI Sat - External Access"; @@ -22632,9 +22412,13 @@ /turf/open/floor/plating/airless, /area/station/ai_monitored/turret_protected/aisat/atmos) "hzA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) +"hzD" = ( +/obj/structure/cable, +/turf/open/floor/carpet/black, +/area/station/security/bitden) "hzK" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -22647,6 +22431,24 @@ dir = 8 }, /area/station/cargo/storage) +"hzP" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/duct, +/turf/open/floor/carpet/red, +/area/station/security/prison/safe) +"hAb" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/secure_area/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) "hAc" = ( /obj/machinery/camera/directional/south{ c_tag = "Holodeck - Aft"; @@ -22656,31 +22458,32 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"hAe" = ( +"hAt" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/engineering_all, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"hAx" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"hAD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/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/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"hAo" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners{ - dir = 1 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 - }, -/obj/machinery/vending/wardrobe/science_wardrobe, -/turf/open/floor/iron/checker, -/area/station/science/lab) +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "hAE" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/sign/warning/vacuum/external/directional/south, @@ -22689,30 +22492,19 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/miningoffice) -"hAV" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/clothing/suit/apron/surgical{ - pixel_x = 5 - }, -/obj/item/clothing/suit/apron/surgical{ - pixel_x = 5 - }, -/obj/item/book/manual/wiki/surgery{ - pixel_x = -6 - }, -/obj/item/clothing/glasses/hud/health{ - pixel_x = -7 - }, -/obj/item/reagent_containers/medigel/sterilizine{ - pixel_x = 5; - pixel_y = 10 +"hAN" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/light/directional/south, +/obj/structure/sign/poster/official/random/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, /turf/open/floor/iron/white, -/area/station/medical/surgery) +/area/station/science/research) +"hAX" = ( +/obj/machinery/telecomms/processor/preset_two, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) "hBe" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 @@ -22735,11 +22527,29 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"hBI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +"hBq" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/interrogation) +"hBx" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/office) +"hBC" = ( +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "hBK" = ( /obj/effect/turf_decal/stripes/box, /obj/machinery/camera/autoname/directional/west, @@ -22748,44 +22558,25 @@ }, /turf/open/floor/iron/large, /area/station/science/robotics/mechbay) -"hBR" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"hCe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance{ - name = "Service Hall Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "hCj" = ( /turf/open/floor/iron/dark/side{ dir = 10 }, /area/station/commons/locker) -"hCx" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ +"hCk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"hCz" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/side{ + dir = 4 + }, +/area/station/engineering/break_room) "hCH" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -22796,117 +22587,58 @@ dir = 8 }, /area/station/service/hydroponics/garden) -"hCN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"hCP" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/window/right/directional/north{ - name = "Medical Deliveries"; - req_access = list("medical") - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "med_lockdown"; - name = "Medbay Emergency Lockdown Shutters" - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/medbay/central) -"hCZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/structure/sign/poster/official/cleanliness/directional/south, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"hDi" = ( -/obj/machinery/light/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 3; - pixel_y = 4 +"hCM" = ( +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"hCV" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/item/gun/energy/ionrifle{ + pixel_y = 3 }, -/obj/item/pen{ - pixel_x = 3; - pixel_y = 4 +/obj/item/gun/energy/temperature/security{ + pixel_y = -3 }, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/ai_monitored/security/armory) "hDl" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) -"hDo" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south{ - c_tag = "Medical - Cryogenics"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/volume_pump/on{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/cryo) "hDp" = ( /turf/closed/wall/r_wall, /area/station/security/brig) -"hDs" = ( -/obj/structure/table/reinforced, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/north{ - name = "Brig Entrance Desk"; - req_access = list("security") +"hDu" = ( +/obj/structure/closet/secure_closet/atmospherics, +/turf/open/floor/iron/dark/side, +/area/station/engineering/atmos/office) +"hDA" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/door/window/left/directional/south{ - name = "Brig Entrance Desk" - }, -/obj/machinery/door/poddoor/shutters{ - id = "brig_post"; - name = "Security Shutters" - }, -/obj/structure/desk_bell{ - pixel_y = 2; - pixel_x = 6 - }, -/turf/open/floor/iron/dark, -/area/station/security/brig/entrance) -"hDv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/engineering/main) -"hDz" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/light/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/computer/security/hos{ - 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/catwalk_floor, +/area/station/maintenance/department/science) +"hDB" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, +/obj/structure/chair/sofa/bench, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/hallway/secondary/exit/departure_lounge) "hDE" = ( /obj/structure/tank_dispenser, /turf/open/floor/iron/white, /area/station/science/auxlab) +"hDH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/commons/locker) "hDJ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -22918,50 +22650,13 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"hDN" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/table/wood, -/obj/item/book/manual/wiki/detective{ - pixel_x = -7; - pixel_y = 5 - }, -/obj/item/reagent_containers/cup/glass/bottle/whiskey{ - pixel_y = 7; - pixel_x = 5 - }, -/obj/item/clothing/mask/cigarette{ - pixel_x = -6 - }, -/obj/item/lighter{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/clothing/glasses/hud/security/sunglasses, -/turf/open/floor/wood, -/area/station/security/detectives_office) -"hDP" = ( -/obj/machinery/status_display/evac/directional/east, -/obj/structure/chair/sofa/left/brown, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"hDT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"hEh" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Post, Engineering"; - name = "security camera" +"hDR" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 10 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "hEi" = ( /obj/structure/table, /obj/item/clothing/mask/balaclava{ @@ -22983,18 +22678,24 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"hEt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/structure/bed{ - dir = 4 +"hEE" = ( +/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/atmos/storage) +"hEG" = ( +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 }, -/obj/item/bedsheet/medical{ - dir = 4 +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/upgraded, /turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) +/area/station/medical/chemistry) "hEL" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -23011,16 +22712,41 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/exit/departure_lounge) -"hEV" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ +"hEN" = ( +/turf/open/floor/iron/dark/corner{ dir = 4 }, -/obj/effect/turf_decal/trimline/dark_blue/line{ +/area/station/hallway/secondary/exit/departure_lounge) +"hEO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Fuel to Incinerator" + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"hEP" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) +"hER" = ( +/obj/machinery/light/directional/west, +/obj/structure/cable, +/obj/machinery/power/smes/engineering, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"hFj" = ( +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/structure/window/reinforced/tinted, +/obj/structure/toilet{ dir = 8 }, -/obj/machinery/station_map/directional/east, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/security/prison/safe) "hFk" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -23029,23 +22755,53 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"hFr" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_y = 5 +"hFm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"hFz" = ( -/obj/structure/window/spawner/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/engineering/break_room) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + id_tag = "dorm_2"; + name = "Dorm 2" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms/room2) +"hFy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/stone, +/area/station/smithing) +"hFD" = ( +/obj/structure/chair/plastic, +/turf/open/floor/iron/dark, +/area/station/security/prison/visit) "hFF" = ( /obj/structure/table, /obj/item/pai_card, /turf/open/floor/iron, /area/station/commons/dorms) +"hFN" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"hFO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"hFR" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "hFU" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -23065,21 +22821,6 @@ /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) -"hFY" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Command - Teleporter Room"; - name = "command camera" - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/rack, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/mask/gas, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "hGa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tool, @@ -23101,12 +22842,6 @@ /obj/item/hand_labeler, /turf/open/floor/wood, /area/station/security/detectives_office) -"hGk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos) "hGm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -23115,26 +22850,22 @@ /obj/machinery/air_sensor/nitrogen_tank, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"hGH" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/power/port_gen/pacman/super, -/turf/open/floor/plating, -/area/station/engineering/main) -"hGS" = ( -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) -"hHd" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/window/brigdoor/left/directional/south{ - name = "Security Checkpoint Desk"; - req_access = list("security") +"hGG" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"hGI" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/west, +/obj/structure/tank_dispenser, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"hGW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) +/turf/open/floor/iron/sepia, +/area/station/service/library/artgallery) "hHw" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -23196,20 +22927,20 @@ }, /turf/open/floor/iron/white, /area/station/science/circuits) -"hHX" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/meeting_room) "hIb" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hIe" = ( +"hIi" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) "hIk" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -23236,19 +22967,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"hIE" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/service/janitor) -"hIN" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/directional/north{ - c_tag = "Command - Bridge Deliveries"; - name = "command camera" +"hIp" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"hIT" = ( +/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/machinery/light/small/directional/north, -/turf/open/floor/iron/dark/smooth_large, +/turf/open/floor/iron/dark, /area/station/command/bridge) "hIU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23256,78 +22987,60 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hIW" = ( -/obj/structure/table/wood, -/obj/machinery/cassette/adv_cassette_deck{ - pixel_y = 8 - }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"hJa" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"hJi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/turf/open/floor/iron, +/area/station/cargo/sorting) +"hJj" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"hJv" = ( +/obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, /area/station/security/prison) -"hJb" = ( -/obj/structure/disposalpipe/segment{ +"hJw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) +"hJR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/chair/comfy/black{ +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/security/prison/safe) +"hKa" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ dir = 8 }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"hJi" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"hJr" = ( -/obj/effect/turf_decal/tile/green/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"hKb" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = 6 +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"hKe" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/item/healthanalyzer, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"hKf" = ( -/obj/machinery/shieldgen, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/autoname/directional/west, +/obj/item/radio/intercom/prison/directional/west, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) "hKj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/plating/airless, /area/station/ai_monitored/turret_protected/aisat/atmos) -"hKq" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Medical - Psychology Office"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) "hKs" = ( /obj/machinery/camera/directional/west{ c_tag = "AI Sat - External, Southeast"; @@ -23336,30 +23049,11 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"hKz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/aft) -"hKA" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/computer/crew{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "hKC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"hKH" = ( -/obj/structure/displaycase/trophy, -/turf/open/floor/wood, -/area/station/service/library) "hKM" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -23369,35 +23063,33 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/processing) -"hKX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/machinery/door/poddoor/shutters{ - id = "engi_pass_shutters"; - name = "Engineering Shutters"; +"hKQ" = ( +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/turf/open/floor/plating, -/area/station/engineering/break_room) -"hLe" = ( -/obj/structure/rack, -/obj/item/mop, -/obj/item/reagent_containers/cup/bottle/ammonia, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/turf/open/floor/iron/dark/side{ - dir = 10 +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"hLb" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Security Office Maintenance" }, -/area/station/security/prison) -"hLs" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/obj/effect/landmark/start/gary/rare, -/turf/open/floor/wood, -/area/station/service/library/private) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/airlock/access/all/security/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/security/office) +"hLp" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/window/reinforced/tinted, +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/safe) "hLt" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 9 @@ -23407,21 +23099,22 @@ /obj/machinery/computer/rdservercontrol, /turf/open/floor/iron/dark, /area/station/science/server) -"hLv" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/delivery/white, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) -"hLB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"hLF" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Command - Meeting Room"; + name = "command camera" }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/item/radio/intercom/directional/west, +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = -5 + }, +/obj/machinery/recharger{ + pixel_x = 5 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) "hLH" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -23432,6 +23125,22 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"hLT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/structure/cable, +/obj/structure/liquid_barrier, +/obj/machinery/door/airlock/hatch{ + name = "Cytology Pen" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/turf/open/floor/iron/dark/textured, +/area/station/science/xenobiology) "hLV" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -23451,25 +23160,58 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"hMe" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/disposalpipe/trunk{ +"hLX" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"hMb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + id = "engi_break_room_shutters"; + name = "Engineering Shutters Control"; + req_access = list("engineering") + }, +/obj/structure/filingcabinet/security, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/break_room) +"hMh" = ( +/obj/structure/chair/wood{ dir = 1 }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/white, -/area/station/medical/break_room) -"hMn" = ( -/obj/machinery/light/directional/west, -/obj/structure/bed/double{ +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"hMu" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/item/bedsheet/dorms_double{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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 = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/atmos/office) "hMw" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -23486,52 +23228,18 @@ /obj/structure/rack, /turf/open/floor/iron, /area/station/command/gateway) -"hMB" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Service - Chapel Office"; - name = "service camera" - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/chair/comfy/brown{ - dir = 4 +"hMV" = ( +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/effect/landmark/start/chaplain, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"hMD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"hNa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/service/janitor) -"hME" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/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/cryo) -"hMJ" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/security/interrogation) +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "hNi" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 @@ -23558,32 +23266,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/starboard) -"hNt" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"hNA" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, +"hNG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"hNJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance{ - name = "Gambling Den Maintenance" - }, -/obj/machinery/duct, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) +/obj/structure/table/reinforced, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "hNM" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -23617,6 +23306,12 @@ /obj/structure/sign/poster/official/obey/directional/south, /turf/open/floor/iron/dark, /area/station/security/processing) +"hNR" = ( +/obj/effect/turf_decal/bot, +/obj/structure/fireaxecabinet/directional/north, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "hNX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23628,6 +23323,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"hOf" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/surgery) +"hOg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) "hOh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23637,13 +23347,23 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/large, /area/station/command/gateway) -"hOr" = ( -/obj/structure/chair/office{ - dir = 8 +"hOn" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/effect/landmark/start/blueshield, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/newscaster/directional/north, +/obj/structure/closet/secure_closet/chemical, +/obj/item/wrench/medical, +/obj/item/radio/headset/headset_med, +/obj/item/radio/headset/headset_med, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"hOq" = ( +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "hOt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -23659,36 +23379,41 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"hOA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) +"hOG" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) "hOU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"hPf" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular, -/obj/item/toy/figure/md{ - pixel_y = 15; - pixel_x = -11 +"hOZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/iron/white, -/area/station/medical/office) -"hPs" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) -"hPx" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/rd) +"hPz" = ( +/obj/effect/turf_decal/trimline/purple/line, +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, -/obj/machinery/door/poddoor/shutters{ - id = "station_away_gate"; - name = "Gateway Access Shutters" - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/gateway) +/obj/machinery/light/directional/north, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/lapvend, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "hPA" = ( /obj/structure/table, /obj/item/clothing/gloves/cargo_gauntlet{ @@ -23700,21 +23425,9 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"hPB" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/structure/table, -/obj/item/radio/off, -/obj/item/crowbar/red, -/obj/item/assembly/flash/handheld, +"hPL" = ( /turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) -"hPC" = ( -/obj/machinery/power/floodlight, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/area/station/security/lockers) "hPM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, @@ -23743,25 +23456,51 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) +"hPQ" = ( +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/machinery/newscaster/directional/east, +/obj/structure/table/wood, +/obj/item/toy/plush/moth{ + name = "Dr. Moff" + }, +/obj/item/toy/figure/psychologist{ + pixel_x = 9; + pixel_y = -9 + }, +/turf/open/floor/wood, +/area/station/medical/psychology) "hPT" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/security/detectives_office) -"hQP" = ( -/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/lobby) -"hQX" = ( +"hQG" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"hQO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"hQT" = ( +/obj/effect/turf_decal/trimline/brown/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "hRe" = ( /obj/machinery/light/small/directional/north, /obj/machinery/camera/directional/north{ @@ -23771,6 +23510,18 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"hRf" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Arrivals - Bay 1, Lower Hallway"; + name = "arrivals camera" + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "hRt" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -23778,62 +23529,19 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"hRA" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"hRJ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Armory, East"; - name = "security camera" - }, -/obj/machinery/button/door/directional/east{ - id = "armory_side_access"; - name = "Armory Side Access"; - req_access = list("armory"); - pixel_y = -6 - }, -/obj/machinery/button/door/directional/east{ - id = "armory_desk"; - name = "Armory Desk Shutters Control"; - req_access = list("armory"); - pixel_y = 6 - }, -/obj/machinery/button/door/directional/east{ - id = "armory_window_shutters"; - name = "Armory Window Shutters Control"; - req_access = list("armory"); - pixel_y = 6; - pixel_x = 38 - }, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_x = -9 - }, -/obj/machinery/recharger, -/obj/machinery/recharger{ - pixel_x = 9 - }, -/obj/item/toy/figure/warden{ - pixel_y = 14 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"hRV" = ( -/obj/structure/chair/sofa/right/maroon{ - dir = 8 +"hRz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, +/obj/structure/sign/warning/secure_area/directional/south, /turf/open/floor/iron, -/area/station/commons/fitness/recreation) -"hSc" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, +/area/station/maintenance/department/science) +"hSg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/department/engineering/central) "hSi" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -23853,27 +23561,15 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/port) -"hSp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) -"hSr" = ( -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"hSy" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/red/filled/line{ +"hSv" = ( +/obj/structure/disposalpipe/junction{ dir = 8 }, -/obj/machinery/computer/prisoner/management{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/warden) +/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) "hSz" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -23892,101 +23588,128 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"hTf" = ( -/obj/effect/turf_decal/tile/neutral/half, -/obj/effect/turf_decal/tile/neutral/half{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/south, +"hTj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/smooth_half, -/area/station/command/gateway) -"hTs" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) +/obj/structure/cable, +/obj/machinery/holopad, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/bar) "hTx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron, /area/station/cargo/storage) -"hTE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/machinery/meter, +"hTG" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/machinery/newscaster/directional/north, +/obj/structure/sign/poster/random/directional/west, +/obj/machinery/recharge_station, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/cargo/storage) +"hTI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/area/station/maintenance/starboard/fore) "hTN" = ( /obj/effect/spawner/random/structure/closet_private, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hTS" = ( -/obj/effect/spawner/structure/window/reinforced, +"hTQ" = ( +/obj/structure/sink/directional/south, +/obj/effect/spawner/random/trash/bucket, +/turf/open/floor/plating, +/area/station/maintenance/port) +"hTW" = ( +/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, -/obj/machinery/door/poddoor/shutters{ - id = "cmo_office_shutters"; - name = "CMO's Office Shutters"; +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/starboard/aft) +"hUc" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/cmo) -"hTV" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/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/shutters{ + id = "robotics_garage"; + name = "Robotics Garage Shutters" }, -/obj/machinery/camera/directional/south{ - c_tag = "Arrivals - Bay 1, Lower Hallway"; - name = "arrivals camera" +/turf/open/floor/iron/dark/textured, +/area/station/science/robotics/mechbay) +"hUq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 10 }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "hUt" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark/side, /area/station/commons/fitness) -"hUA" = ( -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree, -/obj/item/canvas/twentythree_nineteen, -/obj/item/canvas/nineteen_nineteen, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"hUQ" = ( -/obj/effect/spawner/structure/window/reinforced, +"hUx" = ( /obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "bridge_blast_doors"; - name = "Bridge Access Blast Door" +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/plating, -/area/station/command/bridge) -"hUS" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/machinery/airalarm/directional/south, -/obj/structure/chair/sofa/bench/left{ - dir = 1 +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"hUD" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"hUK" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 9 }, -/obj/machinery/camera/autoname/directional/south, -/obj/effect/landmark/start/hangover, +/area/station/security/prison/safe) +"hUZ" = ( +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"hUW" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 +/area/station/commons/fitness/recreation) +"hVc" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/light/directional/south, +/obj/structure/chair/sofa/bench/left{ + dir = 1 }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/main) +"hVw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/machinery/light/directional/west, -/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/brig) +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) "hVF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24001,13 +23724,57 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/escape) -"hWa" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 +"hVV" = ( +/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, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/iron/white, -/area/station/medical/surgery) +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"hWc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "departures_security_checkpoint"; + name = "Security Checkpoint Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/security/checkpoint/escape) +"hWl" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/dresser, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) +"hWo" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/south, +/obj/machinery/computer/department_orders/security{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) +"hWp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/cable_coil/cut, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"hWs" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/light/small/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_10k, +/obj/machinery/quantum_server, +/turf/open/floor/iron/dark, +/area/station/security/bitden) "hWv" = ( /obj/structure/sign/poster/ripped/directional/east, /obj/structure/bed/pod, @@ -24015,13 +23782,15 @@ /obj/effect/landmark/start/mime, /turf/open/floor/carpet/black, /area/station/service/theater) -"hWF" = ( -/obj/effect/turf_decal/tile/green/anticorner/contrasted, -/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) +"hWP" = ( +/obj/machinery/stasis, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"hWT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "hWV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -24032,6 +23801,20 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/port) +"hWZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"hXe" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, +/area/station/asteroid) "hXf" = ( /obj/structure/sign/warning/rad_shelter/directional/east, /obj/machinery/camera/autoname/directional/east, @@ -24040,42 +23823,21 @@ "hXt" = ( /turf/open/floor/iron/white, /area/station/science/genetics) -"hXv" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 +"hXO" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/modular_computer/preset/research{ + dir = 4 }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"hYj" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 8 }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/upgraded, -/obj/item/toy/figure/cargotech{ - pixel_y = 13 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/storage) -"hXQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/table, -/obj/item/crowbar/large, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron/dark/side, -/area/station/engineering/storage_shared) -"hYj" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/warning{ - dir = 4 +/obj/effect/turf_decal/trimline/red/warning{ + dir = 4 }, /turf/open/floor/iron/dark, /area/station/security/brig) @@ -24089,6 +23851,17 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/security/office) +"hYl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"hYy" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/power/rad_collector, +/turf/open/floor/plating, +/area/station/engineering/main) "hYC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -24102,16 +23875,21 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"hYH" = ( -/obj/structure/sign/warning/biohazard/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Maintenance - Science Pass-through, Xenobiology Access"; - name = "maintenance camera"; - network = list("ss13","rd","xeno") +"hYJ" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/maintenance/department/science) +/obj/machinery/camera/directional/south{ + c_tag = "Security - Courtroom Southwest"; + name = "security camera" + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "hYM" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/window/reinforced/spawner/directional/west, @@ -24120,6 +23898,16 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/lobby) +"hYR" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/table/optable{ + desc = "A cold, hard place for your final rest."; + name = "Morgue Slab" + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "hYU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -24143,34 +23931,35 @@ "hYZ" = ( /turf/closed/wall, /area/station/commons/dorms/laundry) -"hZj" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/rack, -/obj/item/storage/briefcase{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/secure/briefcase, +"hZl" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/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, -/area/station/security/detectives_office) +/area/station/command/teleporter) "hZp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/dark/side, /area/station/commons/locker) -"hZF" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"hZS" = ( -/obj/effect/turf_decal/bot_red, -/obj/structure/cable, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/large, -/area/station/ai_monitored/command/storage/eva) +"hZR" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/engineering/storage_shared) +"hZX" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/obj/machinery/pdapainter/research, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/rd) "iac" = ( /obj/structure/table, /obj/structure/frame/machine, @@ -24179,27 +23968,51 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "iah" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/obj/effect/turf_decal/bot, +/obj/machinery/space_heater, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "iap" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"iar" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/light/directional/south, -/obj/structure/sign/flag/nanotrasen/directional/south, -/turf/open/floor/iron/checker{ - dir = 1 +"iax" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/clothing/suit/armor/riot{ + pixel_x = 6; + pixel_y = 3 }, -/area/station/command/heads_quarters/cmo) +/obj/item/clothing/suit/armor/riot{ + pixel_x = 6 + }, +/obj/item/clothing/suit/armor/riot{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/item/shield/riot{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/shield/riot{ + pixel_x = -6 + }, +/obj/item/shield/riot{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/clothing/head/helmet/toggleable/riot, +/obj/item/clothing/head/helmet/toggleable/riot{ + pixel_y = 3 + }, +/obj/item/clothing/head/helmet/toggleable/riot{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "iay" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -24216,25 +24029,12 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iaD" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/closet/secure_closet/captains, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) "iaE" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/light/directional/east, /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"iaL" = ( -/obj/machinery/light/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/closet/l3closet/scientist, -/obj/item/extinguisher, -/turf/open/floor/iron/showroomfloor, -/area/station/science/xenobiology/hallway) "iaT" = ( /turf/closed/wall, /area/station/science/robotics/mechbay) @@ -24244,19 +24044,25 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"ibg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"ibh" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) +"ibq" = ( +/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/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/warning{ dir = 8 }, -/turf/open/floor/wood, -/area/station/service/library) -"ibp" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/computer/message_monitor{ +/turf/open/floor/iron/dark/side{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/hallway/primary/aft) "ibw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -24281,25 +24087,46 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"ibZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"ibJ" = ( +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"ich" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/security/interrogation) +"icj" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/obj/structure/filingcabinet, +/turf/open/floor/iron/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) +"icl" = ( +/obj/structure/closet/crate, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "icu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"icv" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/status_display/evac/directional/south, -/obj/machinery/power/port_gen/pacman/pre_loaded, -/turf/open/floor/iron/large, -/area/station/engineering/gravity_generator) "icx" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -24309,34 +24136,38 @@ /obj/structure/cable, /turf/open/space/basic, /area/station/solars/starboard/fore) -"icV" = ( -/obj/structure/sign/painting/library{ - pixel_x = -32 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/table/wood, -/obj/effect/spawner/random/bureaucracy/briefcase{ - spawn_loot_count = 2; - spawn_random_offset = 1 +"icW" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/turf/open/floor/wood, -/area/station/service/library/private) +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/chair/sofa/bench/left, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "icZ" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/warehouse) -"ide" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/modular_computer/preset/cargochat/engineering, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, +"idb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/side, /area/station/engineering/break_room) +"idr" = ( +/obj/structure/filingcabinet, +/turf/open/floor/carpet/green, +/area/station/commons/vacant_room/office) +"idB" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "idJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/side{ @@ -24355,11 +24186,36 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iea" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) +"idS" = ( +/obj/machinery/requests_console/directional/east{ + department = "Telecomms Admin"; + name = "Telecomms Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/tcommsat/computer) +"idW" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/red, +/area/station/security/courtroom) +"idY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/engineering/break_room) "ieE" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -24381,6 +24237,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"ifh" = ( +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/item/knife/kitchen, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ifj" = ( /obj/machinery/light/neon_lining{ dir = 4 @@ -24391,16 +24253,10 @@ /turf/open/floor/stone, /area/station/science/xenobiology) "ifr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/ammo_workbench, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "ifC" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 8 @@ -24422,39 +24278,44 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"ifT" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/item/kirbyplants/random, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"igl" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +"igf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/trimline/purple/line, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/chair/sofa/bench/right, -/obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/service/chapel) "igm" = ( /turf/closed/wall, /area/station/engineering/storage) +"igA" = ( +/obj/structure/table, +/obj/item/reagent_containers/pill/maintenance, +/obj/item/reagent_containers/pill/maintenance{ + pixel_y = 8; + pixel_x = 7 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "igL" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"igQ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "ihc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -24466,108 +24327,69 @@ dir = 8 }, /area/station/service/theater) -"ihg" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "ihh" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, /area/station/engineering/main) -"iho" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) +"ihs" = ( +/obj/structure/transit_tube, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/transit_tube) "ihC" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"ihJ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"ihK" = ( -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"ihO" = ( -/obj/structure/cable, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "ihP" = ( /obj/structure/sign/warning/rad_shelter/directional/west, /turf/open/floor/iron/dark, /area/station/security/prison) -"iib" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/south, -/obj/machinery/door/window/left/directional/north{ - name = "Miscellaneous Medical Supplies"; - req_access = list("medical") +"iio" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"iit" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 }, -/obj/structure/table/reinforced/rglass, -/obj/item/gun/syringe, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "iiv" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/disposal) -"iix" = ( -/obj/structure/foamedmetal, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"iiC" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/structure/closet/secure_closet/freezer/kitchen{ - req_access = null - }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"iiE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, +"iiF" = ( +/obj/machinery/atmospherics/components/tank, /turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"iiQ" = ( -/obj/structure/chair/office, -/obj/effect/landmark/start/brig_physician, -/turf/open/floor/iron/white, -/area/station/security/medical) -"iiR" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"ija" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +/area/station/maintenance/starboard/aft) +"iiJ" = ( /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 1 }, -/obj/structure/cable, -/obj/machinery/door/airlock/engineering/glass{ - name = "Server Room" +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "library_desk_shutters"; + name = "Library Desk Shutters"; + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/red, +/obj/item/pen/blue{ + pixel_x = 3; + pixel_y = 3 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/dark/textured_large, -/area/station/tcommsat/computer) +/turf/open/floor/iron/dark/textured, +/area/station/service/library/printer) "ijj" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -24579,23 +24401,46 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"ijn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "ijp" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"ijG" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +"ijs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"ijv" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/machinery/rnd/production/circuit_imprinter, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/engineering/break_room) +"ijF" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=AftH"; + location = "AIW" + }, +/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 = 10 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"ijH" = ( +/obj/machinery/light/directional/west, +/obj/structure/chair/comfy/brown, +/obj/effect/landmark/start/hangover, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) +"ijI" = ( +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ijM" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -24610,105 +24455,29 @@ /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ika" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +"ikp" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 10 }, -/obj/machinery/computer/apc_control{ +/turf/open/space, +/area/space/nearstation) +"ikr" = ( +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"ikD" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/command/heads_quarters/ce) -"ike" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/table/reinforced, -/obj/item/pinpointer/nuke, -/obj/item/melee/baton, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"iki" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - 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/dark/side{ - dir = 4 - }, -/area/station/command/heads_quarters/ce) -"ikm" = ( -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/auxlab) -"iko" = ( -/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/plating, -/area/station/maintenance/department/engine) -"ikp" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 10 - }, -/turf/open/space, -/area/space/nearstation) -"ikq" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/yellow, -/obj/item/pen/red, -/turf/open/floor/iron/dark/side{ +/turf/open/floor/iron/white, +/area/station/science/genetics) +"ikH" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 }, -/area/station/cargo/office) -"ikt" = ( -/obj/structure/table/wood, -/obj/machinery/recharger, -/obj/item/hand_tele{ - pixel_x = -19 - }, -/obj/item/melee/chainofcommand{ - pixel_x = -15 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"ikD" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, /turf/open/floor/iron/white, -/area/station/science/genetics) -"ikP" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/medical/chemistry) "ikU" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -24761,16 +24530,21 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"ilu" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "ilE" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/prison/visit) +"ilG" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "med_priv_2"; + name = "Privacy Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/patients_rooms/room_b) "ilH" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -24782,6 +24556,34 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"ilP" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "medbay_foyer"; + name = "Medbay" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/landmark/navigate_destination/med, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "med_lockdown"; + name = "Medbay Emergency Lockdown Shutters"; + dir = 1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/central) +"ilR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "med_lockdown"; + name = "Medbay Emergency Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/medbay/central) "ilT" = ( /obj/structure/table, /obj/item/clothing/mask/translator{ @@ -24793,14 +24595,6 @@ /obj/item/clothing/mask/translator, /turf/open/floor/iron/dark, /area/station/security/office) -"ilX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/medical/psychology) "imb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -24809,12 +24603,32 @@ dir = 8 }, /area/station/commons/fitness) +"ime" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "img" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ dir = 4 }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) +"imm" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/maintenance{ + name = "EVA Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/eva, +/turf/open/floor/plating, +/area/station/ai_monitored/command/storage/eva) "imo" = ( /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/dark/side{ @@ -24836,35 +24650,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) -"imx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 - }, -/obj/machinery/meter, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"imB" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/directional/west, -/obj/machinery/space_heater, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"imG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"imH" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) "imJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24875,6 +24660,18 @@ }, /turf/open/floor/iron/white, /area/station/science/explab) +"imM" = ( +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/structure/sign/poster/official/high_class_martini/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"imT" = ( +/obj/structure/window/spawner/directional/south, +/obj/machinery/computer/atmos_alert{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "imU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24884,51 +24681,24 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) -"imV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"ina" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner, -/obj/machinery/light/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"inn" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) -"ins" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) -"inA" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical{ - desc = "Danger. Very robust. Did someone change this?" - }, -/obj/item/crowbar/large{ - desc = "Sic semper tyrannis."; - name = "The One Free Engineer's crowbar" +"imZ" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, -/area/station/command/bridge) -"inB" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/area/station/security/checkpoint/supply) +"inq" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/science/research) "inF" = ( /obj/machinery/airalarm/directional/west, /obj/structure/disposalpipe/trunk{ @@ -24951,72 +24721,26 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/plating, /area/station/engineering/atmos) -"inV" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/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) "iol" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/jungle/c/style_random, /turf/open/floor/grass, /area/station/hallway/primary/aft) -"iom" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/service/library) -"ioq" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/item/storage/box/lights/mixed, -/obj/effect/spawner/random/entertainment/plushie, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) "ior" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/break_room) -"ioJ" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) -"ioZ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +"iot" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"ipb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"ipd" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/motion/directional/west{ - c_tag = "AI - Upload Access"; - network = list("ss13","aiupload"); - name = "ai camera" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "ipj" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 @@ -25024,41 +24748,6 @@ /obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"ipp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/window/spawner/directional/north, -/obj/machinery/chem_master, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"ipt" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring medbay to ensure patient safety."; - name = "Medbay Monitor"; - network = list("medbay") - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"ipC" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/secondary/service) "ipF" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -25073,17 +24762,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ipH" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/requests_console/directional/east{ - department = "Law Office"; - name = "Law Office Requests Console" +"ipG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 4 }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos) "ipL" = ( /obj/effect/turf_decal/tile/brown/half/contrasted, /obj/machinery/newscaster/directional/south, @@ -25113,12 +24798,6 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron, /area/station/science/xenobiology) -"iqi" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/suit_storage_unit/industrial/loader, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "iqq" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -25142,43 +24821,31 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/port) -"iqG" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, +"iqE" = ( +/obj/machinery/ntnet_relay, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms, +/area/station/tcommsat/server) +"iqI" = ( /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) -"iqM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"iqN" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"iqP" = ( -/obj/effect/turf_decal/stripes/corner{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/stripes/corner{ +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"iqN" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 }, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +/area/station/hallway/primary/central) "iqQ" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/camera/autoname/directional/north, @@ -25197,15 +24864,29 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"irp" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/cryopod/prison{ - dir = 4 +"irf" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/effect/spawner/random/bureaucracy/folder{ + pixel_y = 6 }, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/effect/spawner/random/bureaucracy/pen{ + pixel_y = 6 }, -/area/station/security/prison/safe) +/turf/open/floor/iron, +/area/station/commons/dorms) +"irk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"irs" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white, +/area/station/medical/virology) "irt" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -25222,11 +24903,44 @@ }, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) +"irG" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/all_access, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, +/obj/structure/table, +/obj/item/wrench, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"irJ" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/cargo/storage) "irR" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/nanite_programmer, /turf/open/floor/iron/white, /area/station/science/research) +"irU" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "isa" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -25244,29 +24958,41 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) -"isn" = ( -/obj/machinery/light/directional/north, -/obj/structure/sign/painting/library{ - pixel_y = 32 +"isr" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/cryopod{ + dir = 8 }, -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/station/service/library) -"isM" = ( -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree, -/obj/item/canvas/twentythree_nineteen, -/obj/item/canvas/twentythree_twentythree, -/turf/open/floor/iron/dark/side, -/area/station/commons/fitness/recreation) -"isR" = ( -/obj/machinery/door/firedoor/border_only{ +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"ist" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/structure/window/reinforced/spawner/directional/north, -/mob/living/basic/chicken, -/turf/open/floor/grass, -/area/station/service/hydroponics) +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"isx" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"isy" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) "ita" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25274,27 +25000,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"itd" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/security/prison/safe) -"itm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Head of Personnel's Office"; - name = "Head of Personnel's Fax Machine" - }, -/obj/machinery/airalarm/directional/north, +"iti" = ( +/obj/structure/sink/directional/west, /turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/area/station/service/abandoned_gambling_den) "itv" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -25311,11 +25020,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"itB" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "itE" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -25325,113 +25029,38 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) -"itK" = ( -/obj/structure/chair/wood{ - dir = 8 +"itV" = ( +/obj/effect/turf_decal/bot_white/right, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"itW" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) +"iua" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"itL" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Engineering Storage Maintenance" +/area/station/service/lawoffice) +"iue" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/engineering/storage) -"itM" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Telecomms Monitoring"; - network = list("tcomms") - }, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/tcommsat/computer) -"itN" = ( -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/commons/dorms) -"itV" = ( -/obj/effect/turf_decal/bot_white/right, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"itW" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 10 - }, -/turf/open/space/basic, -/area/space/nearstation) -"iua" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"iue" = ( -/obj/machinery/status_display/supply{ - pixel_x = -32 - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 7 - }, -/obj/item/stamp/head/qm{ - pixel_x = 8; - pixel_y = 12 - }, -/obj/item/stamp{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/stamp/denied{ - pixel_x = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) -"iuj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"ium" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "cell_pub_shutters"; - name = "Security Shutters" - }, -/turf/open/floor/plating, -/area/station/security/brig) -"iuo" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"iuq" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/computer/station_alert{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/turf/open/floor/iron/dark/side{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) +/area/station/command/heads_quarters/ce) +"iui" = ( +/obj/machinery/growing/soil, +/turf/open/floor/grass, +/area/station/service/chapel/funeral) "iuu" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -25441,16 +25070,16 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"iuy" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/structure/chair/sofa/bench/left{ - dir = 4 +"iuC" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Medical - Psychology Office"; + name = "medical camera"; + network = list("ss13","medbay") }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "iuF" = ( /obj/machinery/light/directional/south, /obj/machinery/chem_master, @@ -25463,30 +25092,17 @@ /obj/machinery/deepfryer, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"iuI" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/item/gun/energy/disabler{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/energy/disabler, -/obj/item/gun/energy/disabler{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"iuJ" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) "iuK" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"iuL" = ( +/obj/machinery/light/directional/north, +/obj/machinery/newscaster/directional/north, +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/security/detectives_office) "iuN" = ( /obj/structure/chair/sofa/bench{ dir = 4 @@ -25499,53 +25115,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"iuU" = ( -/obj/machinery/telecomms/server/presets/security, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"ivb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/autolathe, -/obj/machinery/door/window/left/directional/south{ - name = "Public Autolathe"; - req_access = list("cargo") - }, -/obj/machinery/door/window/left/directional/north{ - name = "Public Autolathe" - }, -/obj/machinery/door/poddoor/shutters{ - id = "cargo_desk"; - name = "Cargo Desk Shutters"; - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/cargo/office) -"ivd" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/sign/directions/command/directional/north{ - pixel_y = 41; - dir = 2 - }, -/obj/structure/sign/directions/supply/directional/north{ - dir = 8 - }, -/obj/structure/sign/directions/vault/directional/north{ - pixel_y = 23; - dir = 8 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - Central, Northwest"; - name = "hallway camera" - }, +"iuZ" = ( +/obj/machinery/light/directional/south, +/obj/item/radio/intercom/prison/directional/south, +/obj/structure/table, +/obj/item/shovel/spade, +/obj/item/plant_analyzer, +/obj/item/cultivator, +/obj/item/reagent_containers/cup/watering_can, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/security/prison/garden) "ivj" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/sign/warning/electric_shock/directional/south, @@ -25555,13 +25134,6 @@ /obj/item/assembly/flash/handheld, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"ivl" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) "ivp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -25577,6 +25149,15 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) +"ivD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "ivH" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -25584,21 +25165,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"ivS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"iwa" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/suit_storage_unit/ce, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/command/heads_quarters/ce) "iwf" = ( /obj/structure/table, /turf/open/floor/iron/dark, @@ -25629,6 +25195,13 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"iws" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/item/storage/box/zipties, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) "iwL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25650,18 +25223,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"iwW" = ( -/obj/machinery/button/door/directional/east{ - id = "med_break_bathroom"; - name = "Bathroom Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_y = 6 - }, -/obj/machinery/shower/directional/north, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/break_room) "iwZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -25675,12 +25236,28 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"ixk" = ( -/obj/effect/turf_decal/box/corners{ +"ixb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable/layer1, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) +"ixm" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/photocopier, +/turf/open/floor/wood, +/area/station/service/lawoffice) +"ixq" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 }, +/obj/effect/turf_decal/trimline/dark_blue/line, /turf/open/floor/iron/white, -/area/station/medical/chemistry) +/area/station/medical/medbay/central) "ixw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25697,13 +25274,16 @@ /obj/item/computer_disk/ordnance, /turf/open/floor/iron/vaporwave, /area/station/command/heads_quarters/rd) -"ixK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, +"ixP" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, /turf/open/floor/iron/white, -/area/station/medical/exam_room) +/area/station/medical/medbay/aft) "iya" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -25718,122 +25298,99 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron/textured, /area/station/engineering/storage) -"iyf" = ( +"iyk" = ( +/obj/machinery/telecomms/server/presets/common, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"iyz" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 + }, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"iym" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/newscaster/directional/east, -/obj/structure/closet/secure_closet/chief_medical, -/obj/item/screwdriver, -/obj/item/clothing/head/costume/nursehat, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) -"iyC" = ( -/obj/effect/turf_decal/box/corners, -/obj/machinery/camera/directional/south{ - c_tag = "Medical - Chemistry Factory, South"; - name = "medical camera"; - network = list("ss13","medbay") +/area/station/maintenance/department/engine/atmos) +"iyB" = ( +/obj/structure/disposalpipe/sorting/mail{ + dir = 8 }, -/obj/machinery/chem_master, +/obj/effect/mapping_helpers/mail_sorting/medbay/general, +/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/chemistry) -"iyE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/yellow/corner, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/hallway/primary/aft) -"iyI" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) +/area/station/medical/medbay/central) "iyL" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/table/glass, /obj/item/toy/figure/borg, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"iza" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"izg" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - West, Western End"; - name = "hallway camera" +"iyM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood{ + dir = 8 }, -/obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, -/area/station/hallway/primary/port) +/area/station/service/abandoned_gambling_den) "izu" = ( /obj/structure/water_source/puddle, /turf/open/floor/grass, /area/station/hallway/primary/central) -"izy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"izx" = ( +/obj/machinery/light/directional/east, +/obj/structure/bookcase/random/religion, +/turf/open/floor/wood, +/area/station/service/library) +"izW" = ( +/obj/structure/table/wood/fancy/royalblue, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 21 }, -/obj/effect/turf_decal/stripes/line{ +/obj/item/storage/fancy/cigarettes/cigars/havana{ + pixel_y = 7 + }, +/obj/item/lighter{ + pixel_y = 7; + pixel_x = 7 + }, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) +"izX" = ( +/obj/machinery/station_map/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"izZ" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/machinery/door/firedoor, /obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor/left/directional/east{ - name = "Blueshield Desk"; - req_access = list("captain") +/obj/item/storage/box/flashbangs{ + pixel_x = -6; + pixel_y = -3 }, -/obj/machinery/door/window/right/directional/west{ - name = "Reception" +/obj/item/storage/box/flashes{ + pixel_x = -6 }, -/obj/machinery/door/poddoor/shutters{ - id = "bs_desk"; - name = "Desk Shutters"; - dir = 8 +/obj/item/storage/box/teargas{ + pixel_y = 3; + pixel_x = -6 }, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/blueshield) -"izQ" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 +/obj/item/storage/box/handcuffs{ + pixel_y = -3; + pixel_x = 6 }, -/obj/structure/chair/sofa/bench/right{ - dir = 4 +/obj/item/storage/box/firingpins{ + pixel_x = 6 }, -/obj/effect/landmark/start/hangover, +/obj/item/storage/box/firingpins{ + pixel_y = 3; + pixel_x = 6 + }, +/obj/item/disk/ammo_workbench/advanced, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"izU" = ( -/turf/open/floor/glass/reinforced, -/area/station/engineering/main) -"izX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/obj/structure/table, -/turf/open/floor/stone, -/area/station/smithing) +/area/station/ai_monitored/security/armory) "iAb" = ( /obj/effect/turf_decal/bot, /turf/open/floor/engine, @@ -25842,27 +25399,31 @@ /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron/dark/side, /area/station/cargo/lobby) -"iAo" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/structure/chair/sofa/bench/left{ - dir = 1 +"iAq" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 + }, +/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/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"iAv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, /turf/open/floor/iron/white, -/area/station/medical/chemistry) -"iAK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/area/station/medical/storage) +"iAx" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) +/turf/open/floor/iron, +/area/station/engineering/main) "iAS" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25870,38 +25431,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/office) -"iAZ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Captain's Quarters" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/captain, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/captain/private) -"iBc" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"iBi" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"iBo" = ( -/obj/structure/reagent_dispensers/plumbed{ +"iBh" = ( +/obj/machinery/light/directional/west, +/obj/structure/chair/sofa/right/maroon{ dir = 4 }, +/obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark/side{ dir = 8 }, -/area/station/security/prison) +/area/station/commons/fitness) +"iBm" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "iBz" = ( /obj/machinery/light/small/directional/west, /obj/machinery/space_heater, @@ -25925,6 +25470,33 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"iBU" = ( +/obj/effect/turf_decal/tile/red/full, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/window/left/directional/west{ + name = "Security Delivery"; + req_access = list("security") + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/office) +"iCo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"iCA" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/newscaster/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark/side, +/area/station/cargo/sorting) "iCB" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, @@ -25945,6 +25517,20 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"iDi" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation 2" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/turf/open/floor/iron/white/textured, +/area/station/medical/virology) "iDt" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -25962,18 +25548,22 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"iDY" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/engineering/main) -"iEM" = ( -/obj/structure/disposalpipe/junction/flip, +"iDU" = ( +/obj/machinery/light/built/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) +"iEa" = ( +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"iEi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/service/lawoffice) "iEO" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -25988,11 +25578,37 @@ /obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, /turf/open/floor/iron/dark/textured, /area/station/service/hydroponics) +"iEP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/medical{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) +"iER" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/computer/records/security{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "iFb" = ( /obj/machinery/light/small/directional/east, /obj/structure/sign/warning/rad_shelter/directional/east, /turf/open/floor/iron/dark, /area/station/security/prison) +"iFj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "iFw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26004,61 +25620,34 @@ /obj/machinery/holopad, /turf/open/floor/iron/large, /area/station/cargo/lobby) -"iFB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"iFD" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) +"iFI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"iFM" = ( /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/machinery/door/airlock/service/glass{ - name = "Kitchen Counter" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/turf/open/floor/iron/dark/textured, -/area/station/service/kitchen) -"iFK" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"iFL" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/newscaster/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, /turf/open/floor/wood, -/area/station/service/bar) +/area/station/command/heads_quarters/blueshield) "iFN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/ordnance) -"iFR" = ( -/obj/structure/table, -/obj/item/canvas/twentythree_nineteen, -/obj/item/canvas/nineteen_nineteen, -/obj/item/storage/crayons, -/obj/item/storage/crayons, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"iGm" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/structure/sign/directions/cryo/directional/south{ - dir = 4; - pixel_y = -23 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) +"iGk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "iGp" = ( /obj/machinery/newscaster/directional/west, /obj/structure/table/reinforced, @@ -26067,22 +25656,33 @@ }, /turf/open/floor/carpet/purple, /area/station/command/heads_quarters/rd) -"iGw" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 +"iGG" = ( +/turf/open/floor/iron, +/area/station/engineering/break_room) +"iGJ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/window/spawner/directional/south, +/obj/structure/table/reinforced/rglass, +/obj/item/burner/fuel{ + pixel_y = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/item/storage/box/beakers, +/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/dropper, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"iGM" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/dark/side{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"iGG" = ( -/turf/open/floor/iron, -/area/station/engineering/break_room) +/area/station/hallway/primary/aft) "iGO" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 5 @@ -26100,35 +25700,76 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) -"iHb" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, +"iHa" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Atmospherics, Northwest"; + name = "engineering camera" + }, +/obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/iron/dark/smooth_large, -/area/station/security/prison/garden) +/area/station/engineering/atmos) "iHe" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/autoname/directional/south, /obj/machinery/duct, /turf/open/floor/wood/large, /area/station/security/prison/safe) -"iHk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"iHh" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/south, +/obj/machinery/door/window/left/directional/north{ + name = "Miscellaneous Medical Supplies"; + req_access = list("medical") + }, +/obj/structure/table/reinforced/rglass, +/obj/item/gun/syringe, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"iHl" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/window/left/directional/west, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"iHr" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/command/heads_quarters/ce) +/area/station/engineering/main) "iHC" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 }, /turf/open/floor/iron/white, /area/station/science/circuits) -"iHJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/item/radio/intercom/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +"iHF" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"iHM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "iHO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26165,64 +25806,53 @@ /obj/structure/sign/departments/security/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"iIy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"iIA" = ( +"iIl" = ( /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 8 }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) -"iID" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/machinery/button/door/incinerator_vent_atmos_aux{ + pixel_x = -7; + pixel_y = -24 }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"iIF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) -"iIX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +/obj/machinery/button/door/incinerator_vent_atmos_main{ + pixel_x = -7; + pixel_y = -36 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/button/ignition/incinerator/atmos{ + pixel_y = -24; + pixel_x = 7 }, -/obj/machinery/light/small/directional/south, -/obj/machinery/iv_drip, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"iJa" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"iIo" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/wood/fancy, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 35 }, -/obj/machinery/light/small/directional/north, -/obj/item/radio/intercom/directional/north, -/obj/structure/table, -/obj/item/crowbar/red, -/turf/open/floor/iron/dark/side{ +/obj/structure/sign/painting/large/library{ dir = 1 }, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"iIA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) +"iJb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/small/directional/south, +/obj/structure/rack, +/obj/item/extinguisher, +/turf/open/floor/iron/dark/side, /area/station/engineering/break_room) "iJc" = ( /obj/effect/spawner/random/engineering/material_cheap, /turf/open/floor/plating, /area/station/maintenance/department/science) -"iJp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iJv" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -26240,19 +25870,16 @@ /obj/machinery/duct, /turf/open/floor/iron/textured, /area/station/science/robotics/lab) -"iJC" = ( -/obj/effect/turf_decal/trimline/red/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/structure/chair{ - dir = 1 +"iJw" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "iJI" = ( /obj/machinery/corral_corner{ mapping_id = "1" @@ -26265,33 +25892,67 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"iJX" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/all_access, -/obj/effect/mapping_helpers/airalarm/tlv_cold_room, -/obj/structure/table, -/obj/item/wrench, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"iJS" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"iJU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "hydro_back_shutters"; + name = "Hydroponics Backroom Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "iJZ" = ( -/obj/structure/cable, -/obj/structure/window/spawner/directional/south, -/obj/structure/filingcabinet/security, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"iKf" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +/obj/machinery/light/directional/west, +/obj/structure/bed/double{ dir = 4 }, -/obj/machinery/light/small/directional/east, +/obj/item/bedsheet/dorms_double{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) +"iKp" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 1 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 2 + }, +/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/mail_sorting/service/hop_office, /turf/open/floor/iron/dark, -/area/station/security/processing) -"iKJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/area/station/hallway/primary/central) +"iKq" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, +/obj/structure/disposalpipe/segment, +/obj/structure/closet/firecloset{ + anchored = 1 + }, +/obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +/area/station/hallway/secondary/exit/departure_lounge) +"iKH" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "iKL" = ( /obj/effect/turf_decal/trimline/brown/line{ dir = 8 @@ -26302,34 +25963,19 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"iKN" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library/private) -"iKO" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) -"iKZ" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/shower/directional/east, -/obj/machinery/light/small/built/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) "iLe" = ( /obj/machinery/light/directional/south, /obj/structure/sign/poster/official/no_erp/directional/south, /turf/open/floor/iron/dark/side, /area/station/commons/dorms) +"iLf" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "iLj" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -26343,53 +25989,52 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"iLp" = ( -/obj/machinery/button/door/directional/north{ - id = "dorm_5"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5; - pixel_y = 34 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) -"iLr" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals - Escape Pod Bay 1"; - name = "arrivals camera" - }, -/obj/structure/chair, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) -"iLs" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 6 +"iLv" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "iLB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"iLE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "iLG" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/chapel{ dir = 4 }, /area/station/service/chapel) +"iLU" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/auxlab) +"iMb" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced, +/obj/item/multitool, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"iMl" = ( +/obj/effect/turf_decal/tile/green/half/contrasted, +/obj/machinery/light/directional/north, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/structure/chair, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/service/hydroponics) "iMo" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -26406,11 +26051,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"iMt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "iMx" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -26433,23 +26073,15 @@ /turf/open/floor/iron, /area/station/engineering/gravity_generator) "iMG" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) -"iMN" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 4 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Hallway - Central, East"; - name = "hallway camera" +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/storage) "iMQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -26465,26 +26097,25 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/shower) -"iMR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 +"iNh" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/button/door/directional/south{ + req_access = list("security"); + name = "Security Post Shutters Control"; + id = "engi_security_post" }, -/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 = 10 +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -9 }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/item/radio/off{ + pixel_x = 6 }, -/area/station/engineering/break_room) -"iNd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/department/security/brig) +/obj/item/screwdriver{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "iNi" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -26494,17 +26125,16 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"iNl" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos/office) -"iNq" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +"iNs" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"iNy" = ( +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "iNG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tank, @@ -26524,14 +26154,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"iNS" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +"iNN" = ( +/obj/machinery/door/window/right/directional/south, +/obj/structure/table/wood/fancy, +/obj/structure/sign/painting/large/library{ + dir = 1 }, -/obj/structure/window/spawner/directional/south, -/obj/machinery/chem_mass_spec, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "iNT" = ( /obj/effect/turf_decal/tile/purple/opposingcorners{ dir = 1 @@ -26541,38 +26171,9 @@ /obj/structure/cable, /turf/open/floor/iron/checker, /area/station/science/lab) -"iNY" = ( -/obj/structure/table/wood, -/obj/item/storage/photo_album{ - pixel_y = 2 - }, -/obj/item/clothing/head/helmet/skull{ - desc = "The skull of a Syndicate nuclear operatives commander flayed and displayed as a trophy."; - name = "Skull Trophy"; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"iNZ" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/research/glass{ - name = "Freeze Chamber Exterior Airlock"; - id_tag = "ord_freezer_bolt" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) -"iOi" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 +"iOi" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 }, /obj/machinery/button/door/directional/south{ pixel_x = -6; @@ -26602,39 +26203,44 @@ /obj/effect/landmark/start/detective, /turf/open/floor/carpet/red, /area/station/security/detectives_office) -"iOs" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"iOC" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/multilayer/connected, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"iOu" = ( +/obj/machinery/light/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = 3; + pixel_y = 4 + }, /turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"iOG" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +/area/station/command/bridge) +"iOA" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/table/reinforced/rglass, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science{ + pixel_x = 2; + pixel_y = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"iOJ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 +/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = -3; + pixel_y = 3 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 8; + pixel_y = 2 }, -/obj/structure/sign/departments/maint/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/item/reagent_containers/dropper, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "iOO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -26648,6 +26254,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/port) +"iOS" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/closet/crate, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/security/prison/safe) "iOT" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 4 @@ -26668,49 +26281,26 @@ dir = 8 }, /area/station/service/hydroponics) -"iOY" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Medical - Pathology, Hallway, West"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"iOZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"iPi" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/directional/west, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"iPm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, +"iPe" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/rnd_all, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"iPz" = ( +/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/wood/tile, -/area/station/service/library/artgallery) -"iPu" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) +"iPJ" = ( +/obj/structure/chair/plastic{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet/red, -/area/station/security/courtroom) +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) "iPQ" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted, /obj/structure/chair/sofa/bench/left{ @@ -26718,23 +26308,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) -"iPZ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Medical - Pathology, Hallway, East"; - network = list("ss13","medbay"); - name = "medical camera" - }, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/box/monkeycubes, -/obj/item/toy/figure/virologist{ - pixel_y = 13; - pixel_x = -9 +"iPX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "iQd" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance, @@ -26752,74 +26331,47 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iQE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/layer1, -/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) -"iQR" = ( -/obj/effect/turf_decal/box, +"iQA" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/dresser, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"iQC" = ( +/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, -/obj/structure/disposalpipe/segment, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) -"iQW" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/airalarm/directional/south, -/obj/effect/spawner/random/trash/garbage, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, -/area/station/maintenance/department/cargo) +/area/station/maintenance/department/engine) "iRe" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +/obj/structure/bookcase/random/nonfiction, +/turf/open/floor/wood, +/area/station/service/library) "iRl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ dir = 8 }, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) -"iRq" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"iRs" = ( -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/commons/fitness/recreation) "iRy" = ( /obj/effect/spawner/random/structure/chair_flipped{ dir = 1 }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"iRJ" = ( -/obj/structure/disposalpipe/segment, +"iRE" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "iRQ" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner, @@ -26833,10 +26385,19 @@ /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) "iRY" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/item/kirbyplants/random, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "iSa" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26851,69 +26412,82 @@ /obj/machinery/portable_atmospherics/canister/plasma, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"iSg" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"iSp" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Command - Bridge, East"; - name = "command camera" - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"iSr" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/keycard_auth/directional/south, -/obj/machinery/pdapainter/medbay, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) -"iSD" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1; - name = "Air to Distro"; - target_pressure = 250 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"iSi" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/medbay/central) +"iSk" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos/office) +"iSB" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "iSI" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"iSM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"iSV" = ( +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"iTl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" }, -/obj/structure/sign/departments/medbay/alt/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"iTg" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/chair/sofa/bench, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) -"iTo" = ( -/turf/open/floor/iron/chapel{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/area/station/service/chapel) -"iUc" = ( +/obj/structure/cable/layer1, /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/structure/chair/comfy/black{ +/turf/open/floor/plating, +/area/station/engineering/storage) +"iTo" = ( +/turf/open/floor/iron/chapel{ dir = 4 }, -/obj/effect/landmark/start/station_engineer, +/area/station/service/chapel) +"iTz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, /turf/open/floor/iron, -/area/station/engineering/break_room) +/area/station/maintenance/department/science) +"iTL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/poddoor/shutters{ + id = "library_desk_shutters"; + name = "Library Desk Shutters"; + dir = 1 + }, +/obj/structure/table/wood, +/obj/structure/desk_bell{ + pixel_y = 7; + pixel_x = 7 + }, +/obj/item/pen, +/turf/open/floor/iron/dark/textured, +/area/station/service/library/printer) "iUf" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -26927,13 +26501,20 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) -"iUt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +"iUv" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 }, -/obj/machinery/medipen_refiller, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/prison/rec) "iUx" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -26946,42 +26527,19 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iUz" = ( -/turf/open/floor/iron/dark, -/area/station/command/bridge) "iUB" = ( /turf/closed/wall/r_wall, /area/station/security/lockers) -"iUP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/airalarm/directional/west, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"iUQ" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"iVh" = ( -/obj/machinery/light/directional/south, -/obj/structure/sign/poster/contraband/missing_gloves/directional/east, -/obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 8 +"iUV" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = -5 }, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"iVj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 }, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "iVq" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -26989,36 +26547,46 @@ /turf/closed/wall/r_wall, /area/station/security/holding_cell) "iVx" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"iVH" = ( -/obj/structure/toilet{ - dir = 4 +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 }, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/obj/effect/landmark/start/captain, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/captain/private) -"iVI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/turf_decal/trimline/yellow/corner, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"iWd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/plushie, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/hallway/primary/aft) +"iVD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Medical - Operating Room"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/structure/table/reinforced/rglass, +/obj/item/clothing/gloves/latex, +/obj/item/storage/box/gloves, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"iVP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/structure/sign/warning/vacuum/external/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/engineering/main) +"iVZ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/medipen_refiller, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "iWk" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /obj/machinery/airalarm/directional/west, @@ -27037,23 +26605,60 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"iWu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +"iWs" = ( +/obj/effect/turf_decal/trimline/red/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "iWw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel) -"iWI" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/entertainment/coin, -/turf/open/floor/plating, +"iWE" = ( +/obj/effect/landmark/start/gary, +/turf/open/floor/carpet, /area/station/maintenance/starboard/fore) +"iWF" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Storage Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/storage) +"iWT" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Command - Gateway"; + name = "command camera" + }, +/obj/structure/rack, +/obj/item/extinguisher, +/turf/open/floor/iron, +/area/station/command/gateway) +"iXj" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "iXl" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/flowers_br/style_random, @@ -27074,6 +26679,32 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"iXD" = ( +/obj/structure/chair/sofa/bench/solo{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"iXO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/sign/directions/medical/directional/south{ + pixel_y = -23; + dir = 4 + }, +/obj/structure/sign/directions/evac/directional/south{ + dir = 4 + }, +/obj/structure/sign/directions/engineering/directional/south{ + pixel_y = -41 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "iXP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -27090,10 +26721,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"iXR" = ( -/obj/machinery/vending/wardrobe/chap_wardrobe, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) "iXS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -27128,40 +26755,29 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"iYk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 8 +"iXZ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"iYs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/computer/atmos_control/nitrogen_tank{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"iYk" = ( /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, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "iYF" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) -"iYH" = ( -/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/maintenance{ - name = "Library Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/catwalk_floor, -/area/station/service/library/lounge) "iYK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27171,16 +26787,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iYP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) -"iYW" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"iYU" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/dresser, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) "iYZ" = ( /obj/structure/bed{ dir = 4 @@ -27204,6 +26815,27 @@ dir = 4 }, /area/station/cargo/storage) +"iZf" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/effect/turf_decal/trimline/blue/warning{ + 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) +"iZl" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/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, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) "iZr" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -27219,11 +26851,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"iZD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) "iZM" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning, /obj/structure/cable, @@ -27231,17 +26858,59 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/science/server) -"jac" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 +"iZN" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/chair/sofa/bench{ + dir = 1 }, -/obj/machinery/light/small/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark, -/area/station/security/execution) +/area/station/hallway/secondary/exit/departure_lounge) "jaf" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"jag" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Prison Cryogenic Lounge" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) +"jaj" = ( +/obj/machinery/button/door/directional/south{ + pixel_x = 6; + id = "robotics_garage"; + name = "Garage Shutters Control"; + req_access = list("robotics") + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = -5 + }, +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 8 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/clothing/head/utility/welding, +/obj/item/clothing/glasses/welding, +/obj/item/multitool, +/obj/item/dest_tagger, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) +"jak" = ( +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood, +/area/station/service/lawoffice) "jat" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -27277,14 +26946,31 @@ dir = 4 }, /area/station/commons/fitness) -"jbt" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 +"jaW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/light/small/directional/south, +/obj/structure/chair{ + dir = 1 }, -/obj/machinery/shower/directional/east, -/obj/structure/drain, +/obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, -/area/station/science/genetics/cloning) +/area/station/medical/cryo) +"jbb" = ( +/obj/structure/fireaxecabinet/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"jbk" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/turf/open/floor/iron/white, +/area/station/maintenance/port/fore) +"jbl" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/carpet/red, +/area/station/commons/vacant_room/office) "jbA" = ( /obj/machinery/door/poddoor/preopen{ id = "execution_fireblast" @@ -27298,29 +26984,11 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"jbM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jbP" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison/mess) -"jbQ" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) -"jbY" = ( -/obj/structure/table, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "jcd" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -27355,6 +27023,18 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"jcq" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/closet, +/obj/item/airlock_painter, +/turf/open/floor/iron, +/area/station/maintenance/port/fore) +"jcz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/station/maintenance/starboard/aft) "jcB" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, @@ -27369,11 +27049,6 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) -"jcG" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark, -/area/station/commons/fitness/recreation) "jcU" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -27383,12 +27058,14 @@ dir = 1 }, /area/station/cargo/miningoffice) -"jcX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) +"jcW" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/chair/sofa/bench/left, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/main) "jdb" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/light/small/directional/west, @@ -27398,104 +27075,115 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/computer) -"jdh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/reinforced, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) -"jdA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table, -/obj/item/storage/box/matches, -/obj/effect/spawner/random/entertainment/lighter{ - pixel_y = 4; - pixel_x = 4 - }, -/obj/effect/spawner/random/entertainment/lighter, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"jdC" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +"jdB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/canister/anesthetic_mix, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/miningoffice) "jdJ" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 10 }, /turf/open/floor/engine, /area/station/science/xenobiology) -"jdV" = ( +"jef" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/trash/garbage, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"jeh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ dir = 9 }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) +"jei" = ( +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/commons/vacant_room/commissary) +"jek" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) -"jee" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"jer" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"jes" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"jef" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/spawner/random/trash/garbage, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"jet" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"jeF" = ( +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"jeu" = ( -/obj/structure/sign/warning/radiation/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/east{ - c_tag = "Maintenance - Science Pass-through, Ordnance, Burn Chamber Release Window"; - name = "maintenance camera"; - network = list("ss13","rd") +/area/station/hallway/primary/central) +"jeK" = ( +/turf/open/floor/iron/dark/side{ + dir = 9 }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"jev" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/exit/departure_lounge) -"jeI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/area/station/service/janitor) +"jeN" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/sepia, +/area/station/service/library/artgallery) +"jft" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/service/library) +"jfu" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/atmos/office) -"jeL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) -"jfC" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/machinery/camera/directional/east{ + c_tag = "Hallway - Central, West"; + name = "hallway camera" }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"jfA" = ( +/obj/structure/cable, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) "jfI" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -27521,26 +27209,19 @@ }, /area/station/cargo/storage) "jgu" = ( -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/machinery/light/small/directional/west, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/seven, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "jgH" = ( /obj/effect/spawner/random/structure/table, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jgM" = ( -/obj/effect/turf_decal/trimline/brown/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "jgW" = ( /obj/effect/turf_decal/tile/neutral/half{ dir = 4 @@ -27552,44 +27233,18 @@ dir = 8 }, /area/station/command/gateway) -"jhf" = ( -/obj/structure/lattice, -/obj/structure/disposalpipe/segment{ +"jha" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/structure/chair_flipped{ dir = 4 }, -/turf/open/space/basic, -/area/space/nearstation) +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "jhj" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"jhk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/liquid_barrier, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"jhq" = ( -/obj/structure/disposalpipe/segment{ - 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/catwalk_floor, -/area/station/maintenance/department/science) "jhr" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -27605,16 +27260,6 @@ /obj/structure/cable/layer3, /turf/open/floor/engine, /area/station/ai_monitored/command/storage/satellite) -"jhB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/airalarm/directional/south, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/white, -/obj/item/pen, -/obj/item/storage/backpack/duffelbag/med/surgery, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "jhE" = ( /obj/machinery/power/rad_collector, /turf/open/floor/plating, @@ -27623,14 +27268,17 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) -"jhR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/item/storage/dice, -/turf/open/floor/wood, -/area/station/security/prison/rec) +"jhY" = ( +/obj/machinery/light/directional/west, +/obj/structure/bed/double{ + dir = 4 + }, +/obj/item/bedsheet/dorms_double{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) "jic" = ( /obj/effect/decal/cleanable/cobweb, /obj/item/radio/intercom/directional/west, @@ -27639,8 +27287,28 @@ /turf/open/floor/wood, /area/station/service/lawoffice) "jit" = ( -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"jiv" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/light_switch/directional/south{ + pixel_x = -8 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "jiy" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron/showroomfloor, @@ -27657,38 +27325,17 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jjk" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 6 - }, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/iron, -/area/station/science/ordnance/office) -"jjm" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/random/directional/north, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"jju" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"jjx" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/cryopod{ +"jjs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"jjy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "jjz" = ( /obj/machinery/light_switch/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -27708,16 +27355,33 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"jjV" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ +"jjO" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "hop"; + name = "Privacy Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hop) +"jjW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"jkb" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/computer/atmos_control/nitrogen_tank{ +/obj/effect/turf_decal/trimline/green/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "jke" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -27730,24 +27394,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jki" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/stone, -/area/station/smithing) -"jkv" = ( -/obj/effect/turf_decal/tile/dark_blue{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"jkD" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/bot_white, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) "jkE" = ( /obj/item/food/canned/beans, /turf/open/floor/plating, @@ -27762,74 +27408,81 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"jkJ" = ( -/obj/structure/chair/stool/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/commons/fitness) -"jkQ" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/station_map/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"jkU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 +"jla" = ( +/obj/effect/turf_decal/siding/wood{ + 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, -/area/station/engineering/main) -"jkZ" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, +/obj/machinery/duct, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/captain, /turf/open/floor/wood, -/area/station/service/library/private) -"jli" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/cmo) -"jlr" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, +/area/station/command/heads_quarters/captain) +"jlg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) +"jls" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/chair, /turf/open/floor/iron/white, -/area/station/medical/chemistry) -"jlu" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/closet/emcloset, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) +/area/station/science/research) +"jlt" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/visit) "jlx" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/dark/side{ - dir = 1 +/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/machinery/duct, +/obj/machinery/door/airlock/grunge{ + name = "Morgue" }, -/area/station/engineering/storage_shared) +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/obj/effect/mapping_helpers/airlock/access/any/medical/morgue, +/turf/open/floor/iron/dark/textured, +/area/station/medical/morgue) "jlA" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"jlE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) +"jlC" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/corner, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/machinery/camera/autoname/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "jlN" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -27851,37 +27504,13 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "jmg" = ( -/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - id = "engi_pass_shutters"; - name = "Engineering Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/break_room) +/obj/machinery/netpod, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/security/bitden) "jmh" = ( /turf/closed/wall, /area/station/service/hydroponics/garden) -"jmn" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/sign/flag/nanotrasen/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "jmy" = ( /turf/open/floor/iron, /area/station/cargo/miningoffice) @@ -27892,14 +27521,6 @@ /obj/item/wrench, /turf/open/floor/iron/large, /area/station/engineering/gravity_generator) -"jmQ" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) "jmS" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/line{ @@ -27910,6 +27531,10 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"jmZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) "jnc" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/chair{ @@ -27922,38 +27547,36 @@ /obj/structure/sign/warning/secure_area/directional/west, /turf/open/space/basic, /area/space/nearstation) -"jnS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "engi_security_post"; - name = "Security Post Shutters"; +"jns" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plating, -/area/station/security/checkpoint/engineering) -"joc" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/poddoor/preopen{ + id = "bridge_blast_doors"; + name = "Bridge Access Blast Door" }, -/obj/machinery/washing_machine, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) -"joj" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/chair/office{ - dir = 8 +/obj/machinery/door/window/right/directional/west{ + name = "Bridge Deliveries"; + req_access = list("command") }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/office) -"jot" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/yellow, -/obj/item/pen, -/turf/open/floor/iron, -/area/station/engineering/break_room) +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) +"jnJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"joo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "jou" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27981,56 +27604,59 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"jpe" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot_white/left, +/obj/structure/filingcabinet, +/obj/item/folder/blue, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "jpg" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/newscaster/directional/north, -/obj/structure/chair/office{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"jpp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/carpet/black, +/area/station/security/bitden) +"jpD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"jpG" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"jpH" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ dir = 4 }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/office) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "jpN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"jpQ" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/tcommsat/computer) -"jpU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/sign/warning/pods/directional/south, -/obj/machinery/space_heater, -/turf/open/floor/iron, -/area/station/engineering/storage) -"jqd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"jqh" = ( -/obj/structure/chair/comfy/black, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/wood, -/area/station/command/meeting_room) +"jqe" = ( +/obj/structure/table, +/obj/item/toy/ammo/gun, +/obj/item/toy/gun, +/turf/open/floor/iron/dark/side, +/area/station/commons/fitness/recreation) "jqp" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/oven/range, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "jqs" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -28043,28 +27669,38 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"jqH" = ( -/obj/effect/turf_decal/stripes/line, +"jqw" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4; + name = "freezer passive vent" + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"jqD" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/airalarm/directional/south, +/obj/machinery/seed_extractor, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) +"jqJ" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"jqW" = ( -/obj/structure/table/wood/fancy/royalblue, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 21 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 7 +/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/maintenance{ + name = "Cargo Office Maintenance" }, -/obj/item/lighter{ - pixel_y = 7; - pixel_x = 7 +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) +/turf/open/floor/plating, +/area/station/cargo/office) "jrr" = ( /obj/structure/chair{ dir = 4 @@ -28080,59 +27716,26 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"jrB" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/structure/table/reinforced, -/obj/item/clothing/mask/gas/sechailer{ - pixel_y = -6; - pixel_x = -6 - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_y = -6; - pixel_x = 6 - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -6 - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = 6 - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_y = 6; - pixel_x = -6 - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_y = 6; - pixel_x = 6 - }, -/obj/item/flashlight/seclite{ - pixel_y = -6 - }, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite{ - pixel_y = 6 - }, -/obj/item/clothing/head/helmet/toggleable/justice, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"jrG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/curtain/cloth, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) -"jsb" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/shaker, -/obj/item/reagent_containers/dropper, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "jse" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"jsu" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/button/door/directional/north{ + id = "engi_pass_shutters"; + name = "Engineering Shutters Control"; + req_access = list("engineering") + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/engineering/break_room) "jsw" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Visitation Observation"; @@ -28142,12 +27745,32 @@ /obj/item/book/manual/wiki/security_space_law, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"jsB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree, -/obj/item/canvas/twentythree_twentythree, -/turf/open/floor/plating, +"jsA" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/door/window/brigdoor/left/directional/south{ + name = "Head of Security's Desk"; + req_access = list("hos") + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"jsF" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/office) +"jsH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/aft) "jsQ" = ( /obj/structure/table, @@ -28173,24 +27796,16 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"jtl" = ( -/obj/machinery/light/directional/east, -/obj/structure/bookcase/random/religion, -/turf/open/floor/wood, -/area/station/service/library) -"jto" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/item/storage/box/lights/mixed, -/obj/item/toy/plush/slimeplushie, +"jtb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"jtv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) +/area/station/maintenance/department/engine) +"jtg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "jty" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -28200,10 +27815,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"jtE" = ( -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"jtO" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/sofa/corp/left{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "jtU" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -28226,46 +27848,96 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"jul" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/vending/wallmed/directional/west, +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_b) +"juq" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/teleport/hub, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "juH" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"juU" = ( -/obj/structure/chair/sofa/left/maroon{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) -"jvd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"juK" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, +/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/external{ - name = "Escape Pod Three" +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"juL" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/button/door/directional/west{ + id = "hos_office"; + name = "Shutters Control"; + req_access = list("hos") }, -/obj/effect/landmark/navigate_destination/dockescpod3, -/turf/open/floor/iron/dark/textured_large, -/area/station/maintenance/department/security) +/obj/machinery/requests_console/directional/north{ + department = "Head of Security's Desk"; + name = "Head of Security 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/wood, +/obj/machinery/fax{ + fax_name = "Head of Security's Office"; + name = "Head of Security's Fax Machine" + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"juO" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"juZ" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) "jve" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/effect/turf_decal/trimline/red/filled/warning, /turf/open/floor/iron/dark, /area/station/security/execution) -"jvi" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"jvt" = ( -/obj/structure/bed, -/obj/item/bedsheet/cmo, -/obj/effect/landmark/start/chief_medical_officer, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) +"jvf" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/aft) "jvu" = ( /turf/closed/wall, /area/station/commons/fitness) @@ -28273,24 +27945,16 @@ /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, /area/station/engineering/main) -"jvN" = ( -/turf/closed/wall, -/area/station/commons/dorms/room5) +"jvJ" = ( +/obj/machinery/door/firedoor/border_only, +/obj/structure/window/reinforced/spawner/directional/south, +/mob/living/basic/chicken, +/turf/open/floor/grass, +/area/station/service/hydroponics) "jvO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"jwc" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "jwf" = ( /obj/structure/sign/warning/biohazard/directional/west, /obj/effect/turf_decal/tile/neutral/anticorner{ @@ -28307,18 +27971,19 @@ dir = 4 }, /area/station/command/gateway) -"jwt" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/structure/transit_tube/crossing, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/space, -/area/space/nearstation) +"jwr" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Medical - Pathology, Isolation, Cell 2"; + network = list("ss13","medbay"); + name = "medical camera" + }, +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/medical/virology) "jwu" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/structure/displaycase/trophy, +/turf/open/floor/wood, +/area/station/service/library) "jww" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -28327,6 +27992,11 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"jwA" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) "jwC" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, @@ -28347,14 +28017,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"jwG" = ( -/obj/structure/flora/bush/sparsegrass/style_random, -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/floor/grass, -/area/station/medical/virology) -"jwN" = ( -/turf/closed/wall, -/area/station/medical/patients_rooms/room_b) +"jwI" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/corner, +/obj/structure/sign/warning/pods/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"jwM" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "jwP" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate, @@ -28375,60 +28050,27 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jwZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"jxd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"jxf" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Shared Storage" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engi-shared-storage" - }, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/storage_shared) -"jxh" = ( -/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_corner{ - dir = 4 - }, -/area/station/service/chapel) "jxl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"jxm" = ( -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/engine, -/area/station/science/xenobiology) +"jxp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/table, +/turf/open/floor/stone, +/area/station/smithing) "jxy" = ( /turf/closed/wall, /area/station/maintenance/starboard/fore) +"jxC" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/processor, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "jxF" = ( /obj/effect/turf_decal/trimline/brown/line{ dir = 8 @@ -28438,40 +28080,23 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"jya" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/turret_protected/ai_upload) -"jyb" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "jyf" = ( /obj/effect/spawner/random/structure/table, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jyp" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"jyz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"jyw" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 }, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) +/turf/open/floor/iron/dark, +/area/station/security/courtroom) +"jyC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "jyE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -28481,32 +28106,39 @@ /obj/structure/noticeboard/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jyS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "robotics_pub_shutters"; - name = "Robotics Shutters" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/science/robotics/lab) -"jyV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"jyL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"jzd" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/machinery/door/airlock/bathroom{ + name = "Bathroom"; + id_tag = "med_break_bathroom" + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/break_room) +"jyM" = ( +/obj/structure/table, +/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/reagent_containers/blood/random, +/turf/open/floor/iron/white, +/area/station/maintenance/port/fore) +"jzb" = ( +/obj/structure/table/reinforced, +/obj/item/storage/bag/tray, +/obj/item/reagent_containers/cup/soup_pot{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/soup_pot{ + pixel_x = -4; + pixel_y = 2 + }, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "jze" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -28514,6 +28146,17 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"jzf" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) +"jzh" = ( +/obj/structure/sign/departments/engineering/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "jzk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -28536,13 +28179,45 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark/corner, /area/station/commons/storage/primary) -"jzJ" = ( -/obj/structure/chair/comfy/black{ +"jzz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance{ + name = "Gambling Den Maintenance" + }, +/obj/machinery/duct, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"jzG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/effect/landmark/start/station_engineer, /turf/open/floor/iron, -/area/station/engineering/break_room) +/area/station/engineering/atmos/office) +"jzK" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"jzO" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/item/gun/energy/disabler{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "jzQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28560,17 +28235,34 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"jAi" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/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/cable, +/turf/open/floor/iron/white, +/area/station/medical/office) "jAm" = ( /obj/structure/table/wood, /obj/effect/spawner/random/entertainment/deck, /turf/open/floor/wood, /area/station/security/prison/rec) -"jAw" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"jAn" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"jAD" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/obj/structure/flora/bush/flowers_yw/style_random, +/turf/open/floor/grass, +/area/station/medical/virology) "jAO" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner{ @@ -28587,6 +28279,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) +"jAY" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "jBc" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -28594,6 +28295,18 @@ /obj/structure/cable/layer3, /turf/open/floor/engine, /area/station/ai_monitored/command/storage/satellite) +"jBd" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"jBe" = ( +/obj/machinery/requests_console/directional/west{ + department = "Chapel"; + name = "Chapel Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "jBi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28601,6 +28314,14 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"jBo" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "jBr" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Pure to Mix"; @@ -28608,37 +28329,48 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"jBv" = ( -/obj/machinery/telecomms/bus/preset_two, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"jBx" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/security_all, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +"jBD" = ( +/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 = 6 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"jBQ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold, +/obj/machinery/air_sensor/ordnance_freezer_chamber, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "jCb" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"jCe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "bar_sec_shutters"; + name = "Bar Shutters"; + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "jCl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron, /area/station/service/hydroponics) -"jCx" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/station_map/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) "jCy" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater, /turf/open/floor/iron/dark, @@ -28656,25 +28388,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"jCD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/side{ - dir = 8 - }, -/area/station/engineering/atmos/office) -"jCL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/wood, -/area/station/service/library/lounge) +"jCE" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "jCP" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -28682,21 +28401,37 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) +"jCX" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/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/information, +/obj/machinery/computer/records/security, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/science) "jCY" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/vending/wardrobe/curator_wardrobe, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"jCZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 9 +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/transit_tube/station/dispenser/reverse/flipped{ +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 4 }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/engineering/transit_tube) +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/hallway/primary/aft) "jDc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28704,62 +28439,22 @@ /mob/living/simple_animal/bot/secbot/beepsky/officer, /turf/open/floor/iron/dark, /area/station/security/brig) -"jDf" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "jDg" = ( /turf/closed/wall, /area/station/science/ordnance/storage) -"jDj" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/marker_beacon/burgundy, -/turf/open/floor/plating/airless, -/area/space/nearstation) "jDp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2, /turf/open/floor/plating, /area/station/engineering/atmos) -"jDq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port) "jDr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ dir = 1 }, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/iron, -/area/station/engineering/main) -"jDy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "jDz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28767,25 +28462,18 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"jDD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"jDX" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 5 +"jDF" = ( +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_x = -8; + pixel_y = 6 }, -/obj/item/pen{ - pixel_x = -5; - pixel_y = 5 +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_x = 4; + pixel_y = 6 }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +/turf/open/floor/wood, +/area/station/maintenance/port/fore) "jEd" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -28807,14 +28495,6 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/port) -"jEt" = ( -/obj/structure/rack/shelf, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/head/helmet/toggleable/riot{ - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "jEw" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -28824,34 +28504,19 @@ /obj/machinery/computer/security/telescreen/research, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"jEI" = ( -/obj/structure/table, -/obj/item/kitchen/fork/plastic, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) -"jEL" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/engineering/main) -"jEW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"jEK" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 }, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) +/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/exam_room) "jEX" = ( /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark, /area/station/security/processing) -"jEY" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_5k, -/turf/open/floor/iron/dark/side, -/area/station/security/prison/safe) "jFe" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -28862,17 +28527,18 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"jFn" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 +"jFm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/computer/security{ +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) "jFo" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -28881,40 +28547,9 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"jFw" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/table/reinforced/rglass, -/obj/item/crowbar/red, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/reagent_containers/dropper, -/obj/item/flashlight/pen, -/obj/item/radio/headset/headset_medsci, -/obj/item/infuser_book, -/obj/item/toy/figure/geneticist{ - pixel_y = 11; - pixel_x = -11 - }, -/turf/open/floor/iron/white, -/area/station/science/genetics) "jFx" = ( /turf/open/floor/circuit/green, /area/station/engineering/gravity_generator) -"jFA" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 4 - }, -/obj/structure/sign/departments/maint/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "jFF" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -28928,28 +28563,22 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/iron, /area/station/maintenance/disposal) -"jFP" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 8 +"jGe" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/chair{ + dir = 1 }, -/obj/structure/cable/layer1, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/storage) -"jGl" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/main) -"jGm" = ( -/obj/effect/landmark/start/atmospheric_technician, -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ - dir = 10 +/obj/effect/landmark/start/security_assistant, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"jGj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, /turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/area/station/security/prison/safe) "jGs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28957,28 +28586,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"jGt" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/security/interrogation) -"jGu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"jGx" = ( -/obj/machinery/plumbing/ooze_sucker{ - mapping_id = "3"; - dir = 1 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "jGA" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -29010,37 +28617,6 @@ /obj/effect/turf_decal/trimline/red/corner, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"jHa" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light_switch/directional/south{ - pixel_x = -8 - }, -/obj/structure/closet/crate/trashcart/laundry, -/obj/item/clothing/under/rank/prisoner/skirt{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/clothing/under/rank/prisoner/skirt{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/clothing/under/rank/prisoner/skirt{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/clothing/under/rank/prisoner/skirt{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) "jHh" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ @@ -29051,31 +28627,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"jHl" = ( -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) -"jHm" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) "jHn" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -29084,43 +28635,56 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"jHN" = ( -/turf/open/floor/iron/dark/side{ - dir = 1 +"jHv" = ( +/obj/effect/turf_decal/trimline/red/corner{ + dir = 8 }, -/area/station/commons/fitness/recreation) -"jHT" = ( -/obj/machinery/button/door/directional/north{ - id = "dorm_4"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = 5 +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"jHw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 5 }, /obj/machinery/light_switch/directional/north{ - pixel_x = 5; - pixel_y = 34 + pixel_x = -5 }, -/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) +"jHE" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/machinery/firealarm/directional/south, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/virologist, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"jHI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, /obj/structure/cable, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"jHN" = ( +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/commons/fitness/recreation) "jIp" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"jIr" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/tinted, -/obj/structure/toilet{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison/safe) "jIu" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 8 @@ -29134,25 +28698,53 @@ /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/plating, /area/station/maintenance/port) -"jII" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "N2 to Pure" +"jID" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering - Tech Storage"; + name = "engineering camera" + }, +/obj/machinery/light/small/directional/south, +/obj/structure/table, +/obj/item/grenade/chem_grenade/metalfoam{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/grenade/chem_grenade/metalfoam{ + pixel_x = -6 + }, +/obj/item/weldingtool/largetank{ + pixel_x = 11 }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"jIO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/clothing, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"jJh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/engineering/storage/tech) +"jIX" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) +"jJf" = ( +/obj/machinery/telecomms/bus/preset_four, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"jJg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 6 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = -4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "jJk" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -29162,40 +28754,23 @@ /obj/machinery/duct, /turf/open/floor/iron/large, /area/station/commons/dorms) -"jJq" = ( -/obj/effect/turf_decal/box, +"jJs" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/genetics/cloning) -"jJz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/requests_console/directional/north{ - department = "Pharmacy"; - name = "Pharmacy Requests Console"; - supplies_requestable = 1; - receive_ore_updates = 1; - assistance_requestable = 1 - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/table/reinforced/rglass, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/dropper, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = -6; - pixel_y = 6 +/obj/machinery/door/airlock/medical{ + name = "Operating Room" }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white/textured, +/area/station/medical/surgery) "jJF" = ( /obj/structure/chair/office{ dir = 4 @@ -29203,6 +28778,16 @@ /obj/effect/landmark/start/quartermaster, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"jJJ" = ( +/obj/structure/sign/warning/biohazard/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Maintenance - Science Pass-through, Xenobiology Access"; + name = "maintenance camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "jKa" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -29218,20 +28803,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/brig) -"jKn" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"jKu" = ( -/obj/machinery/shower/directional/east, -/obj/structure/drain, -/turf/open/floor/iron/textured_large, -/area/station/engineering/main) "jKA" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -29244,10 +28815,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"jKB" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) +"jKD" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/duct, +/obj/item/bikehorn/rubberducky, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/captain/private) "jKE" = ( /obj/structure/chair{ dir = 8 @@ -29256,28 +28829,29 @@ dir = 5 }, /area/station/hallway/secondary/service) +"jKF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/abandoned_gambling_den) "jKV" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"jKW" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/directional/west, -/obj/machinery/firealarm/directional/west, -/obj/structure/closet/emcloset, -/obj/effect/landmark/start/hangover/closet, +"jKX" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, /turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +/area/station/service/chapel) "jLa" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 +/obj/structure/closet/firecloset{ + anchored = 1 }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "jLl" = ( /obj/machinery/camera/autoname/directional/east, /obj/structure/chair/wood{ @@ -29293,13 +28867,6 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white, /area/station/science/lab) -"jLr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/storage) "jLu" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -29317,53 +28884,72 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) -"jLQ" = ( +"jLO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/aft) +"jLP" = ( +/obj/structure/disposalpipe/segment{ + 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/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"jMa" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/plating, -/area/station/maintenance/port) -"jLR" = ( -/obj/effect/turf_decal/trimline/brown/filled/warning{ - dir = 10 +/obj/effect/decal/cleanable/oil, +/turf/open/floor/stone, +/area/station/smithing) +"jMc" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark/side{ - dir = 10 +/obj/machinery/requests_console/directional/north{ + department = "Circuits Lab"; + name = "Circuits Lab Requests Console" }, -/area/station/cargo/sorting) -"jLS" = ( -/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, /obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -7 - }, -/obj/item/folder/red{ - pixel_x = -7 +/obj/item/storage/toolbox/electrical{ + pixel_y = 10; + pixel_x = 8 }, -/obj/item/pen{ - pixel_x = -7 +/obj/item/storage/box/beakers{ + pixel_x = 6; + pixel_y = 2 }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 7 +/obj/item/grenade/chem_grenade{ + pixel_x = -8; + pixel_y = 8 }, -/obj/item/hand_labeler, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"jMa" = ( -/obj/machinery/stasis{ - dir = 4 +/obj/item/grenade/chem_grenade{ + pixel_x = -8; + pixel_y = 2 }, /turf/open/floor/iron/white, -/area/station/medical/exam_room) -"jMj" = ( -/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 - }, +/area/station/science/circuits) +"jMx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/curtain/cloth, /obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) +"jMM" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "jMP" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -29376,96 +28962,57 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jNd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"jNg" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"jNc" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/rack, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags{ + pixel_y = 3 }, /turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"jNm" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +/area/station/medical/treatment_center) +"jNk" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 }, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/white/textured, -/area/station/science/auxlab) -"jNJ" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 +/obj/machinery/light_switch/directional/south{ + pixel_x = -8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, -/area/station/security/execution) +/area/station/security/warden) "jNL" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/dark, /area/station/science/breakroom) "jNT" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/table_frame, -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"jNZ" = ( -/turf/open/floor/iron/dark, -/area/station/security/warden) -"jOc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"jOi" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"jOm" = ( -/obj/machinery/telecomms/server/presets/medical, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"jOr" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) -"jOx" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"jOo" = ( +/obj/effect/turf_decal/tile/red/full, +/obj/effect/turf_decal/bot, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"jOM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/structure/sign/poster/official/help_others/directional/south, -/obj/machinery/light/directional/south, -/obj/structure/chair{ - dir = 1 +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Security" }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/structure/plasticflaps/opaque, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/department/security/brig) +"jOx" = ( +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "jON" = ( /obj/structure/sign/poster/official/help_others/directional/east, /obj/machinery/light/broken/directional/east, @@ -29474,131 +29021,149 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"jOV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/keycard_auth/directional/east, -/obj/structure/bed/dogbed/lia, -/mob/living/basic/carp/pet/lia, +"jOT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, -/area/station/command/heads_quarters/hos) +/area/station/command/heads_quarters/blueshield) "jOZ" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jPc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/material_analyzer, -/turf/open/floor/stone, -/area/station/smithing) -"jPm" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 +"jPo" = ( +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"jPr" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 1 }, -/obj/machinery/light/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/effect/turf_decal/trimline/red/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/dark, +/area/station/hallway/secondary/entry) +"jPM" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/area/station/cargo/lobby) -"jPq" = ( /obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/cassette/mailbox, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"jPt" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 8 +/obj/structure/table/reinforced/rglass, +/obj/item/clothing/suit/apron/surgical{ + pixel_x = 5 }, -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 4 +/obj/item/clothing/suit/apron/surgical{ + pixel_x = 5 }, -/obj/structure/cable, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"jPy" = ( -/obj/structure/noticeboard/directional/west, -/obj/structure/table/wood, -/obj/item/storage/photo_album/library, -/obj/item/taperecorder, -/obj/item/camera_film, -/obj/item/camera, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"jPA" = ( -/obj/machinery/vending/boozeomat/all_access, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"jPZ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 +/obj/item/book/manual/wiki/surgery{ + pixel_x = -6 }, -/obj/machinery/button/door/directional/west{ - id = "prison_release"; - name = "Labor Camp Shuttle Lockdown"; - req_access = list("security"); - pixel_y = 6 +/obj/item/clothing/glasses/hud/health{ + pixel_x = -7 }, -/obj/machinery/computer/shuttle/labor{ +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = 5; + pixel_y = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"jQf" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"jQj" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, -/obj/machinery/button/door/directional/west{ - id = "labor_dock_bolt"; - name = "Labor Camp Shuttle Dock Airlock Control"; - req_access = list("security"); - pixel_y = -6 +/obj/effect/turf_decal/trimline/green/line{ + dir = 8 }, +/obj/machinery/light/small/directional/east, +/obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, -/area/station/security/processing) +/area/station/hallway/secondary/entry) +"jQk" = ( +/obj/structure/chair/comfy/black, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/wood, +/area/station/command/meeting_room) "jQr" = ( -/obj/effect/turf_decal/trimline/blue/line{ +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/no_smoking/directional/south, +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/disposal/bin, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"jQs" = ( -/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/white, -/area/station/medical/medbay/aft) +/area/station/medical/morgue) +"jQt" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/rack{ + icon = 'icons/obj/stationobjs.dmi'; + icon_state = "minibar"; + name = "skeletal minibar" + }, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "jQu" = ( /turf/open/floor/wood, /area/station/commons/locker) -"jRl" = ( -/obj/machinery/door/window/left/directional/south, -/obj/structure/table/wood/fancy, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"jRr" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +"jRb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Armory" +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/dark, +/area/station/security/warden) +"jRh" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/security/armory, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory) +/obj/structure/chair/sofa/bench/right, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "jRs" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"jRA" = ( +"jRu" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, /obj/item/radio/intercom/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/execution) +"jRx" = ( +/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/box, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/security/warden) +"jRI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/photocopier, +/turf/open/floor/carpet/green, +/area/station/commons/vacant_room/office) "jRP" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 8 @@ -29610,39 +29175,71 @@ dir = 4 }, /area/station/service/hydroponics) +"jRU" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/storage) "jRY" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/medical/virology) -"jSh" = ( -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central) -"jSu" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, /obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Aft Primary Hallway North" +/obj/structure/sign/painting/library{ + pixel_x = -32 }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/chair/sofa/bench/right{ - dir = 4 +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"jSb" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"jSg" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"jSj" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/prison/workout) +"jSo" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 }, -/obj/effect/landmark/start/hangover, +/obj/machinery/light/small/directional/south, +/obj/machinery/station_map/directional/south, /turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) +/area/station/security/brig) "jSC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jSG" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +"jSD" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/machinery/atmospherics/components/unary/cryo_cell, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/cargo/sorting) "jSO" = ( /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -29650,11 +29247,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/service/hydroponics) -"jSP" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/bz, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) "jSX" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/trimline/dark_blue/warning{ @@ -29671,10 +29263,6 @@ /obj/effect/landmark/start/security_assistant, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"jTc" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) "jTs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29684,12 +29272,29 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"jTu" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron, +/area/station/engineering/main) "jTy" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/commons/dorms) +"jTL" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/sign/poster/random/directional/west, +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "jTS" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -29705,10 +29310,6 @@ }, /turf/open/floor/iron/textured, /area/station/science/ordnance/storage) -"jUa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "jUb" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -29719,18 +29320,6 @@ /obj/structure/sign/departments/maint/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"jUe" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/station_map/engineering/directional/north, -/turf/open/floor/iron, -/area/station/engineering/main) -"jUk" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/glass/reinforced, -/area/station/service/abandoned_gambling_den) "jUm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -29740,6 +29329,34 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"jUn" = ( +/obj/machinery/light/neon_lining{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Science - Xenobiology, Pen 6"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) +"jUs" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/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/information, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "jUt" = ( /obj/machinery/camera/autoname/directional/south, /obj/machinery/computer/security/telescreen{ @@ -29754,13 +29371,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"jUC" = ( -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "jUD" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -29775,51 +29385,33 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/primary) -"jVd" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/rack, -/obj/effect/spawner/random/engineering/tool, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"jVm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"jUO" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/airalarm/directional/south, +/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/structure/chair/sofa/bench, -/obj/effect/landmark/start/hangover, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"jUU" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, /turf/open/floor/iron, -/area/station/hallway/primary/aft) +/area/station/maintenance/department/electrical) "jVp" = ( /obj/structure/closet/crate/freezer, /obj/effect/spawner/random/food_or_drink/three_course_meal, /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jVE" = ( -/obj/structure/table/wood/fancy/black, -/obj/item/flashlight/lamp, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) "jVP" = ( /obj/effect/turf_decal/bot_white, /obj/structure/cargo_shelf, /turf/open/floor/iron, /area/station/cargo/warehouse) -"jVQ" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Maintenance - External Access, East"; - name = "maintenance camera" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "jVU" = ( /obj/structure/cable/multilayer/connected, /turf/open/floor/plating/airless, @@ -29833,6 +29425,25 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"jWg" = ( +/obj/machinery/cryopod/prison{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/prison/safe) +"jWn" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white, +/area/station/science/auxlab) +"jWp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "jWq" = ( /obj/machinery/light/neon_lining{ dir = 4 @@ -29868,37 +29479,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"jWQ" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/cargo/storage) -"jWT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/machinery/atmospherics/pipe/layer_manifold/pink/hidden{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - id = "engi_pass_shutters"; - name = "Engineering Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/break_room) "jXh" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -29909,34 +29489,42 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"jXu" = ( -/obj/structure/window/spawner/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, +"jXv" = ( +/obj/effect/spawner/structure/window, /turf/open/floor/plating, -/area/station/maintenance/department/science) -"jXB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/area/station/hallway/primary/central) +"jXA" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/item/storage/medkit/o2{ + pixel_x = 3; + pixel_y = 3 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/storage/medkit/o2, +/obj/item/storage/medkit/o2{ + pixel_x = -3; + pixel_y = -3 }, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"jXH" = ( +/obj/structure/table/wood, +/obj/item/stack/package_wrap, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"jXQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/corporate{ - id_tag = "bs_bolt"; - name = "Blueshield's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/admin/general, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/blueshield) +/obj/structure/disposalpipe/junction/yjunction, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "jXV" = ( /obj/structure/chair{ dir = 1 @@ -29944,6 +29532,14 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"jXY" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/fitness/recreation) "jYd" = ( /obj/machinery/corral_corner{ mapping_id = "2" @@ -29956,21 +29552,13 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"jYg" = ( -/obj/effect/turf_decal/stripes/line{ +"jYl" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/railing{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/command/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/eva) +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) "jYp" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -29996,6 +29584,21 @@ }, /turf/open/floor/iron/white, /area/station/science/circuits) +"jYr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/command/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/eva) "jYv" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/plating, @@ -30004,69 +29607,44 @@ /obj/machinery/light/directional/east, /turf/open/floor/grass, /area/station/science/genetics) -"jYL" = ( +"jYM" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/button/door/directional/north{ - id = "engi_pass_shutters"; - name = "Engineering Shutters Control"; - req_access = list("engineering") + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ - dir = 10 +/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/side{ +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) +"jYQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, -/area/station/engineering/break_room) -"jYP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Engineering Lobby"; - name = "Engineering Lobby Fax Machine" - }, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/machinery/airalarm/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/table/reinforced/rglass, +/obj/item/reagent_containers/syringe{ + name = "steel point" }, -/area/station/engineering/break_room) -"jYT" = ( +/obj/item/clothing/mask/surgical, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/cup/bottle/multiver, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/gloves/latex, +/obj/item/reagent_containers/spray/cleaner, +/turf/open/floor/iron/white, +/area/station/security/medical) +"jZl" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/textured, +/area/station/engineering/gravity_generator) +"jZp" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"jZa" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 6 - }, -/turf/open/floor/iron/white, -/area/station/science/lab) -"jZe" = ( -/obj/machinery/telecomms/server/presets/common, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"jZl" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/textured, -/area/station/engineering/gravity_generator) -"jZp" = ( -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 + dir = 4 }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) @@ -30110,29 +29688,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal) -"kaD" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/machinery/door/poddoor/shutters{ - id = "engi_office_shutters"; - name = "Engineering Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/break_room) -"kaH" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"kaA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/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/medical/paramedic) +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "kaP" = ( /obj/machinery/door/window/brigdoor/right/directional/east{ req_access = list("rd"); @@ -30140,21 +29701,33 @@ }, /turf/open/floor/iron/vaporwave, /area/station/command/heads_quarters/rd) -"kaX" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 1 +"kaT" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/maintenance/port) -"kbj" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/airalarm/directional/south, -/obj/structure/chair{ - dir = 1 +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"kaZ" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 }, -/obj/effect/landmark/start/paramedic, -/turf/open/floor/iron, -/area/station/medical/paramedic) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/security/interrogation) +"kbr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "kbB" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -30178,123 +29751,66 @@ /obj/effect/landmark/navigate_destination/common/portbowsolar, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"kbE" = ( -/obj/structure/transit_tube, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/transit_tube) "kbT" = ( /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/side, /area/station/commons/locker) -"kcf" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"kch" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ - dir = 5 +"kcn" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/structure/cable, +/obj/machinery/disposal/bin, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"kcr" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark/side{ +/area/station/service/janitor) +"kcY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"kdg" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/area/station/security/prison/work) -"kcM" = ( -/obj/structure/cable, -/turf/open/floor/carpet/black, -/area/station/security/bitden) -"kde" = ( -/obj/machinery/atmospherics/components/tank/air{ +/obj/structure/chair/wood{ dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"kdo" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/wood, +/area/station/security/prison/rec) "kdp" = ( /obj/machinery/computer/holodeck{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"kdy" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/recharge_station, -/turf/open/floor/iron/dark/side{ - dir = 10 +"kdr" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 }, -/area/station/engineering/break_room) -"kdC" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/restrooms) +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/filingcabinet, +/turf/open/floor/iron/white, +/area/station/science/explab) "kdH" = ( /obj/structure/cable, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"kdK" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/o_plus{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/reagent_containers/blood/o_minus, -/obj/item/reagent_containers/blood/b_plus, -/obj/item/reagent_containers/blood/b_minus, -/obj/item/reagent_containers/blood/a_plus, -/obj/item/reagent_containers/blood/a_minus, -/obj/item/reagent_containers/blood/lizard, -/obj/item/reagent_containers/blood/ethereal, -/obj/item/reagent_containers/blood{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/reagent_containers/blood{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/reagent_containers/blood{ - pixel_x = -3; - pixel_y = -3 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"kdZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/sign/departments/maint/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) +"kdI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/command/meeting_room) "keg" = ( /obj/structure/flora/grass/jungle/a/style_random, /turf/open/floor/grass, @@ -30307,18 +29823,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"ken" = ( -/obj/machinery/light_switch/directional/east, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/maintenance/disposal) -"ker" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/item/stack/cable_coil, -/turf/open/space, -/area/station/solars/starboard/fore) "keu" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30331,10 +29835,34 @@ "kew" = ( /turf/closed/wall/r_wall, /area/station/command/meeting_room) -"keI" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/dark_blue/filled/end{ - dir = 1 +"keQ" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/central) +"keX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"keY" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson{ + pixel_x = 3; + pixel_y = 9 + }, +/obj/item/flashlight{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/flashlight{ + pixel_y = -12; + pixel_x = 3 }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) @@ -30349,10 +29877,6 @@ dir = 4 }, /area/station/commons/fitness) -"kfc" = ( -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/break_room) "kfe" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -30364,6 +29888,14 @@ "kfl" = ( /turf/closed/wall, /area/station/construction/mining/aux_base) +"kfs" = ( +/obj/machinery/atmospherics/components/binary/valve/digital/on{ + name = "Primary Waste Release"; + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "kfC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30398,39 +29930,13 @@ /mob/living/basic/pet/potty, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"kfN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "bar_sec_shutters"; - name = "Bar Shutters"; - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/bar) "kfT" = ( /turf/closed/wall/r_wall, /area/station/security/evidence) -"kgc" = ( -/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/engineering/atmos) "kgn" = ( /obj/machinery/growing/tray, /turf/open/floor/iron, /area/station/service/hydroponics) -"kgu" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall, -/area/station/maintenance/department/engine) "kgv" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -30449,6 +29955,11 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) +"kgD" = ( +/obj/structure/bed/dogbed/renault, +/mob/living/basic/pet/fox/renault, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) "kgH" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -30459,6 +29970,30 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"kgI" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "secondary_shop"; + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/vacant_room/commissary) +"kgK" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/warning, +/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, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "kgO" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -30468,13 +30003,37 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"kgS" = ( -/obj/machinery/light/small/built/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/obj/structure/frame/machine, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"kgR" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"kgT" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/requests_console/directional/north{ + department = "Pharmacy"; + name = "Pharmacy Requests Console"; + supplies_requestable = 1; + receive_ore_updates = 1; + assistance_requestable = 1 + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/table/reinforced/rglass, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/dropper, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "kgZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30491,16 +30050,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"khi" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library) "khr" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -30509,18 +30058,19 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/brig) -"khD" = ( -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) -"khF" = ( -/obj/effect/turf_decal/tile/yellow{ +"khu" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 8 }, -/obj/structure/sign/warning/no_smoking/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron/dark/corner, +/turf/open/floor/iron, +/area/station/engineering/main) +"khD" = ( +/turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) +"khW" = ( +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/wood, +/area/station/command/meeting_room) "khZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30532,71 +30082,32 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) -"kie" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/table/wood/fancy/black, -/obj/item/book/granter/action/spell/smoke/lesser{ - name = "mysterious old book of cloud-chasing" - }, -/obj/item/reagent_containers/cup/glass/bottle/holywater{ - pixel_x = -2; - pixel_y = 2 +"kim" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks{ + dir = 4 }, -/obj/item/nullrod{ - pixel_x = 4 +/turf/open/floor/wood, +/area/station/service/bar) +"kin" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/item/organ/internal/heart, -/obj/item/soulstone/anybody/chaplain, /turf/open/floor/iron/dark, -/area/station/service/chapel/office) -"kiu" = ( -/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, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +/area/station/security/prison/visit) "kiv" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/space/basic, /area/space/nearstation) -"kix" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/button/door/directional/west{ - id = "med_front_desk_shutters"; - name = "Front Desk Shutters Control"; - req_access = list("medical"); - pixel_y = -5 - }, -/obj/machinery/button/door/directional/west{ - id = "medbay_foyer"; - name = "Medbay Doors Bolt Control"; - req_access = list("medical"); - pixel_y = 5; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/structure/filingcabinet, -/turf/open/floor/iron/white, -/area/station/medical/office) -"kiC" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/newscaster/directional/west, -/obj/structure/closet/secure_closet/security/sec/blueshirt, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) "kiI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) -"kiM" = ( -/obj/item/wrench, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "kiT" = ( /obj/machinery/keycard_auth/directional/east, /obj/machinery/light/directional/east, @@ -30605,9 +30116,22 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/command/heads_quarters/rd) +"kjg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "kjj" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) +"kjl" = ( +/obj/structure/sign/poster/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "kjv" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/line{ @@ -30616,128 +30140,121 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"kjx" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) "kjA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/side, /area/station/security/prison/workout) "kjD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - 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/plating, -/area/station/maintenance/department/engine) -"kjO" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/wood/fancy, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 35 }, -/obj/structure/table/glass, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "kjP" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/electrical) -"kjV" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = 5 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) "kkb" = ( /obj/structure/table/wood, /obj/item/storage/box/cups, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"kkg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/carpet/green, -/area/station/commons/vacant_room/office) -"kkp" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/chair{ - dir = 4 +"kkl" = ( +/obj/structure/chair/plastic, +/obj/machinery/flasher/directional/west{ + id = "visitation_prisoner_flash" }, -/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) -"kkq" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/button/door/directional/north{ - id = "cargo_security_post"; - name = "Security Post Shutters Control"; - req_access = list("security") +/area/station/security/prison/visit) +"kkm" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/port) +"kkr" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/obj/machinery/computer/security/mining{ +/obj/structure/chair, +/turf/open/floor/iron/white, +/area/station/science/research) +"kkv" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) -"kkt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"kkz" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/computer/records/security{ +/obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, -/obj/machinery/button/door/directional/north{ - id = "departures_security_checkpoint"; - name = "Security Checkpoint Shutters Control"; - req_access = list("security") +/obj/machinery/light/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) +/area/station/hallway/primary/aft) "kkC" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/table/glass, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"kkH" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/dresser, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) +"kkD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/airalarm/directional/south, +/obj/machinery/computer/operating{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"kkE" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/chair/sofa/bench/left, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"kkR" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"kkV" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"kli" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/item/clothing/suit/armor/bulletproof{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/clothing/suit/armor/bulletproof{ + pixel_x = 6 + }, +/obj/item/clothing/suit/armor/bulletproof{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/item/clothing/head/helmet/alt{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/clothing/head/helmet/alt{ + pixel_x = -6 + }, +/obj/item/clothing/head/helmet/alt{ + pixel_x = -6; + pixel_y = -3 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "klm" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -30747,22 +30264,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"klo" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"klr" = ( -/obj/machinery/button/door/directional/south{ - id = "apothecary_sec_desk_shutters"; - name = "Secondary Desk Shutters Control"; - req_access = list("pharmacy") - }, -/obj/machinery/chem_dispenser, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) "klx" = ( /turf/open/floor/iron/dark/side{ dir = 9 @@ -30775,28 +30276,83 @@ }, /turf/open/space/basic, /area/space) -"klM" = ( +"klA" = ( /obj/effect/turf_decal/bot, -/obj/structure/fireaxecabinet/directional/north, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/machinery/pipedispenser/disposal, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/atmos) -"klQ" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/ammo_workbench, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"klV" = ( -/obj/machinery/newscaster/directional/west, +"klB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Equipment Storage"; + name = "engineering camera" + }, +/turf/open/floor/iron, +/area/station/engineering/storage) +"klC" = ( +/obj/machinery/light/small/directional/north, /obj/structure/table, -/obj/item/storage/box/cups, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"klI" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners{ + dir = 1 + }, +/obj/machinery/requests_console/directional/east{ + department = "Research Lab"; + name = "Research Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/upgraded, +/turf/open/floor/iron/checker, +/area/station/science/lab) +"klV" = ( +/obj/effect/turf_decal/stripes/box, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/trunk, +/obj/structure/disposaloutlet, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/sorting) "klX" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/five, /turf/open/floor/plating, /area/station/maintenance/department/science) +"klY" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) +"kmb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "detective_office_shutters"; + name = "Detective Office Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/security/detectives_office) +"kmc" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/station_map/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) "kml" = ( /turf/closed/wall, /area/station/security/prison/visit) @@ -30814,21 +30370,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"kmX" = ( -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/directional/north, -/obj/structure/table/reinforced, -/obj/item/storage/belt/utility, -/obj/item/clothing/glasses/welding, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) -"kni" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal) "knl" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/small/directional/west, @@ -30842,17 +30383,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/security/prison) -"kns" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/rack, -/obj/item/wallframe/apc, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/break_room) "knt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30866,6 +30396,16 @@ "knA" = ( /turf/open/floor/grass, /area/station/service/hydroponics) +"knG" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) "knI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30873,72 +30413,58 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"knW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +"knP" = ( +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /obj/structure/cable, -/obj/structure/liquid_barrier, -/obj/machinery/door/airlock/hatch{ - name = "Cytology Pen" +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Cleaning Closet" }, -/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/iron/dark/textured, -/area/station/science/xenobiology) +/area/station/security/prison) "knX" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/space/basic, /area/space/nearstation) -"knY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ +"koc" = ( +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/engine, +/area/station/science/xenobiology) +"koi" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Captain's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/captain, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/captain) -"kod" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) -"koo" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/requests_console/directional/east{ + department = "Engineering"; + name = "Engineering Requests Console" }, -/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/checker{ - dir = 1 +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/area/station/command/heads_quarters/cmo) +/turf/open/floor/iron, +/area/station/engineering/main) "kos" = ( /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/commons/locker) +"koB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/recharge_station, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/engineering/break_room) "koC" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -30952,20 +30478,20 @@ }, /turf/open/space/basic, /area/space) -"koM" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/railing{ +"koL" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair/sofa/bench/left, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Visitation" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/visit) "koP" = ( /obj/structure/chair/stool/directional/west, /obj/effect/landmark/start/assistant, @@ -30973,12 +30499,25 @@ dir = 8 }, /area/station/commons/fitness) -"kpd" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/table/wood, -/obj/effect/spawner/random/food_or_drink/snack, -/turf/open/floor/iron/white, -/area/station/medical/break_room) +"koS" = ( +/obj/structure/closet/toolcloset, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/engineering/atmos/office) +"koT" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos/office) +"koX" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/bank_machine, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "kpg" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -30986,46 +30525,49 @@ /obj/machinery/vending/mechcomp, /turf/open/floor/iron/white, /area/station/science/circuits) -"kpn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "kpr" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/primary/port) -"kps" = ( -/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/blueshield) +"kpB" = ( +/turf/closed/wall, +/area/station/medical/morgue) +"kpC" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) "kpE" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/department/security/brig) -"kpJ" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/closet/secure_closet/medical3, -/obj/item/wrench/medical, -/turf/open/floor/iron/white, -/area/station/medical/office) -"kpP" = ( -/obj/machinery/requests_console/directional/west{ - department = "Chapel"; - name = "Chapel Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +"kpI" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/wood, +/area/station/command/meeting_room) "kpW" = ( /obj/item/radio/intercom/prison/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison) +"kqe" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Plasma Outlet Pump" + }, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 8; + name = "Plasma to Turbine" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "kqh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -31036,25 +30578,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"kqp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/carpet/black, -/area/station/security/bitden) -"kqr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/machinery/atm/directional/north, -/obj/structure/table/glass, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "kqu" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -31076,6 +30599,25 @@ dir = 4 }, /area/station/service/chapel) +"kqC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/table, +/obj/item/electronics/airlock{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/electronics/airlock, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_y = 3; + pixel_x = 3 + }, +/turf/open/floor/iron/dark/side, +/area/station/engineering/storage_shared) +"kqO" = ( +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) "kqQ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -31085,12 +30627,46 @@ dir = 4 }, /area/station/cargo/miningoffice) -"krA" = ( -/obj/machinery/light/built/directional/east, -/obj/structure/table/wood, -/obj/item/storage/dice, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"kqU" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"krh" = ( +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"krl" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/structure/closet/crate, +/obj/item/crowbar/red, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) +"krq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/service/janitor) +"krt" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/security/prison) "krD" = ( /obj/machinery/camera/autoname/directional/west, /obj/machinery/atmospherics/components/unary/passive_vent{ @@ -31104,12 +30680,46 @@ /obj/machinery/nanite_program_hub, /turf/open/floor/iron/white, /area/station/science/research) -"krH" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ +"krJ" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Aft Primary Hallway North" + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/chair/sofa/bench/right{ dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) +"krO" = ( +/obj/machinery/light/directional/south, +/obj/machinery/requests_console/directional/south{ + department = "Bridge"; + name = "Bridge Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"krP" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 12 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = 6 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool, +/obj/item/clothing/glasses/welding{ + pixel_y = 12 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "krQ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -31131,32 +30741,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/security/brig) -"krW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron, -/area/station/engineering/storage) -"krY" = ( -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) "ksa" = ( /turf/open/space/basic, /area/space) -"ksb" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +"ksn" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) -"ksl" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "ksp" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -31166,76 +30760,49 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/brig) -"kst" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) -"ksu" = ( -/obj/effect/turf_decal/stripes/line{ +"ksK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/clothing, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"kte" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +/obj/structure/cable/layer1, /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/machinery/door/airlock/medical/glass{ - name = "Medical West Side Entrance" +/turf/open/floor/iron, +/area/station/engineering/storage) +"ktf" = ( +/obj/structure/table, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"ktl" = ( +/obj/structure/sign/warning/secure_area/directional/west, +/obj/machinery/shower/directional/east, +/turf/open/floor/iron/showroomfloor, +/area/station/science/xenobiology/hallway) +"ktK" = ( +/obj/machinery/door/window/left/directional/west{ + name = "Fitness Ring" }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/central) -"ksL" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"ksR" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"ksZ" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/griddle, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"ktn" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8; - name = "Waste Collection" - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"ktq" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/grill, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"ktt" = ( -/obj/machinery/light/directional/west, -/obj/structure/table, -/obj/item/storage/box/prisoner{ - pixel_y = 8; - pixel_x = 7 - }, -/obj/item/storage/box/prisoner{ - pixel_x = 7 +/turf/open/floor/iron/dark, +/area/station/commons/fitness/recreation) +"ktR" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Engineering - MiniSat Transit Pod Access, External"; + network = list("ss13","rd","xeno_pens"); + name = "engineering camera"; + start_active = 1 }, -/obj/item/toy/figure/prisoner{ - pixel_x = -7 +/obj/effect/turf_decal/tile/dark_blue{ + dir = 8 }, /turf/open/floor/iron/dark, -/area/station/security/execution/transfer) +/area/station/maintenance/starboard/aft) "kua" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -31246,42 +30813,86 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/security/holding_cell) -"kuk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +"kud" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "dep_med_post"; + name = "Medical Post Shutters"; + dir = 1 }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "AI Sat - AI Chamber South"; - network = list("aicore"); - name = "ai camera" +/turf/open/floor/plating, +/area/station/medical/treatment_center) +"kum" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/turf/open/floor/engine, -/area/station/ai_monitored/turret_protected/ai) +/area/station/hallway/primary/aft) "kun" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/main) +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/entertainment/coin{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/effect/spawner/random/entertainment/coin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kuz" = ( /obj/structure/sign/poster/random/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science) +"kuG" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/construction/mining/aux_base) +"kuH" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/white/textured, +/area/station/science/auxlab) "kuJ" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/vending/wardrobe/robo_wardrobe, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"kuP" = ( +/obj/machinery/light/built/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) "kvg" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/surgery) +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable/layer1, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/engineering/engine_smes) "kvh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31298,25 +30909,18 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) -"kvw" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/button/door/directional/west{ - id = "armory_side_access"; - name = "Armory Side Access"; - pixel_y = 10; - req_access = list("armory") +"kvu" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/light/small/directional/west, -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/machinery/button/door/directional/west{ - id = "sec_lockers"; - name = "Locker Room Shutters Control"; - req_access = list("security") +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/security/lockers) +/area/station/security/warden) "kvC" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -31325,22 +30929,6 @@ /obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"kvL" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"kvW" = ( -/obj/effect/landmark/start/gary, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"kvX" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "kvY" = ( /obj/machinery/power/terminal{ dir = 8 @@ -31359,58 +30947,10 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/security/office) -"kwg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"kwk" = ( -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/transit_tube) -"kwG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "cmo_office_shutters"; - name = "CMO's Office Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/cmo) -"kwK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance{ - name = "Forging Lab Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/science/general, -/obj/effect/mapping_helpers/airlock/access/any/supply/general, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"kwV" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +"kwA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/turf/open/floor/iron/dark/side, +/area/station/engineering/storage_shared) "kxd" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, @@ -31428,8 +30968,10 @@ /turf/closed/wall, /area/station/commons/dorms) "kxp" = ( -/turf/closed/wall, -/area/station/medical/surgery) +/obj/structure/frame/machine, +/obj/item/circuitboard/machine/chem_master, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "kxq" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -31439,26 +30981,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/holding_cell) -"kxu" = ( -/obj/machinery/composters, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) -"kxC" = ( -/obj/effect/turf_decal/tile/orange/fourcorners, -/obj/structure/window/reinforced/tinted, -/obj/structure/toilet{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison/safe) -"kxH" = ( -/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/box, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/station/security/warden) "kxM" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/leafy, @@ -31470,43 +30992,38 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kyu" = ( -/obj/effect/turf_decal/stripes/line{ +"kxV" = ( +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/break_room) +"kxY" = ( +/obj/structure/chair/comfy/brown{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/start/assistant, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) +"kyC" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/service{ - name = "Bar Backroom" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured, -/area/station/service/bar/backroom) -"kyB" = ( -/obj/structure/sign/painting/library{ - pixel_x = -32 - }, -/obj/effect/turf_decal/siding/wood{ +/turf/open/floor/iron, +/area/station/engineering/atmos/office) +"kyK" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"kyX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"kyM" = ( +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/structure/sign/departments/engineering/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/area/station/hallway/primary/aft) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "kyY" = ( /obj/structure/cable, /obj/item/radio/intercom/directional/south, @@ -31529,16 +31046,37 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/carpet/purple, /area/station/command/heads_quarters/rd) -"kzh" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/item/radio/intercom/prison/directional/south, -/obj/machinery/byteforge, -/turf/open/floor/iron/dark, -/area/station/security/bitden) +"kzj" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/prison/rec) +"kzk" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"kzp" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/storage) "kzv" = ( /obj/machinery/atmospherics/components/trinary/mixer/flipped, /turf/open/floor/iron, /area/station/science/ordnance) +"kzA" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/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, +/area/station/medical/paramedic) "kzJ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -31566,27 +31104,38 @@ dir = 8 }, /area/station/commons/fitness/recreation) -"kAb" = ( -/obj/structure/closet/emcloset, +"kzY" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"kAo" = ( -/obj/effect/turf_decal/trimline/red/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 - }, +"kAk" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"kAN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"kAx" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"kAP" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/table/glass, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/window/brigdoor/right/directional/west{ + name = "Core Modules"; + req_access = list("captain") }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/ai_module/core/full/crewsimov{ + pixel_y = 7; + pixel_x = 1 + }, +/obj/item/ai_module/core/full/crewsimovpp, +/obj/effect/spawner/round_default_module, /turf/open/floor/iron/dark, -/area/station/security/courtroom) +/area/station/ai_monitored/turret_protected/ai_upload) "kAS" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/east, @@ -31594,21 +31143,6 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"kAV" = ( -/obj/machinery/firealarm/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"kAW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "kBh" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/light/small/directional/north, @@ -31621,6 +31155,17 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kBo" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/table/reinforced/rglass, +/obj/item/emergency_bed{ + pixel_y = 14 + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "kBA" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -31636,62 +31181,52 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) -"kBK" = ( -/obj/effect/turf_decal/trimline/neutral/filled/warning, -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 1 - }, -/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, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"kBL" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/book/manual/wiki/infections{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/surgery{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/medicine{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/book/manual/wiki/chemistry{ - pixel_x = 5 +"kBN" = ( +/obj/machinery/shower/directional/south, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/shower) +"kCx" = ( +/obj/effect/spawner/random/trash/box, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"kCC" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/bed/double{ + dir = 4 }, -/turf/open/floor/iron/checker{ - dir = 1 +/obj/item/bedsheet/nanotrasen/double{ + dir = 4 }, -/area/station/command/heads_quarters/cmo) -"kCA" = ( -/obj/effect/turf_decal/bot_white, -/obj/structure/cargo_shelf, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +/obj/effect/landmark/start/blueshield, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "kCD" = ( -/obj/effect/turf_decal/trimline/red/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) +/turf/open/floor/iron/dark/textured, +/area/station/service/library) "kCF" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kCI" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Science - Circuit Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/white, +/area/station/science/circuits) "kCR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -31701,101 +31236,83 @@ }, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"kCU" = ( -/obj/structure/reagent_dispensers/plumbed, -/turf/open/floor/plating, -/area/station/maintenance/central) "kCZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kDb" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"kDn" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/chair/sofa/bench/left, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"kDz" = ( +/obj/effect/turf_decal/stripes/end, +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/south{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/machinery/door/window/left/directional/north{ - name = "Hydroponics Desk" - }, -/obj/machinery/door/poddoor/shutters{ - id = "hydroponics_shutters"; - name = "Hydroponics Shutters"; +/obj/structure/disposaloutlet{ dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/hydroponics) -"kDc" = ( -/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, -/area/station/hallway/primary/starboard) -"kDe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/sorting) +"kDE" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/blobstart, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) -"kDm" = ( -/turf/closed/wall/r_wall, -/area/station/security/checkpoint/medical) -"kDx" = ( -/obj/machinery/firealarm/directional/east, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/space_heater, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/hallway/secondary/service) +/obj/structure/sign/poster/random/directional/west, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "kDG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating, /area/station/engineering/atmos) -"kDS" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"kEl" = ( -/obj/machinery/status_display/evac/directional/east, -/obj/structure/rack, -/obj/item/crowbar/red, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"kEL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 +"kEa" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 +/obj/machinery/light/small/directional/east, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/effect/turf_decal/trimline/neutral/corner, -/obj/item/kirbyplants/random, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"kEM" = ( -/obj/machinery/airalarm/directional/west, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"kEn" = ( +/obj/effect/turf_decal/bot, +/obj/structure/cable, /obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"kEN" = ( -/obj/machinery/plumbing/ooze_sucker{ - mapping_id = "5" +/obj/item/electronics/airlock{ + pixel_x = -7; + pixel_y = 9 }, -/turf/open/floor/engine, -/area/station/science/xenobiology) +/obj/item/electronics/airlock{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/electronics/apc, +/obj/item/electronics/apc{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stock_parts/cell/high{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron, +/area/station/engineering/main) +"kEy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/miningoffice) "kEX" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -31805,35 +31322,67 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"kEZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/iron, +/area/station/engineering/main) "kFc" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/atm/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"kFe" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +"kFh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "kFk" = ( /turf/closed/wall/r_wall, /area/station/security/bitden) -"kFw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"kFs" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/item/folder/white{ + pixel_x = 3; + pixel_y = 3 }, -/obj/machinery/light/small/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_5k, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"kFK" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/dark/side, -/area/station/security/prison/work) +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"kFv" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/reagent_dispensers/plumbed, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"kFx" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/machinery/button/door/directional/south{ + id = "justice_chamber"; + name = "Airlock Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/structure/table, +/obj/item/storage/box/bodybags{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/storage/box/bodybags{ + pixel_x = 5; + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/station/security/execution) +"kFF" = ( +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "kFM" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Stbd"; @@ -31844,31 +31393,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"kFQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/structure/sign/flag/nanotrasen/directional/east, -/obj/machinery/suit_storage_unit/hos, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"kGo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"kGq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 +"kFT" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/effect/turf_decal/trimline/red/corner{ + dir = 8 }, -/area/station/engineering/break_room) +/obj/structure/closet/emcloset, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "kGr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31879,6 +31414,9 @@ /obj/structure/flora/bush/large/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"kGw" = ( +/turf/closed/wall, +/area/station/engineering/storage_shared) "kGS" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31895,59 +31433,55 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/miningoffice) -"kHg" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"kHd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/structure/closet/secure_closet/freezer/kitchen, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"kHs" = ( +/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/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) -"kHh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) +/turf/open/space/basic, +/area/space/nearstation) "kHw" = ( /obj/item/paper/crumpled, /turf/open/floor/iron/dark, /area/station/maintenance/port/fore) -"kHL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured, -/area/station/engineering/main) +"kHB" = ( +/obj/machinery/light/floor/has_bulb, +/mob/living/basic/slime, +/turf/open/floor/engine, +/area/station/science/xenobiology) "kHP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"kIb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/suit_storage_unit/ce, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/command/heads_quarters/ce) "kIh" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1 }, /turf/open/floor/engine, /area/station/science/explab) -"kIl" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/security/prison/rec) +"kIj" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "kIn" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -31961,18 +31495,18 @@ /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kIy" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/commons/fitness) +"kIw" = ( +/obj/structure/sink/directional/east, +/turf/open/floor/iron/showroomfloor, +/area/station/science/xenobiology/hallway) +"kIx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/defibrillator_mount/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "kIA" = ( /obj/machinery/suit_storage_unit/security, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -31982,83 +31516,14 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "kIE" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/west, -/obj/structure/tank_dispenser, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"kIQ" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/item/clothing/suit/armor/vest/alt/sec{ - pixel_y = 3; - pixel_x = 6 - }, -/obj/item/clothing/suit/armor/vest/alt/sec{ - pixel_x = 6 - }, -/obj/item/clothing/suit/armor/vest/alt/sec{ - pixel_y = -3; - pixel_x = 6 - }, -/obj/item/clothing/head/helmet/sec{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/clothing/head/helmet/sec{ - pixel_x = -6 - }, -/obj/item/clothing/head/helmet/sec{ - pixel_x = -6; - pixel_y = -3 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"kIR" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/bot, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/closet/secure_closet/security/sec, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"kJa" = ( -/obj/effect/turf_decal/box, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/obj/machinery/camera/directional/south{ - c_tag = "AI Chamber - Secondary Core"; - name = "core camera"; - network = list("aicore") - }, -/obj/machinery/flasher/directional/north{ - id = "AI"; - name = "Meatbag Pacifier" - }, -/turf/open/floor/engine, -/area/station/ai_monitored/turret_protected/ai) -"kJo" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/disposalpipe/junction/flip{ dir = 8 }, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/machinery/door/window/left/directional/east{ - name = "Atmospherics Deliveries"; - req_access = list("atmospherics") - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos/office) +/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) "kJs" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark/side{ @@ -32072,19 +31537,32 @@ dir = 1 }, /area/station/hallway/secondary/service) -"kJy" = ( -/obj/effect/turf_decal/stripes/end, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"kJD" = ( +/obj/structure/filingcabinet, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"kJG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/security/execution) +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "kJI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"kJZ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/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/checkpoint/customs/auxiliary) "kKf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32098,51 +31576,43 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/storage/primary) -"kKi" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/effect/spawner/random/bedsheet{ - dir = 4 - }, -/obj/effect/landmark/start/psychologist, -/turf/open/floor/wood, -/area/station/medical/psychology) -"kKm" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/office) -"kKw" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron, -/area/station/engineering/main) +"kKk" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"kKt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"kKv" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "kKH" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"kKI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) "kKV" = ( /obj/structure/bed/pod, /obj/item/bedsheet/random, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/fore) -"kLf" = ( -/turf/closed/wall, -/area/station/medical/exam_room) "kLj" = ( /turf/open/floor/carpet/neon/simple/pink, /area/station/science/xenobiology) -"kLr" = ( -/turf/closed/wall/r_wall, -/area/station/medical/treatment_center) +"kLl" = ( +/obj/effect/turf_decal/bot, +/obj/structure/cable, +/turf/open/floor/iron/large, +/area/station/commons/storage/primary) "kLu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32150,96 +31620,57 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port) -"kLF" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/modular_computer/preset/id{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"kLO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +"kLx" = ( /obj/effect/turf_decal/stripes/line, +/obj/structure/cable/multilayer/connected, /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/maintenance{ - name = "Cargo Bay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/cargo/storage) -"kMz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"kMC" = ( -/obj/machinery/atmospherics/components/binary/pump/on/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"kMD" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, /turf/open/floor/iron/dark, -/area/station/security/warden) -"kME" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ +/area/station/engineering/engine_smes) +"kLC" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"kMH" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"kLE" = ( /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=Security"; - location = "EVA2" +/obj/machinery/duct, +/obj/structure/chair/comfy/brown{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"kMQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) +"kLU" = ( +/obj/structure/chair, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"kMe" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 4 +/obj/machinery/status_display/evac/directional/north, +/obj/structure/bed/dogbed{ + name = "Poly's Bed" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"kMR" = ( -/obj/machinery/holopad, +/mob/living/basic/parrot/poly, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/command/heads_quarters/ce) +"kMp" = ( +/obj/structure/sign/warning/test_chamber/directional/north, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/station/maintenance/department/electrical) -"kMW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/computer/cargo{ - dir = 4 - }, +/area/station/maintenance/department/science) +"kMF" = ( +/obj/machinery/light/built/directional/west, +/obj/machinery/duct, /turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/area/station/service/abandoned_gambling_den) "kMY" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -32263,6 +31694,20 @@ /obj/effect/turf_decal/trimline/green/line, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"kNi" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/camera/directional/north{ + c_tag = "Hallway - West, Eastern End"; + name = "hallway camera" + }, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/departments/aiupload/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) "kNk" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -32273,83 +31718,18 @@ dir = 1 }, /area/station/commons/locker) -"kNw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"kNJ" = ( /obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Departures Medical Post" +/turf/open/floor/iron, +/area/station/engineering/main) +"kNO" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/dark/textured, -/area/station/medical/treatment_center) -"kNy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"kNA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/box, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"kNH" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door_buttons/access_button{ - idDoor = "xeno_airlock_exterior"; - idSelf = "xeno_airlock_control"; - name = "Access Button"; - req_access = list("xenobiology"); - pixel_x = 26 - }, -/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, -/obj/machinery/duct, -/obj/structure/liquid_barrier, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - autoclose = 0; - frequency = 1449; - id_tag = "xeno_airlock_exterior"; - name = "Xenobiology Lab External Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/iron/white/textured, -/area/station/science/xenobiology/hallway) -"kNJ" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) -"kNO" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ +/turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/service/hydroponics/garden) -"kOa" = ( -/obj/machinery/airalarm/directional/west, -/obj/item/storage/secure/safe/directional/south, -/obj/machinery/suit_storage_unit/cmo, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "kOi" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible{ @@ -32357,19 +31737,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"kOl" = ( -/obj/machinery/light/small/broken/directional/south, -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/bottle/whiskey{ - pixel_y = 7; - pixel_x = -7 - }, -/obj/item/reagent_containers/cup/glass/bottle/rum{ - pixel_x = 6; - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "kOo" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/corner{ dir = 1 @@ -32384,6 +31751,14 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"kOC" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/security/interrogation) "kOK" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -32396,19 +31771,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"kOM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/structure/closet/secure_closet/personal/patient, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) "kOW" = ( /obj/effect/spawner/random/structure/chair_maintenance, /obj/effect/mapping_helpers/burnt_floor, @@ -32420,14 +31782,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) -"kPh" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/virology) "kPj" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32440,18 +31794,42 @@ /obj/effect/mapping_helpers/airlock/access/all/security/hos, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/hos) -"kPm" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"kPo" = ( +"kPk" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) +"kPw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/obj/machinery/door/poddoor/shutters{ + id = "engi_office_shutters"; + name = "Engineering Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/engineering/break_room) +"kPC" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/table/reinforced/rglass, +/obj/machinery/fax{ + fax_name = "Medical Office"; + name = "Medical Office Fax Machine" + }, +/turf/open/floor/iron/white, +/area/station/medical/office) "kPJ" = ( /obj/machinery/corral_corner{ mapping_id = "1" @@ -32467,57 +31845,70 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"kQe" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"kQj" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4 +"kPK" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + 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/mail_sorting/science/xenobiology, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) -"kQo" = ( -/obj/machinery/light/directional/west, -/obj/structure/chair/sofa/left/maroon{ +/obj/effect/turf_decal/trimline/yellow/line{ dir = 4 }, -/obj/effect/landmark/start/assistant, +/obj/machinery/light/directional/west, /turf/open/floor/iron/dark/side{ dir = 8 }, -/area/station/commons/fitness) -"kQq" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/on{ - name = "Primary Waste Release"; +/area/station/hallway/primary/aft) +"kPR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/cable, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, /turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"kQx" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ +/area/station/maintenance/port/aft) +"kPW" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/breakroom) +"kQa" = ( +/obj/machinery/light/directional/east, +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"kQp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/structure/filingcabinet, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"kQu" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"kQz" = ( -/obj/effect/turf_decal/box, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/command/heads_quarters/ce) -"kQK" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/obj/machinery/light/small/directional/north, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/item/pen, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/sorting) "kQP" = ( /obj/machinery/corral_corner{ mapping_id = "3" @@ -32543,18 +31934,12 @@ /obj/item/stack/ore/uranium, /turf/open/floor/plating, /area/station/maintenance/port) -"kQX" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Atmospherics Pumping Room"; - name = "engineering camera" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold/supply/visible{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) +"kRa" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "kRc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -32574,12 +31959,47 @@ dir = 1 }, /area/station/cargo/office) -"kRu" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/item/stack/cable_coil, -/turf/open/space, -/area/station/solars/port/fore) +"kRi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"kRm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"kRs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/library) +"kRz" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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) +"kRI" = ( +/obj/machinery/light/broken/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/table, +/obj/item/taperecorder, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "kRK" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -32598,14 +32018,38 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"kSi" = ( +"kSa" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/box, /obj/machinery/holopad, -/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/starboard) +"kSm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/large, -/area/station/tcommsat/computer) +/obj/structure/cable, +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"kSs" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "cmo_desk_shutters"; + name = "Desk Shutters"; + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/dark/side, +/area/station/command/heads_quarters/cmo) "kSL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32613,21 +32057,35 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port) +"kSO" = ( +/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/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "kSU" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/bookcase/random/religion, +/turf/open/floor/wood, +/area/station/service/library) +"kSX" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 }, -/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/machinery/door/airlock/command{ - name = "Chief Medical Officer's Quarters" +/turf/open/floor/iron/white, +/area/station/medical/virology) +"kTa" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/cmo) +/obj/structure/plaque/static_plaque/golden/captain{ + pixel_y = -32 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "kTj" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -32646,11 +32104,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/service/hydroponics/garden) -"kTq" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "kTz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -32664,31 +32117,18 @@ /obj/effect/landmark/navigate_destination/dockescpod4, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/storage) -"kTE" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/purple/line, -/obj/machinery/station_map/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"kUa" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, +"kTY" = ( +/obj/effect/spawner/random/trash/hobo_squat, +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"kUd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 - }, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"kUm" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "kUp" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -32701,6 +32141,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/holding_cell) +"kUq" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/command/heads_quarters/ce) "kUA" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -32713,10 +32159,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"kUB" = ( -/obj/structure/filingcabinet, -/turf/open/floor/carpet/blue, -/area/station/commons/vacant_room/office) "kUI" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32733,27 +32175,13 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"kUL" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) "kUM" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /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) +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "kUP" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/machinery/light/directional/west, @@ -32761,18 +32189,6 @@ /obj/effect/spawner/random/techstorage/command_all, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"kUQ" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/computer/crew{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"kUV" = ( -/obj/machinery/telecomms/server/presets/supply, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) "kVb" = ( /obj/structure/table, /obj/item/hfr_box/corner, @@ -32782,16 +32198,6 @@ /obj/item/hfr_box/core, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"kVi" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - 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/plating, -/area/station/maintenance/port/aft) "kVk" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -32801,20 +32207,10 @@ /obj/item/key/security, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"kVn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/liquid_barrier, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, -/obj/structure/cable, -/turf/open/floor/plating, +"kVo" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/iron/white, /area/station/science/xenobiology) "kVq" = ( /obj/machinery/duct, @@ -32835,14 +32231,6 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/plating, /area/station/engineering/main) -"kVE" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/wood/fancy, -/obj/effect/spawner/random/decoration/statue{ - spawn_loot_chance = 35 - }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) "kVF" = ( /obj/machinery/duct, /turf/open/floor/carpet/orange, @@ -32862,28 +32250,20 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"kVH" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) "kVX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kVZ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/table, -/obj/item/food/grown/wheat, -/obj/item/food/grown/watermelon, -/obj/item/food/grown/watermelon, -/obj/item/food/grown/watermelon, -/obj/item/food/grown/citrus/orange, -/obj/item/food/grown/grapes, -/obj/item/food/grown/cocoapod, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/service/hydroponics/garden) "kWi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32893,74 +32273,25 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"kWj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - id_tag = "dorm_2"; - name = "Dorm 2" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms/room2) "kWu" = ( /obj/structure/nestbox, /turf/open/floor/grass, /area/station/service/hydroponics) -"kWy" = ( -/obj/effect/turf_decal/bot, -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = 3 - }, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = 6 - }, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = 9 - }, -/turf/open/floor/iron, -/area/station/engineering/main) -"kWG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"kWJ" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/dresser, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) +"kWR" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/airlock/maintenance{ - name = "Departures Medical Post Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ dir = 4 }, -/turf/open/floor/plating, -/area/station/medical/treatment_center) -"kWI" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/iv_drip, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"kWN" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/security/prison/safe) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "kWT" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, @@ -32992,50 +32323,31 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"kXK" = ( -/obj/structure/table, -/obj/item/shovel/spade, -/obj/item/plant_analyzer, -/obj/item/cultivator, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) -"kXL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/white/textured, -/area/station/medical/office) -"kXN" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/table/reinforced, -/obj/item/reagent_containers/cup/glass/bottle/whiskey{ - pixel_y = 7; - pixel_x = 7 - }, -/obj/item/reagent_containers/cup/glass/flask{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = -5; - pixel_y = 3 +"kXD" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Maintenance - External Access, Northwest"; + name = "maintenance camera" }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kYa" = ( /obj/machinery/light/directional/west, /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/science/ordnance) +"kYv" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "kYw" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/random/structure/table_or_rack, @@ -33056,35 +32368,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"kYL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/service/janitor) -"kYR" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "ce_office_shutters"; - name = "CE's Office Shutters" - }, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) -"kYU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/station/command/heads_quarters/cmo) -"kZc" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/wood, -/area/station/service/bar) "kZf" = ( /obj/structure/table, /obj/item/toy/crayon/spraycan{ @@ -33097,21 +32380,6 @@ /obj/item/paint_palette, /turf/open/floor/iron/dark/side, /area/station/commons/fitness/recreation) -"kZo" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"kZw" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"kZz" = ( -/obj/machinery/telecomms/processor/preset_four, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) "kZD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33119,81 +32387,34 @@ /obj/structure/cable/layer1, /turf/open/floor/iron, /area/station/engineering/storage) -"kZE" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology/glass{ - name = "Secondary Pathology Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/iron/white/textured, -/area/station/medical/virology) -"kZH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "kZN" = ( /obj/structure/flora/bush/jungle/a/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"kZS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_x = -7; - pixel_y = -24 - }, -/obj/machinery/button/door/incinerator_vent_atmos_main{ - pixel_x = -7; - pixel_y = -36 - }, -/obj/machinery/button/ignition/incinerator/atmos{ - pixel_y = -24; - pixel_x = 7 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"laj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/mask/breath, +"laq" = ( +/obj/structure/table, +/obj/item/storage/box/matches, +/obj/effect/spawner/random/entertainment/cigarette_pack, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"lat" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/newscaster/directional/north, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) +/area/station/maintenance/port/aft) "lay" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"laO" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"laR" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/ai_monitored/command/storage/eva) +"laB" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"laJ" = ( +/obj/machinery/light/directional/east, +/obj/machinery/newscaster/directional/east, +/obj/machinery/computer/crew{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "lbf" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/line{ @@ -33201,6 +32422,24 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"lbp" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) +"lbr" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/effect/turf_decal/trimline/red/warning{ + 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/dark, +/area/station/hallway/primary/fore) "lbC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33209,56 +32448,24 @@ dir = 4 }, /area/station/commons/fitness/recreation) -"lbK" = ( -/obj/structure/noticeboard/directional/north, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/effect/spawner/random/bureaucracy/folder{ - pixel_y = 6 - }, -/obj/effect/spawner/random/bureaucracy/pen{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/station/service/chapel/funeral) -"lbL" = ( -/obj/machinery/light/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +"lbZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/medical/psychology) -"lca" = ( -/obj/structure/sign/warning/radiation/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"lco" = ( -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"lct" = ( -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/iron, +/turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lcD" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/modular_computer/preset/command{ - dir = 4 +"lcu" = ( +/obj/structure/filingcabinet, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"lcF" = ( +/obj/structure/sign/painting/library{ + pixel_y = -32 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"lcE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "lcI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33274,15 +32481,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"lcP" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/effect/spawner/random/entertainment/coin, -/obj/item/toy/figure/captain{ - pixel_x = -12 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) "lcS" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 8 @@ -33299,14 +32497,25 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"lcX" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"ldp" = ( +/obj/structure/cable, +/obj/structure/sign/warning/vacuum/external/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "ldz" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ldS" = ( -/turf/closed/wall/r_wall, -/area/station/medical/chemistry) "ldX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33315,26 +32524,13 @@ dir = 4 }, /area/station/commons/fitness) -"lea" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "kitchen_sec_shutters"; - name = "Kitchen Shutters"; - dir = 1 - }, -/obj/structure/desk_bell{ - pixel_y = 2; - pixel_x = -6 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/kitchen) +"lec" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/ordnance/testlab) "lej" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -33346,20 +32542,20 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/dorms/laundry) -"lem" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/table/reinforced/rglass, -/obj/item/emergency_bed{ - pixel_y = 7 - }, -/obj/item/emergency_bed{ - pixel_y = 14 +"lep" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/obj/item/emergency_bed{ - pixel_y = 21 +/obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/cold_temp/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/medical/paramedic) +/area/station/tcommsat/computer) +"leq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "ley" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33397,16 +32593,6 @@ dir = 1 }, /area/station/engineering/gravity_generator) -"leI" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=AIW"; - location = "QM" - }, -/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/hallway/primary/central) "leN" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/table/glass, @@ -33425,149 +32611,102 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"lfd" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ +"leS" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/paper_bin{ - pixel_y = 5; - pixel_x = -8 - }, -/obj/item/folder/red{ - pixel_x = 7 - }, -/obj/item/folder/white{ - pixel_x = 7; - pixel_y = 3 +/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals - Checkpoint, North"; + name = "arrivals camera" }, -/obj/item/pen{ - pixel_x = 7 +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"lfv" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"lfx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/item/emergency_bed{ - pixel_y = 7 +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) +"lfF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/security/medical) -"lfg" = ( -/obj/effect/turf_decal/trimline/neutral/filled/warning{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/warning{ - 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/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) -"lfi" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/station_map/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) -"lfj" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 +/obj/machinery/door/airlock/maintenance{ + name = "Mining Office Maintenance" }, -/obj/machinery/vending/wardrobe/viro_wardrobe, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"lfm" = ( -/obj/effect/turf_decal/stripes/line, +/obj/effect/mapping_helpers/airlock/access/all/supply/mining, +/turf/open/floor/plating, +/area/station/cargo/miningoffice) +"lfH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/service/library/private) +"lfL" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"lga" = ( +/obj/machinery/light/small/directional/west, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Cleaning Closet" - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison) -"lfo" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/obj/structure/cable/layer1, -/turf/open/floor/iron, -/area/station/engineering/main) -"lfs" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/line{ +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"lgt" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"lfw" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"lfx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"lfT" = ( -/obj/machinery/light/directional/south, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/iron/dark/side, -/area/station/tcommsat/computer) -"lgx" = ( /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "lgB" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"lhd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"lgD" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"lgE" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Command - Bridge, West"; + name = "command camera" + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"lgM" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"lgV" = ( +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "lhg" = ( /obj/machinery/duct, /turf/open/floor/iron/kitchen, /area/station/security/prison/mess) -"lhk" = ( -/obj/structure/cable, -/obj/machinery/button/door/directional/north{ - id = "iso_cell_hall_vent"; - name = "Isolation Cell Hall Vent Control"; - req_access = list("security"); - pixel_x = 6 - }, -/obj/machinery/button/door/directional/north{ - id = "iso_cell_hall_bolt"; - name = "Isolation Cell Hall Bolt Control"; - req_access = list("security"); - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = -6 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"lhn" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "lho" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -33582,33 +32721,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"lhp" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/button/door/directional/south{ - id = "eva_shutters"; - name = "EVA Storage Shutters Control"; - req_access = list("command"); - pixel_x = -7 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_y = 6 +"lhr" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/emergency{ - pixel_y = -6 +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) -"lhs" = ( -/obj/structure/chair/wood{ - dir = 8 +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 }, -/turf/open/floor/carpet/green, -/area/station/service/abandoned_gambling_den) +/obj/structure/table/glass, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "lhv" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/trimline/dark_blue/warning{ @@ -33626,102 +32753,58 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) -"lhG" = ( -/obj/machinery/door/window/left/directional/north, -/obj/structure/table/wood/fancy/blue, -/obj/structure/sign/painting/library{ - pixel_y = -32 +"lhP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"lhN" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"lig" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +/obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 }, -/obj/effect/turf_decal/trimline/red/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/dark, -/area/station/hallway/primary/fore) -"liB" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/structure/closet/emcloset, -/turf/open/floor/iron/showroomfloor, -/area/station/science/xenobiology/hallway) -"liC" = ( -/obj/effect/turf_decal/bot_red, -/obj/machinery/light/directional/east, -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/large, -/area/station/ai_monitored/command/storage/eva) -"liD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/area/station/hallway/primary/aft) +"lhX" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/cup/glass/bottle/whiskey{ + pixel_y = 7; + pixel_x = 7 }, -/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/machinery/door/airlock/grunge{ - name = "Bitrunner Den" +/obj/item/reagent_containers/cup/glass/flask{ + pixel_x = -6; + pixel_y = 9 }, -/obj/effect/landmark/navigate_destination/common/bitrunner, -/turf/open/floor/iron/dark/textured, -/area/station/security/bitden) -"liE" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/computer/prisoner/management{ - dir = 8 +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = -5; + pixel_y = 3 }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"liM" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "medical_security_post"; - name = "Security Post Shutters"; +"lig" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/turf/open/floor/plating, -/area/station/security/checkpoint/medical) -"liN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/layer1, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/red/line, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/storage) -"liQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/abandoned_gambling_den) +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"lir" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "liV" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 @@ -33730,24 +32813,47 @@ /obj/structure/closet/toolcloset, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"ljl" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) -"ljt" = ( +"ljf" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"ljg" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/keycard_auth/directional/west, /obj/structure/cable, -/obj/machinery/computer/accounting{ - dir = 4 +/obj/machinery/modular_computer/preset/id{ + dir = 1 }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"ljh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/wood, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"ljl" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "ljv" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/security) +"ljz" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "ljY" = ( /obj/structure/lattice, /obj/structure/sign/warning/secure_area/directional/east, @@ -33775,27 +32881,48 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) -"lkq" = ( -/obj/machinery/power/apc/auto_name/directional/north, +"lkk" = ( +/obj/effect/spawner/xmastree, +/turf/open/floor/carpet, +/area/station/service/chapel) +"lkr" = ( /obj/structure/cable, -/obj/structure/table, -/obj/item/book/manual/wiki/barman_recipes{ - pixel_y = 4 +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"lks" = ( +/obj/machinery/light/directional/south, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) +"lkw" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/wood, +/area/station/maintenance/port/fore) +"lkP" = ( +/obj/structure/table/wood/fancy/royalblue, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = -9; + pixel_y = 9 }, -/obj/item/storage/box/drinkingglasses{ - pixel_x = -6 +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = 9; + pixel_y = 9 }, -/obj/item/storage/box/drinkingglasses{ - pixel_x = 6 +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_y = 9 }, -/turf/open/floor/wood, -/area/station/service/bar) -"lku" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) +/obj/item/reagent_containers/cup/glass/bottle/wine{ + pixel_x = -7 + }, +/obj/item/reagent_containers/cup/glass/bottle/navy_rum{ + pixel_x = 7 + }, +/obj/item/reagent_containers/cup/glass/bottle/rum{ + pixel_y = -9 + }, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) "lkR" = ( /obj/machinery/the_singularitygen, /turf/open/floor/plating, @@ -33805,44 +32932,39 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"lkX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/closet/crate/freezer/surplus_limbs, -/turf/open/floor/iron/white, -/area/station/medical/surgery) "lld" = ( /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"llg" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 +"lle" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -7 }, -/obj/machinery/computer/records/pathology{ - dir = 8 +/obj/item/folder/red{ + pixel_x = -7 }, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"llk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) -"lls" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "engi_office_shutters"; - name = "Engineering Shutters"; - dir = 8 +/obj/item/pen{ + pixel_x = -7 }, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 7 }, -/turf/open/floor/plating, -/area/station/engineering/break_room) +/obj/item/hand_labeler, +/turf/open/floor/iron/dark, +/area/station/security/warden) +"llA" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/iron/showroomfloor, +/area/station/science/xenobiology/hallway) "llG" = ( /obj/machinery/door/airlock/grunge{ id_tag = "toilet_3"; @@ -33853,62 +32975,78 @@ "llH" = ( /turf/closed/wall, /area/station/engineering/atmos/pumproom) -"llR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, +"llP" = ( +/obj/machinery/light/small/directional/west, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/engineering/main) +"llQ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"lme" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) "lmw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) -"lmJ" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 +"lmH" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/chair/sofa/bench/right{ + dir = 8 }, -/obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"lmK" = ( -/obj/machinery/plumbing/ooze_sucker{ - mapping_id = "1"; - dir = 1 +/area/station/hallway/primary/central) +"lmN" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"lmR" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"lmX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "detective_office_shutters"; - name = "Detective Office Shutters"; - dir = 1 +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/security/detectives_office) -"lmY" = ( -/obj/effect/turf_decal/box, +/area/station/cargo/office) +"lmQ" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/filingcabinet, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"lnn" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/layer1, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/morgue) -"lnm" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/turf/open/floor/iron, +/area/station/engineering/main) +"lno" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/structure/sign/departments/xenobio/directional/north, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "lnp" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 @@ -33926,10 +33064,23 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"lnu" = ( +"lnx" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"lnz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/abandoned_gambling_den) +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/landmark/start/detective, +/turf/open/floor/wood, +/area/station/security/detectives_office) "lnE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33937,64 +33088,23 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"lnK" = ( -/obj/machinery/modular_computer/preset/id{ +"lnG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "lnS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"lnT" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"loc" = ( -/obj/machinery/light/small/directional/south, -/obj/vehicle/sealed/mecha/working/ripley/cargo, -/turf/open/floor/iron/recharge_floor, -/area/station/cargo/warehouse) -"loe" = ( -/obj/structure/table, -/obj/item/hemostat, -/obj/item/stock_parts/manipulator, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/iron/white, -/area/station/maintenance/port/fore) -"loo" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "lor" = ( /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/commons/fitness) -"los" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/security/prison/safe) -"lox" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) -"loy" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "loG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -34010,30 +33120,12 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/sorting) -"loR" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/exit/departure_lounge) -"lpb" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"lpc" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, +"loM" = ( /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/duct, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "lpk" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -34054,44 +33146,25 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/mechbay) -"lpn" = ( -/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, -/obj/machinery/door/airlock/atmos{ - name = "Turbine Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/landmark/navigate_destination/incinerator, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/disposal/incinerator) -"lpE" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Command - Captain's Office"; - name = "command camera" - }, -/obj/machinery/computer/communications{ +"lpt" = ( +/obj/item/kirbyplants/photosynthetic, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) +"lpw" = ( +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/firealarm/directional/east, +/obj/machinery/computer/department_orders/medical{ dir = 8 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"lpR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/turf/open/floor/iron/white, +/area/station/medical/office) +"lpB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood{ dir = 1 }, -/turf/open/floor/iron/dark, +/turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"lpW" = ( -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) "lqh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -34099,22 +33172,74 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark, /area/station/security/office) -"lqr" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"lqu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"lqy" = ( +/obj/structure/sign/painting/library_private{ + pixel_y = -32 + }, +/obj/structure/table/wood, +/obj/item/device/cassette_tape/friday{ + pixel_y = 2; + pixel_x = 9 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/device/walkman{ + pixel_y = 7; + pixel_x = -8 + }, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"lqB" = ( +/obj/structure/table/reinforced, +/obj/item/computer_disk/atmos{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/item/toy/figure/ce{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/storage/fancy/cigarettes/cigars, +/obj/item/lighter{ + pixel_y = -6 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) +"lqE" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck/tarot, /turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"lqF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/mob/living/carbon/human/species/monkey, -/turf/open/floor/grass, -/area/station/medical/virology) +/area/station/service/abandoned_gambling_den) "lqY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -34126,72 +33251,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) -"lrd" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 10 - }, +"lrv" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/execution) +"lrB" = ( +/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"lrm" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck{ - pixel_x = 2 - }, -/obj/effect/spawner/random/entertainment/money{ - pixel_y = 8 - }, -/turf/open/floor/carpet/green, -/area/station/service/abandoned_gambling_den) -"lrp" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Atmospherics" - }, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/department/engine/atmos) -"lrv" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/security/execution) -"lrx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, +/area/station/maintenance/port/fore) +"lrS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"lry" = ( -/obj/effect/turf_decal/box, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"lrU" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/treatment_center) -"lrB" = ( +/turf/open/floor/iron, +/area/station/engineering/atmos/office) +"lsh" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) -"lsa" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/camera/motion/directional/north{ - c_tag = "Command - EVA Storage, North"; - name = "motion-sensitive command camera" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/space_heater, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) +/obj/effect/spawner/random/entertainment/coin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lst" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable/layer3, @@ -34199,23 +33285,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"lsx" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/bot, -/obj/machinery/plate_press, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/security/prison/work) -"lsA" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +"lsy" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/table, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "lsC" = ( /obj/structure/chair/wood{ dir = 4 @@ -34223,53 +33299,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"lsE" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) -"lsJ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Operating Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/surgery, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white/textured, -/area/station/medical/surgery) -"lsQ" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"lsR" = ( -/obj/effect/turf_decal/tile/green/half/contrasted, -/obj/machinery/light/directional/north, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/structure/chair, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "lsX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -34280,28 +33309,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/reinforced, /area/station/science/xenobiology) -"lte" = ( -/obj/structure/disposalpipe/sorting/mail, -/obj/effect/mapping_helpers/mail_sorting/medbay/virology, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) "ltg" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"ltj" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder{ - pixel_y = 9 +"ltl" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) +/obj/machinery/plumbing/pill_press, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "ltp" = ( /obj/machinery/light/neon_lining{ dir = 4 @@ -34316,21 +33336,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"ltw" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"ltB" = ( -/obj/effect/turf_decal/bot_red, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/command/storage/eva) "ltF" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -34345,64 +33350,33 @@ }, /turf/open/floor/iron/dark/textured, /area/station/service/janitor) +"ltG" = ( +/turf/closed/wall/r_wall, +/area/station/security/checkpoint/medical) "ltM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/construction/mining/aux_base) "lug" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"lur" = ( +/obj/structure/chair/comfy/black{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/door_buttons/access_button{ - dir = 1; - idDoor = "pathology_airlock_exterior"; - idSelf = "pathology_airlock_control"; - name = "Pathology Access Button"; - pixel_x = -6; - pixel_y = -24; - req_access = list("pathology") - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "pathology_airlock_exterior"; - name = "Pathology Exterior Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/iron/white/textured, -/area/station/medical/virology) -"luq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/commons/fitness/recreation) -"lus" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library) +"lut" = ( +/obj/effect/spawner/random/trash/box, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lut" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/closed/wall, -/area/station/medical/pharmacy) "luw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -34413,6 +33387,12 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port) +"luE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "luI" = ( /obj/effect/turf_decal/trimline/red/filled/warning, /obj/effect/turf_decal/trimline/red/warning{ @@ -34429,14 +33409,24 @@ /obj/item/food/grown/banana, /turf/open/floor/grass, /area/station/hallway/primary/central) -"luL" = ( -/obj/machinery/light/directional/south, -/obj/machinery/status_display/ai/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"luO" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/closet/firecloset/full, +/obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/hallway/primary/central) +"luQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"luR" = ( +/turf/open/floor/glass/reinforced, +/area/station/service/abandoned_gambling_den) "luX" = ( /obj/machinery/airlock_controller/incinerator_ordmix{ pixel_x = -32 @@ -34459,30 +33449,21 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) -"lvc" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) "lvd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/station/engineering/transit_tube) -"lvg" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "med_lockdown"; - name = "Medbay Emergency Lockdown Shutters" +/obj/structure/table/wood, +/obj/item/radio/radio_mic{ + pixel_y = 7 }, -/turf/open/floor/plating, -/area/station/medical/medbay/central) -"lvl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/carpet/black, -/area/station/security/bitden) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"lve" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/east, +/obj/structure/sign/poster/official/random/directional/east, +/obj/structure/closet/secure_closet/medical3, +/obj/item/wrench/medical, +/turf/open/floor/iron/white, +/area/station/medical/office) "lvp" = ( /obj/machinery/duct, /obj/effect/turf_decal/stripes/line{ @@ -34490,42 +33471,21 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"lvI" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/table, -/obj/machinery/light/small/directional/north, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"lvK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"lvP" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Science - Circuit Lab"; - name = "science camera"; - network = list("ss13","rd") - }, -/turf/open/floor/iron/white, -/area/station/science/circuits) "lvR" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/sofa/corp/left{ - dir = 8 +/obj/machinery/door/window/right/directional/north, +/obj/structure/table/wood/fancy/blue, +/obj/structure/sign/painting/library{ + pixel_y = -32 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"lvS" = ( +/obj/machinery/light/directional/south, +/obj/machinery/status_display/evac/directional/south, +/obj/machinery/duct, +/obj/effect/landmark/start/gary/rare, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/restrooms) "lvV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34536,154 +33496,121 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/office) +"lvY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"lwe" = ( +/obj/effect/turf_decal/siding/wood{ + 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/wood, +/area/station/commons/vacant_room/office) +"lwi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/sepia, +/area/station/service/library/artgallery) "lwj" = ( /obj/structure/cable/layer1, /turf/open/floor/plating/airless, /area/space/nearstation) -"lwm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"lwl" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/commons/locker) +/obj/structure/sign/departments/maint/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "lws" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 4 }, /turf/open/floor/plating/airless, /area/space/nearstation) -"lwx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) -"lwL" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +"lwG" = ( +/obj/effect/turf_decal/delivery/white, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"lwS" = ( +/obj/machinery/airalarm/directional/south, +/turf/open/floor/grass, +/area/station/hallway/primary/central) +"lxc" = ( +/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) -"lwX" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/bot, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - location = "Bridge" - }, -/obj/machinery/duct, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central) -"lxf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/area/station/command/bridge) "lxi" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"lxy" = ( +"lxl" = ( /obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 5 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"lxA" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden{ - dir = 4 - }, -/obj/structure/closet/firecloset, +/obj/machinery/duct, /turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) -"lyp" = ( -/obj/effect/turf_decal/siding/wood{ +/area/station/command/bridge) +"lxC" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/grill, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"lxN" = ( +/obj/structure/window/spawner/directional/south, +/obj/machinery/computer/atmos_alert{ dir = 1 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/turf/open/floor/iron, +/area/station/engineering/break_room) +"lxQ" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"lyi" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/toy/figure/detective{ + pixel_x = 11; + pixel_y = 6 + }, +/turf/open/floor/carpet/red, +/area/station/security/detectives_office) "lyr" = ( /turf/open/floor/iron/dark, /area/station/science/breakroom) "lyv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_maintenance{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"lyw" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/item/storage/box/flashbangs{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/storage/box/flashes{ - pixel_x = -6 - }, -/obj/item/storage/box/teargas{ - pixel_y = 3; - pixel_x = -6 - }, -/obj/item/storage/box/handcuffs{ - pixel_y = -3; - pixel_x = 6 - }, -/obj/item/storage/box/firingpins{ - pixel_x = 6 - }, -/obj/item/storage/box/firingpins{ - pixel_y = 3; - pixel_x = 6 +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/obj/item/disk/ammo_workbench/advanced, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"lyy" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron, -/area/station/medical/paramedic) +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "lyA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood{ dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/break_room) +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) "lyC" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -34701,14 +33628,24 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos/storage) +"lyD" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "lyF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/red/corner, +/obj/structure/table, +/obj/item/gun/energy/laser/practice{ + pixel_y = 6 + }, +/obj/item/gun/energy/laser/practice{ + pixel_y = -3 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "lyI" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -34718,97 +33655,119 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"lyP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"lyR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"lyV" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/ai_monitored/turret_protected/aisat_interior) +"lyZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "arrivals_security_checkpoint"; + name = "Security Checkpoint Shutters"; + dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/main) -"lyT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/autodrobe, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"lyU" = ( -/obj/structure/disposalpipe/segment{ +/area/station/security/checkpoint/customs/auxiliary) +"lza" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"lyV" = ( -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/ai_slipper{ - uses = 10 +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"lzb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/ai_monitored/turret_protected/aisat_interior) -"lyX" = ( +/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/ai_monitored/command/storage/eva) -"lzt" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"lzn" = ( +/obj/machinery/duct, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/port) "lzu" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"lzw" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "lzy" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/science) +/obj/machinery/firealarm/directional/west, +/obj/structure/closet/l3closet/virology, +/obj/machinery/camera/directional/north{ + c_tag = "Medical - Pathology, Access"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/virology) "lzT" = ( /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"lzU" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Library - Private Study"; + name = "library camera" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library/private) +"lzW" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"lAb" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Security - Post, Engineering"; + name = "security camera" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "lAc" = ( /turf/closed/wall, /area/station/service/library/lounge) -"lAg" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Law Office"; - name = "Law Office Fax Machine" +"lAk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Courtroom" + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/courtroom) "lAP" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 6 @@ -34819,37 +33778,38 @@ /obj/machinery/light/floor/has_bulb, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"lAT" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"lAU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"lAZ" = ( +/turf/open/floor/wood, +/area/station/service/library/lounge) +"lBc" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 }, -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5; - pixel_x = -4 +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/computer/atmos_control/plasma_tank{ + dir = 8 }, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5 +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"lBd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"lBi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/item/stack/sheet/plasteel{ - amount = 10; - pixel_y = 5; - pixel_x = 4 +/obj/effect/turf_decal/stripes/line, +/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/machinery/door/airlock/silver{ + name = "Chapel Office" }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"lAZ" = ( -/turf/open/floor/wood, -/area/station/service/library/lounge) -"lBg" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, +/turf/open/floor/iron/dark/textured, +/area/station/service/chapel/office) "lBq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34857,81 +33817,35 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"lBu" = ( -/obj/machinery/atmospherics/components/tank/air{ - dir = 1 - }, +"lBs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bonfire, /turf/open/floor/plating, -/area/station/maintenance/port/fore) -"lBB" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_5k, -/obj/item/storage/bag/trash, -/obj/item/storage/bag/trash, -/turf/open/floor/iron/dark/side, -/area/station/security/prison) +/area/station/maintenance/starboard/aft) "lBC" = ( /obj/structure/weightmachine/stacklifter, /turf/open/floor/iron/dark/side{ dir = 5 }, /area/station/commons/fitness/recreation) -"lBE" = ( -/obj/structure/chair/office/light, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "lBH" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"lBN" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Hallway - West, Central, 1"; - name = "hallway camera" - }, -/obj/machinery/station_map/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) +"lBK" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"lBM" = ( +/obj/structure/sign/warning/secure_area/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "lBO" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/station/solars/port/aft) -"lBS" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/closet/firecloset{ - anchored = 1 - }, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"lBX" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"lBZ" = ( -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/effect/turf_decal/trimline/red/warning{ - 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/dark, -/area/station/hallway/primary/fore) "lCf" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, @@ -34940,42 +33854,38 @@ /obj/structure/closet/secure_closet/detective, /turf/open/floor/wood, /area/station/security/detectives_office) -"lCn" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/item/radio/intercom{ - dir = 8; - pixel_x = -28 - }, -/obj/structure/closet/secure_closet/hop, -/obj/item/storage/box/ids, -/obj/item/storage/box/silver_ids, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) -"lCo" = ( -/obj/structure/chair/plastic{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ +"lCh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"lCk" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/area/station/security/prison/work) +/obj/item/radio/intercom/directional/west, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/computer/records/security{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"lCl" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/security/prison/safe) "lCw" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/chapel) -"lCI" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"lCN" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos/office) +"lCC" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/virology) "lCP" = ( /obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, @@ -34985,6 +33895,50 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"lCS" = ( +/obj/machinery/shieldgen, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"lCY" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/orange, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_y = 3 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 9; + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/service/janitor) +"lDv" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/vending/wallmed/directional/west, +/obj/structure/table/reinforced/rglass, +/obj/item/wrench/medical, +/obj/item/tank/internals/anesthetic, +/obj/item/tank/internals/anesthetic{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/mask/surgical, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "lDy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35021,17 +33975,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science) -"lDQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"lDR" = ( -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"lDS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/dark_blue/filled/end{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "lDW" = ( /obj/machinery/corral_corner{ mapping_id = "4" @@ -35052,29 +34002,6 @@ /obj/structure/reagent_dispensers/watertank/high, /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"lEf" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) -"lEj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/structure/chair/sofa/bench/right, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/main) -"lEl" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/wood, -/area/station/service/library) -"lEo" = ( -/turf/closed/wall, -/area/station/engineering/storage_shared) "lEp" = ( /obj/structure/table, /obj/effect/turf_decal/bot, @@ -35086,34 +34013,57 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"lEv" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 +"lEG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/spawner/random/vending/colavend, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/aft) -"lEI" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=CHE"; - location = "AIE" +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/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 = 5 +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"lER" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Maintenance" }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"lEJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/east{ + name = "Hydroponics Desk"; + req_access = list("kitchen") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hydro_kitchen_shutters"; + name = "Hydro-Kitchen Shutters"; + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/hydroponics) +"lEP" = ( +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) "lEZ" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -35132,88 +34082,62 @@ "lFp" = ( /turf/closed/wall/r_wall, /area/station/security/brig/entrance) -"lFz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"lFq" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/obj/item/folder/blue{ + pixel_x = 3; + pixel_y = 3 }, -/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/machinery/door/airlock/medical/glass{ - name = "Medical North Side Entrance" +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 6 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/central) -"lFE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/item/folder/blue{ + pixel_x = 9; + pixel_y = 9 }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"lFJ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/item/stamp/law{ + pixel_x = 8; + pixel_y = 6 }, -/obj/machinery/door/poddoor/shutters{ - id = "robotics_garage"; - name = "Robotics Garage Shutters" +/obj/item/clothing/glasses/sunglasses/big, +/obj/item/pen/red{ + pixel_x = -6; + pixel_y = 9 }, -/turf/open/floor/iron/dark/textured, -/area/station/science/robotics/mechbay) -"lGd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) +/turf/open/floor/wood, +/area/station/service/lawoffice) +"lGj" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/light/directional/east, +/obj/structure/sign/departments/engineering/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) "lGp" = ( /obj/effect/spawner/random/structure/furniture_parts, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"lGt" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 8 +"lGC" = ( +/obj/machinery/light/small/built/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Commons - Vacant Commissary"; + name = "commons camera" }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"lGD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"lGI" = ( /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Laundry Room" }, -/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/maintenance{ - name = "Cargo Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/cargo/office) -"lGI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Laundry Room" - }, -/obj/effect/landmark/navigate_destination{ - location = "Laundry Room" +/obj/effect/landmark/navigate_destination{ + location = "Laundry Room" }, /turf/open/floor/iron/dark/textured, /area/station/commons/dorms/laundry) @@ -35242,15 +34166,29 @@ /obj/machinery/portable_atmospherics/canister/plasma, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"lHB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 +"lHx" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"lHA" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/obj/structure/chair{ + dir = 1 }, -/obj/machinery/firealarm/directional/north, -/obj/structure/rack, -/obj/item/wrench/medical, /turf/open/floor/iron/white, -/area/station/medical/cryo) +/area/station/medical/medbay/central) "lHF" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -35262,71 +34200,81 @@ "lHR" = ( /turf/closed/wall, /area/station/maintenance/department/eva) -"lHS" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"lHT" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/beakers, +/obj/item/storage/box/syringes{ + pixel_x = 4; + pixel_y = 4 }, /turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) +/area/station/medical/storage) +"lHU" = ( +/obj/structure/cable, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "lHY" = ( /obj/machinery/atmospherics/components/binary/valve/digital{ name = "Freeze Chamber" }, /turf/open/floor/iron, /area/station/science/ordnance) -"lId" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/structure/bodycontainer/morgue, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"lIa" = ( +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"lIb" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) "lIh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, -/obj/machinery/rnd/production/protolathe/department/engineering, +/obj/structure/filingcabinet, /turf/open/floor/iron/dark/side{ dir = 1 }, -/area/station/engineering/break_room) -"lIt" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/area/station/cargo/sorting) +"lIq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/break_room) +"lID" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/security/sec, +/turf/open/floor/iron/dark, +/area/station/security/lockers) "lIF" = ( /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/service/chapel) -"lIG" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/obj/structure/table/reinforced/rglass, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"lIO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) +"lIJ" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/item/radio/intercom/prison/directional/south, +/obj/machinery/byteforge, +/turf/open/floor/iron/dark, +/area/station/security/bitden) "lIQ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -35334,24 +34282,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"lIS" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"lIY" = ( -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, -/turf/open/floor/wood, -/area/station/service/bar/backroom) -"lJj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "lJr" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering - Atmospherics Nitrogen Chamber"; @@ -35359,16 +34289,6 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"lJA" = ( -/obj/machinery/light/small/broken/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port) -"lJI" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) "lJZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -35380,67 +34300,110 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Patient Room 2" - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/patients_rooms/room_b) -"lKe" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"lKk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/door/airlock/service/glass{ + name = "Kitchen Counter" }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/turf/open/floor/iron/dark/textured, +/area/station/service/kitchen) +"lKb" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/effect/turf_decal/sand/plating, -/obj/machinery/door/airlock/external{ - name = "External Access" +/obj/machinery/light/directional/west, +/obj/structure/closet/secure_closet{ + req_access = list("security"); + name = "Ammo Locker - Lethal" }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/item/storage/box/lethalshot{ + pixel_x = -3; + pixel_y = -3 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/item/storage/box/lethalshot, +/obj/item/storage/box/lethalshot{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/m35{ + pixel_y = -6; + pixel_x = -6 + }, +/obj/item/ammo_box/magazine/m35{ + pixel_y = -3; + pixel_x = -3 + }, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/ammo_box/magazine/m35{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/ammo_box/magazine/m35{ + pixel_y = -6; + pixel_x = -6 + }, +/obj/item/ammo_box/magazine/m35{ + pixel_y = -3; + pixel_x = -3 + }, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/ammo_box/magazine/m35{ + pixel_y = 6; + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "lKu" = ( /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/security/prison/workout) -"lKw" = ( -/obj/effect/turf_decal/bot, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/large, -/area/station/commons/storage/primary) +"lKB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/poddoor{ + id = "ord_freezer_vent"; + name = "Ordnance Freezer Chamber Vent" + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "lKO" = ( /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lKY" = ( -/turf/closed/wall, -/area/station/hallway/secondary/exit/departure_lounge) -"lKZ" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ +"lKQ" = ( +/obj/effect/landmark/start/gary, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"lKV" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen/ordnance{ dir = 4 }, -/obj/structure/table/reinforced/rglass, -/obj/item/emergency_bed{ - pixel_y = 7 - }, -/obj/item/emergency_bed{ - pixel_y = 14 - }, -/obj/item/emergency_bed{ - pixel_y = 21 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) +"lKX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/area/station/medical/paramedic) +/obj/structure/chair/sofa/bench, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/main) +"lKY" = ( +/turf/closed/wall, +/area/station/hallway/secondary/exit/departure_lounge) "lLb" = ( /obj/structure/cable, /obj/machinery/power/smes, @@ -35513,6 +34476,14 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/processing) +"lLs" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/mirror/directional/west, +/obj/structure/sink/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "lLH" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -35526,12 +34497,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) -"lLK" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/eva) "lLP" = ( /obj/machinery/air_sensor/mix_tank, /turf/open/floor/engine/vacuum, @@ -35540,15 +34505,25 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"lLZ" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/dresser, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) "lMb" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"lMf" = ( +/obj/effect/turf_decal/trimline/purple/line, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Hallway - Central, Northeast"; + name = "hallway camera" + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "lMk" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, @@ -35559,6 +34534,15 @@ /obj/machinery/destructive_scanner, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"lMF" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library) "lMG" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -35569,78 +34553,68 @@ /obj/machinery/power/energy_accumulator/grounding_rod/anchored, /turf/open/floor/plating/airless, /area/space/nearstation) -"lMP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 +"lMM" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible, +/turf/open/space, +/area/space/nearstation) "lMT" = ( /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/prison) -"lMZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"lNb" = ( -/obj/effect/turf_decal/box, +"lMU" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/engineering/atmos/office) -"lNt" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"lNw" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/departments/court/directional/south, -/obj/structure/chair{ +/turf/open/floor/iron/dark/side{ dir = 1 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"lNx" = ( -/obj/effect/turf_decal/trimline/red/corner{ +/area/station/hallway/primary/aft) +"lNn" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/machinery/door/window/left/directional/north{ + name = "Engineering Deliveries"; + req_access = list("engineering") }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"lNF" = ( -/obj/structure/foamedmetal, -/turf/open/floor/plating, -/area/station/engineering/main) +/turf/open/floor/iron/large, +/area/station/engineering/storage) "lNG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"lNH" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"lNK" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/landmark/start/chemist, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) "lNO" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -35649,66 +34623,72 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"lNT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "lNW" = ( /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/commons/fitness) -"lNZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset{ - anchored = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"lOf" = ( -/obj/machinery/light/directional/north, -/obj/machinery/button/door/directional/north{ - id = "cap_privacy"; - name = "Privacy Shutters Control"; - req_access = list("command") - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +"lNX" = ( +/obj/machinery/telecomms/server/presets/security, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"lOh" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/rnd/production/techfab/department/medical, +/turf/open/floor/iron/white, +/area/station/medical/storage) "lOo" = ( /obj/machinery/power/energy_accumulator/tesla_coil, /turf/open/floor/plating, /area/station/engineering/main) -"lOt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "bridge_exterior_blast_doors"; - name = "Bridge Exterior Access Blast Door" +"lOu" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/chair/sofa/bench, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"lOy" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/entertainment/plushie, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"lOB" = ( +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"lOO" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 5 }, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"lOR" = ( +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/command/bridge) -"lOJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"lOM" = ( -/obj/structure/chair/pew/left{ - dir = 8 +/area/station/maintenance/department/engine) +"lOY" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/light/small/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair{ + dir = 1 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "lPf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"lPk" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "lPr" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -35720,6 +34700,33 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/brig) +"lPx" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"lPz" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/keycard_auth/directional/east, +/obj/structure/closet/secure_closet/tac{ + req_access = list("captain") + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"lPC" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/station_map/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"lPO" = ( +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) "lPX" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 4 @@ -35733,74 +34740,91 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"lQc" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/structure/cable, -/obj/structure/closet/secure_closet/security/sec/blueshirt, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) -"lQk" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"lQw" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/iron, -/area/station/maintenance/disposal) -"lQB" = ( -/obj/effect/turf_decal/siding/thinplating{ +"lQG" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/main) -"lQK" = ( -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 4 +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"lQS" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Plasma Outlet Pump" +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/filingcabinet/security, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"lQW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 8; - name = "Plasma to Turbine" +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"lRi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/service/janitor) -"lRp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/engine, +/area/station/security/execution) +"lRa" = ( /obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 + dir = 1 }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 +/turf/open/floor/iron/dark, +/area/station/security/warden) +"lRe" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side, +/area/station/security/interrogation) +"lRt" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 6 }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"lRD" = ( +/turf/closed/wall, +/area/station/cargo/miningoffice) +"lRF" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden{ + dir = 4 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) +"lRM" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/camera/directional/west{ + c_tag = "Science - Genetics"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/monkeycubes, +/turf/open/floor/iron/white, +/area/station/science/genetics) +"lRU" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, +/obj/item/radio/intercom/directional/south, /obj/structure/disposalpipe/trunk{ dir = 8 }, /obj/machinery/disposal/bin, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/cargo/sorting) -"lRD" = ( -/turf/closed/wall, -/area/station/cargo/miningoffice) +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "lSy" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate, @@ -35811,21 +34835,55 @@ /obj/item/stack/ore/titanium, /turf/open/floor/plating, /area/station/maintenance/port) -"lTk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"lSJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/south{ + id = "med_priv_1"; + name = "Privacy Shutters Control" + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) +"lTd" = ( +/mob/living/basic/slime, +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/engine, +/area/station/science/xenobiology) +"lTp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"lTq" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/computer/records/security{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "lTB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science) +"lTF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "medbay_desk_shutters"; + name = "Medbay Front Desk Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/medical/office) "lTH" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -35842,14 +34900,29 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"lUn" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/chair/sofa/bench, -/obj/effect/landmark/start/station_engineer, +"lTQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/north, +/obj/item/kirbyplants/random, /turf/open/floor/iron, -/area/station/engineering/main) +/area/station/maintenance/department/science) +"lUe" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/dish_drive/bullet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) +"lUi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/port_gen/pacman/pre_loaded, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"lUo" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Command - Bridge, East"; + name = "command camera" + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "lUr" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -35865,17 +34938,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port) -"lUE" = ( -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 1 - }, -/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, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) "lUM" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/bot_white/left, @@ -35888,13 +34950,10 @@ /obj/structure/closet/crate/silvercrate, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"lUO" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/computer/aifixer{ - dir = 8 - }, +"lUN" = ( +/obj/machinery/announcement_system, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/tcommsat/computer) "lUP" = ( /turf/open/floor/iron, /area/station/hallway/secondary/service) @@ -35912,36 +34971,20 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness) -"lVb" = ( -/obj/vehicle/ridden/janicart, -/obj/item/key/janitor, -/turf/open/floor/iron/dark, -/area/station/service/janitor) -"lVd" = ( -/obj/machinery/light/directional/east, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) -"lVj" = ( -/obj/machinery/button/door/directional/north{ - id = "dorm_1"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5; - pixel_y = 34 +"lVs" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark, +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"lVD" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/north, +/obj/machinery/vending/tool, +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) "lVI" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -35956,16 +34999,18 @@ "lWn" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/cmo) -"lWp" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 6 +"lWF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light_switch/directional/east{ - pixel_y = -10 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "lWH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -35976,19 +35021,54 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) -"lXl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 +"lWS" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/item/radio/intercom/directional/south, +/obj/machinery/computer/operating{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"lWY" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"lWZ" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/janitor, /turf/open/floor/iron/dark/side{ - dir = 4 + dir = 1 }, -/area/station/command/heads_quarters/ce) +/area/station/service/janitor) +"lXo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Prison Garden" + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/garden) "lXu" = ( /turf/open/floor/iron/white, /area/station/science/lab) +"lXB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/secure_area/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) "lXL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/chair_flipped{ @@ -35996,6 +35076,9 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"lXN" = ( +/turf/open/floor/iron/dark, +/area/station/command/bridge) "lYa" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -36014,33 +35097,51 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"lYj" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/on{ - name = "Waste Release"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"lYr" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ +"lYq" = ( +/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/showroomfloor, +/area/station/command/heads_quarters/rd) +"lYu" = ( +/obj/machinery/telecomms/bus/preset_two, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"lYH" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, -/obj/structure/sign/warning/no_smoking/directional/south, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"lYB" = ( -/obj/structure/chair/wood{ +/obj/machinery/requests_console/directional/north{ + department = "Robotics"; + name = "Robotics Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/disposalpipe/trunk{ dir = 8 }, -/turf/open/floor/carpet/blue, -/area/station/commons/vacant_room/office) -"lYM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/photocopier, -/turf/open/floor/carpet/green, -/area/station/commons/vacant_room/office) +/obj/machinery/disposal/bin, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"lYQ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) +"lYZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"lZk" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "lZu" = ( /obj/effect/turf_decal/bot, /obj/structure/sign/poster/official/random/directional/south, @@ -36067,23 +35168,23 @@ }, /turf/open/space/basic, /area/space) -"lZA" = ( -/obj/effect/turf_decal/stripes/line{ +"lZI" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) +"lZN" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/turf_decal/trimline/brown/line{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"lZD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/sepia, -/area/station/service/library/artgallery) -"lZJ" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 +/obj/machinery/firealarm/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Arrivals - Checkpoint, South"; + name = "arrivals camera" }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, +/turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "lZP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36094,12 +35195,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"lZQ" = ( -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree, -/obj/item/canvas/twentythree_twentythree, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "lZR" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -36107,21 +35202,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on, /turf/open/floor/engine, /area/station/security/execution) -"lZS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Courtroom" - }, -/obj/effect/landmark/navigate_destination/court, -/turf/open/floor/iron/dark/textured, -/area/station/security/courtroom) +"lZT" = ( +/obj/machinery/vending/sustenance, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) "lZV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -36130,19 +35214,14 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"mac" = ( -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/commons/locker) -"mai" = ( -/obj/structure/lattice, -/obj/structure/disposalpipe/segment{ - dir = 5 +"lZZ" = ( +/obj/structure/table/wood, +/obj/item/taperecorder{ + pixel_x = 9; + pixel_y = 9 }, -/turf/open/space/basic, -/area/space/nearstation) +/turf/open/floor/carpet/blue, +/area/station/commons/vacant_room/office) "mak" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -36156,6 +35235,13 @@ /obj/item/stack/sheet/mineral/plasma, /turf/open/floor/iron/white, /area/station/science/circuits) +"mas" = ( +/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/dark/side, +/area/station/command/heads_quarters/ce) "maz" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ @@ -36166,76 +35252,49 @@ "maC" = ( /turf/open/floor/iron/dark, /area/station/commons/fitness) -"maE" = ( -/obj/machinery/button/door/directional/north{ - id = "bsq_to_cq"; - name = "Quarters Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/structure/closet/secure_closet/blueshield, -/obj/item/storage/backpack/blueshield, -/obj/item/storage/backpack/duffelbag/blueshield, -/obj/item/storage/backpack/satchel/blueshield, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +"maG" = ( +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/office) "maL" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating/reinforced, /area/station/maintenance/department/science) "maS" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"maX" = ( -/obj/effect/turf_decal/siding/wood{ - 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/wood, -/area/station/commons/vacant_room/office) -"mbi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/maintenance/port) -"mbo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/computer/rdconsole{ + dir = 4 }, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/chapel) -"mbx" = ( /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"mbE" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 +/area/station/command/bridge) +"mbh" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 9 }, -/obj/structure/table, -/obj/item/radio/off{ - pixel_x = -6 +/obj/machinery/button/door/directional/west{ + id = "robotics_sci_shutters"; + name = "Robotics Shutters Control"; + req_access = list("robotics") }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 6 +/obj/structure/chair/office{ + dir = 1 }, -/obj/item/screwdriver{ - pixel_y = 10 +/obj/effect/landmark/start/roboticist, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"mbk" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 4 }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos) +"mbx" = ( /turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) -"mbK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/rack, -/obj/item/fuel_pellet, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +/area/station/hallway/secondary/exit/departure_lounge) "mbN" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 10 @@ -36245,14 +35304,13 @@ dir = 10 }, /area/station/cargo/lobby) -"mbU" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/chair/sofa/bench/left{ - dir = 4 +"mbR" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "mbV" = ( /obj/machinery/light/directional/east, /obj/machinery/status_display/ai/directional/east, @@ -36260,38 +35318,15 @@ dir = 4 }, /area/station/commons/fitness) -"mbZ" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 8 +"mcj" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/mapping_helpers/mail_sorting/medbay/general, /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) -"mcd" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/south{ - name = "Security Checkpoint Desk"; - req_access = list("security") - }, -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/north{ - name = "Security Checkpoint Desk" - }, -/obj/structure/desk_bell{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/machinery/door/poddoor/shutters{ - id = "arrivals_security_checkpoint"; - name = "Security Checkpoint Shutters"; - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "mcn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -36302,57 +35337,48 @@ }, /turf/open/floor/plating, /area/station/security/checkpoint/supply) -"mcz" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/engine, -/area/station/science/ordnance/storage) -"mcG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/vending/engivend, -/turf/open/floor/iron, -/area/station/engineering/storage) -"mcO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"mcU" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"mcY" = ( +"mcp" = ( +/obj/structure/chair/sofa/right/brown, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"mcy" = ( +/obj/effect/turf_decal/box, +/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/structure/disposalpipe/segment, +/turf/open/floor/iron/large, +/area/station/engineering/break_room) +"mcE" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/newscaster/directional/east, +/obj/structure/closet/secure_closet/chief_medical, +/obj/item/screwdriver, +/obj/item/clothing/head/costume/nursehat, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"mcI" = ( /obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, /obj/machinery/door/poddoor/shutters{ - id = "sec_lockers"; - name = "Locker Room Shutters" + id = "hos_office"; + name = "HoS Office Shutters"; + dir = 1 }, /turf/open/floor/plating, -/area/station/security/lockers) -"mdk" = ( -/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/dark/side, -/area/station/command/heads_quarters/ce) +/area/station/command/heads_quarters/hos) +"mcQ" = ( +/obj/structure/chair/plastic, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"mdi" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/auxlab) "mdp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -36365,24 +35391,16 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/storage) -"mdq" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/closet/l3closet/virology, -/obj/machinery/camera/directional/north{ - c_tag = "Medical - Pathology, Access"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/virology) -"mdA" = ( -/obj/machinery/duct, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) "mdC" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/cargo/storage) +"mdJ" = ( +/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, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "mdZ" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering - Secure Storage" @@ -36403,26 +35421,47 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal) -"mei" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) "mej" = ( /obj/machinery/camera/autoname/directional/south, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"meQ" = ( -/obj/structure/chair/comfy/black{ - dir = 1 +"mew" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 }, -/obj/effect/landmark/start/captain, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/obj/structure/sign/poster/official/random/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"meD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) +"meF" = ( +/obj/structure/table/wood/fancy/black, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen/fountain, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"meI" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/structure/bed/pod{ + desc = "An old medical bed, just waiting for replacement with something up to date."; + name = "medical bed"; + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "meR" = ( /obj/machinery/portable_atmospherics/canister/plasma, /obj/machinery/atmospherics/miner/plasma, @@ -36443,48 +35482,57 @@ /obj/item/seeds/tower, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"mfe" = ( +"mfi" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/warning{ + 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/junction, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/science/research) -"mft" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"mfu" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/side{ - dir = 4 + dir = 8 }, -/area/station/security/interrogation) -"mfv" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, +/area/station/hallway/primary/aft) +"mfo" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/machinery/vending/modularpc, +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) +"mfp" = ( +/obj/structure/closet/firecloset/wall/directional/west, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"mfB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Garden Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/machinery/duct, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/service/hydroponics/garden) "mfE" = ( /obj/machinery/growing/soil, /turf/open/floor/grass, /area/station/security/prison/garden) -"mfR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"mfP" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/chair/office/light{ + 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, -/area/station/engineering/atmos/office) +/obj/effect/landmark/start/research_director, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "mgd" = ( /obj/machinery/conveyor{ dir = 4; @@ -36493,6 +35541,52 @@ /obj/machinery/recycler, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"mgl" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/healthanalyzer, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"mgm" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/table, +/obj/structure/bedsheetbin, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) +"mgu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) +"mgD" = ( +/obj/effect/turf_decal/tile/neutral/half, +/obj/effect/turf_decal/tile/neutral/half{ + dir = 1 + }, +/obj/machinery/door/window/brigdoor/left/directional/south{ + name = "Gateway Chamber"; + req_one_access = list("gateway","mining","cargo","medical") + }, +/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_half, +/area/station/command/gateway) +"mgF" = ( +/obj/machinery/status_display/evac/directional/east, +/obj/structure/chair/sofa/left/brown, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "mgG" = ( /obj/machinery/camera/directional/east{ c_tag = "AI Sat - External, Southwest"; @@ -36501,6 +35595,15 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"mgN" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "mgQ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/loading_area, @@ -36517,46 +35620,31 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mhf" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/obj/machinery/computer/security/hos, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"mht" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"mhA" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/table, -/obj/item/toy/figure/chef, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "mhD" = ( /obj/structure/closet/firecloset/full, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mhM" = ( -/obj/machinery/firealarm/directional/west, +"mhG" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, -/area/station/maintenance/department/science) -"mhP" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/area/station/maintenance/department/electrical) +"mhL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/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, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) +"mhR" = ( +/obj/machinery/telecomms/server/presets/science, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) "mhS" = ( /obj/machinery/corral_corner{ mapping_id = "2" @@ -36569,34 +35657,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"mhY" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) -"mie" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/window/spawner/directional/south, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/yellow, -/obj/item/pen, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/break_room) -"min" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "rd_office_shutters"; - name = "RD's Office Shutters" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "miv" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36613,63 +35673,82 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"miz" = ( -/obj/effect/decal/cleanable/dirt, +"miO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"miL" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron, -/area/station/engineering/main) -"miM" = ( -/obj/machinery/light/directional/west, -/obj/machinery/button/door/directional/west{ - id = "external_engine_storage"; - name = "External Engine Storage Control"; - req_access = list("engineering") +/area/station/maintenance/department/engine) +"miV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/main) -"mjk" = ( -/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"mjc" = ( +/obj/machinery/light/directional/west, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"mjo" = ( +/obj/machinery/light/small/built/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"mjw" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +/obj/effect/decal/cleanable/oil, +/obj/structure/frame/machine, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "mjz" = ( /turf/open/space/basic, /area/station/cargo/mining/asteroid_magnet) +"mjB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "mjC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/storage) -"mjR" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/table, -/obj/item/storage/belt/utility, -/obj/item/borg/upgrade/rename, -/obj/item/reagent_containers/cup/beaker/large, -/turf/open/floor/iron, -/area/station/science/robotics/lab) +"mka" = ( +/obj/structure/reagent_dispensers/plumbed, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "mkl" = ( /obj/structure/window/reinforced/tinted/spawner/directional/north, /obj/machinery/computer/mecha, /turf/open/floor/carpet/purple, /area/station/command/heads_quarters/rd) +"mkn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/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/machinery/door/airlock/medical/glass{ + name = "Medical West Side Entrance" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/central) "mkt" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -36682,29 +35761,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"mkx" = ( -/obj/structure/table/wood, -/obj/item/phone{ - pixel_x = -6; - pixel_y = 10 - }, -/obj/machinery/recharger{ - pixel_x = -4; - pixel_y = -1 - }, -/obj/item/paper_bin{ - pixel_y = 4; - pixel_x = 9 - }, -/obj/item/stamp/head/hos{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) "mky" = ( /obj/effect/turf_decal/trimline/red/filled/warning, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36713,26 +35769,9 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/execution) -"mkE" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/cable, -/obj/structure/table/reinforced/rglass, -/obj/machinery/fax{ - fax_name = "Chief Medical Officer's Office"; - name = "Chief Medical Officer's Fax Machine" - }, -/turf/open/floor/iron/checker{ - dir = 1 - }, -/area/station/command/heads_quarters/cmo) "mkG" = ( /turf/open/floor/iron, /area/station/hallway/primary/aft) -"mkP" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/secure_closet/chemical, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "mkR" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -36741,6 +35780,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/security/brig) +"mkT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/vending/engivend, +/turf/open/floor/iron, +/area/station/engineering/storage) "mkV" = ( /obj/machinery/power/tracker, /obj/structure/cable, @@ -36792,6 +35838,21 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mlk" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/computer/records/security{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"mlm" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "mlt" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/light_switch/directional/south{ @@ -36800,18 +35861,19 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison/visit) +"mlB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction/yjunction, +/turf/open/floor/iron, +/area/station/engineering/break_room) "mlK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/white, /area/station/science/circuits) -"mlN" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) "mmf" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -36841,60 +35903,61 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"mmS" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"mmV" = ( -/obj/machinery/light/directional/north, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/iron/dark/side{ +"mmH" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/area/station/hallway/secondary/service) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) +"mmW" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot_white/right, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/closet/crate/goldcrate, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "mmX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 8 }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"mnA" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"mmZ" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + 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/catwalk_floor, -/area/station/maintenance/department/science) -"mnW" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 9 +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Hallway - Central, North"; + name = "hallway camera" }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"mnY" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/gulag_item_reclaimer{ - pixel_y = 30 +/area/station/hallway/primary/central) +"mnG" = ( +/obj/machinery/light/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_5k, +/obj/machinery/modular_computer/preset/engineering, +/turf/open/floor/iron, +/area/station/engineering/main) +"mnW" = ( +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 9 }, /turf/open/floor/iron/dark, -/area/station/security/processing) +/area/station/engineering/atmos) +"mof" = ( +/obj/machinery/light/directional/east, +/obj/machinery/electroplater, +/turf/open/floor/wood, +/area/station/smithing) "mog" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -36904,6 +35967,29 @@ /obj/machinery/duct, /turf/open/floor/iron/white/textured, /area/station/science/robotics/lab) +"mok" = ( +/obj/structure/rack/shelf, +/obj/item/clothing/suit/armor/riot, +/obj/item/clothing/head/helmet/toggleable/riot{ + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"mom" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"mon" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/computer/records/security{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/warden) "moo" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -36920,6 +36006,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/holding_cell) +"mou" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/mirror/directional/west, +/obj/structure/sink/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/genetics/cloning) "mov" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/plumbed{ @@ -36932,24 +36030,37 @@ /obj/item/toy/plush/lizard_plushie/green, /turf/open/floor/wood, /area/station/maintenance/starboard/fore) -"moK" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/scrubber, +"moG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/bot_assembly/floorbot, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"mpe" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Atmospherics" + }, +/obj/structure/plasticflaps/opaque, /turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) +/area/station/maintenance/department/engine/atmos) "mpi" = ( /obj/structure/lattice, /obj/structure/sign/warning/docking/directional/east, /turf/open/space, /area/space/nearstation) -"mpo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/turf/open/floor/plating, -/area/station/engineering/main) +"mpm" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) +"mpu" = ( +/obj/effect/turf_decal/box, +/obj/structure/sign/warning/no_smoking/directional/south, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/maintenance/department/science) "mpw" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -36966,13 +36077,6 @@ }, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"mpQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) "mpW" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -36981,15 +36085,50 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "mpY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 5 +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) +"mqa" = ( +/obj/machinery/shower/directional/south, +/obj/structure/drain, +/obj/item/soap/homemade, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/shower) +"mqg" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"mqk" = ( +/obj/machinery/button/door/directional/east{ + id = "custodial_shutters"; + name = "Custodial Shutters Control"; + req_access = list("janitor") + }, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "mqm" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"mqn" = ( +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Captain's Office"; + name = "Captain's Fax Machine" + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"mqp" = ( +/obj/machinery/vending/access/command, +/turf/open/floor/wood, +/area/station/command/meeting_room) "mqu" = ( /obj/machinery/holopad, /turf/open/floor/carpet/royalblue, @@ -36999,36 +36138,65 @@ /obj/machinery/power/tracker, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/port/aft) +"mqK" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/cmo) "mqN" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mqP" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/computer/diseasesplicer, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"mqS" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 1 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/security_assistant, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/brig) +"mqT" = ( +/obj/machinery/requests_console/directional/south{ + department = "Bar"; + name = "Bar Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/chem_master/condimaster{ + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; + name = "HoochMaster Deluxe" + }, +/turf/open/floor/wood, +/area/station/service/bar) "mqW" = ( /obj/structure/chair/comfy/black, /obj/effect/landmark/start/head_of_security, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"mqZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/chapel/funeral) -"mra" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"mqX" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 1 }, +/obj/effect/turf_decal/trimline/neutral/warning, /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/maintenance{ - name = "Security Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/plating, -/area/station/security/processing) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mri" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -37043,6 +36211,18 @@ /obj/machinery/door/poddoor/incinerator_atmos_main, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"mrs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) "mrv" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -37058,19 +36238,14 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/checkpoint/escape) -"mrB" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +"mrD" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/bot, +/obj/machinery/plate_press, +/turf/open/floor/iron/dark/side{ dir = 8 }, -/obj/machinery/light/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/iron/white, -/area/station/science/explab) +/area/station/security/prison/work) "mrF" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 8 @@ -37082,15 +36257,6 @@ dir = 8 }, /area/station/service/hydroponics/garden) -"mrG" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/commons/storage/primary) "mrI" = ( /obj/structure/chair{ dir = 8 @@ -37101,20 +36267,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"mrM" = ( -/obj/effect/turf_decal/tile/neutral{ +"mrP" = ( +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/hos) +"mrR" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 4 }, -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/computer/atmos_control/air_tank{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ + dir = 4 }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"mrP" = ( -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/hos) +/area/station/engineering/atmos/pumproom) "mrT" = ( /obj/structure/table, /obj/item/hfr_box/body/waste_output, @@ -37128,16 +36292,22 @@ /obj/machinery/meter, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mrX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"msa" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"mse" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/dark/smooth_large, -/area/station/tcommsat/computer) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/security/interrogation) +"msd" = ( +/obj/structure/chair/plastic, +/turf/open/floor/iron/dark, +/area/station/security/prison) "msk" = ( /obj/structure/cable, /obj/structure/chair/office{ @@ -37146,6 +36316,14 @@ /obj/effect/landmark/start/station_engineer, /turf/open/floor/iron, /area/station/engineering/main) +"mso" = ( +/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/side{ + dir = 1 + }, +/area/station/security/prison/safe) "msF" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -37158,6 +36336,17 @@ dir = 10 }, /area/station/cargo/storage) +"msH" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/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/side{ + dir = 4 + }, +/area/station/engineering/break_room) "msO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -37176,32 +36365,49 @@ /obj/structure/table/optable, /turf/open/floor/iron/white, /area/station/security/medical) -"mta" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +"msU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/machinery/newscaster/directional/north, -/obj/structure/table/wood, -/obj/item/toy/figure/hos{ - pixel_x = -9; - pixel_y = 7 +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/north{ + name = "Robotics Desk"; + req_access = list("robotics") }, -/obj/item/storage/box/seccarts{ - pixel_x = 4; - pixel_y = 6 +/obj/machinery/door/window/left/directional/south{ + name = "Reception" }, -/obj/item/storage/box/deputy{ - pixel_x = 6 +/obj/machinery/door/poddoor/shutters{ + id = "robotics_pub_shutters"; + name = "Robotics Shutters" }, -/obj/item/taperecorder{ - pixel_x = 4 +/obj/structure/desk_bell{ + pixel_x = 7 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"mtq" = ( -/turf/closed/wall/r_wall, -/area/station/security/prison/shower) +/turf/open/floor/iron/textured, +/area/station/science/robotics/lab) +"mtc" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/engineering/transit_tube) +"mth" = ( +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"mto" = ( +/obj/effect/turf_decal/tile/neutral/half, +/obj/effect/turf_decal/tile/neutral/half{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, +/area/station/command/gateway) "mtH" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ dir = 5 @@ -37209,18 +36415,37 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"mtN" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 +"mtK" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"mug" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5 + }, +/obj/item/stack/sheet/plasteel{ + amount = 10; + pixel_y = 5; + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) +"mtN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library/private) +"mtZ" = ( +/obj/structure/table, +/obj/item/stack/cable_coil/five, +/obj/item/wallframe/camera, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) +/area/station/maintenance/port/fore) "muu" = ( /obj/machinery/light/directional/east, /obj/machinery/power/apc/auto_name/directional/east, @@ -37228,12 +36453,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/department/security) -"muy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/bar) "muz" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/status_display/ai/directional/south, @@ -37248,6 +36467,15 @@ /obj/machinery/power/tracker, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/starboard/aft) +"muC" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/exam_room) "muG" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -37264,97 +36492,67 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"muO" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/newscaster/directional/south, -/obj/structure/table, -/obj/item/folder/yellow{ - pixel_x = 3; - pixel_y = 6 - }, -/obj/item/folder/yellow{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/folder/yellow{ - pixel_x = 3 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = -5; - pixel_y = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"muU" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/turf/open/floor/carpet/blue, -/area/station/command/heads_quarters/cmo) -"mvb" = ( -/obj/machinery/button/door/directional/south{ - id = "dorm_2"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5; - pixel_y = -34 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) -"mvc" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +"muN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/plating, +/area/station/maintenance/port) +"muY" = ( +/obj/machinery/firealarm/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"mvd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/duct, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Apothecary" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"mvg" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mvr" = ( /obj/structure/flora/rock/pile/jungle/large/style_random, /obj/structure/flora/tree/jungle/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"mvF" = ( -/obj/structure/closet/crate/trashcart, -/obj/effect/spawner/random/contraband/prison, -/obj/effect/spawner/random/trash/garbage, -/obj/effect/spawner/random/trash/garbage, +"mvt" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/side{ - dir = 6 + dir = 4 }, -/area/station/security/prison) -"mvH" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_x = 5 +/area/station/security/interrogation) +"mvv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_flipped, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"mvx" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/item/storage/box/handcuffs{ - pixel_x = -9; - pixel_y = 3 +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = 8 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/turf/open/floor/iron/white, +/area/station/medical/virology) "mvS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -37378,13 +36576,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"mwm" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) +"mwk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/shower/directional/north, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) +"mwl" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/closet/toolcloset, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "mwn" = ( /obj/machinery/power/energy_accumulator/grounding_rod, /turf/open/floor/plating, @@ -37396,21 +36598,45 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/gateway) -"mwK" = ( -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"mwQ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +"mwv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"mwP" = ( +/obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/table, -/obj/machinery/microwave{ +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) +"mwQ" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/table, +/obj/machinery/microwave{ pixel_y = 5 }, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"mxc" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Security - Prison, Bitrunning Den"; + name = "security camera" + }, +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/station/security/bitden) "mxf" = ( /obj/structure/table, /obj/item/raw_anomaly_core/random{ @@ -37424,26 +36650,26 @@ /obj/item/raw_anomaly_core/random, /turf/open/floor/iron, /area/station/science/ordnance) -"mxg" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/storage_shared) "mxi" = ( /obj/structure/foamedmetal, /turf/open/floor/plating, /area/station/maintenance/department/eva) +"mxn" = ( +/turf/closed/wall, +/area/station/medical/break_room) "mxo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/white, /area/station/science/explab) +"mxt" = ( +/obj/machinery/status_display/ai/directional/east, +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "mxu" = ( /obj/structure/closet/wardrobe/white, /obj/item/clothing/shoes/jackboots, @@ -37451,17 +36677,26 @@ /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"mxw" = ( -/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/cargo/miningoffice) -"mxF" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/machinery/firealarm/directional/south, +"mxE" = ( +/obj/machinery/doppler_array{ + dir = 4 + }, /turf/open/floor/iron/white, -/area/station/science/research) +/area/station/science/ordnance/testlab) +"mxF" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Front Desk"; + name = "engineering camera" + }, +/obj/machinery/newscaster/directional/north, +/obj/machinery/computer/department_orders/engineering, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) "mxN" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/trimline/yellow/line{ @@ -37469,35 +36704,21 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"mxO" = ( +/obj/structure/table/wood, +/obj/machinery/recharger, +/obj/item/hand_tele{ + pixel_x = -19 + }, +/obj/item/melee/chainofcommand{ + pixel_x = -15 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) "mxZ" = ( /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"myj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/window/spawner/directional/east, -/obj/structure/table/reinforced/rglass, -/obj/item/burner/fuel{ - pixel_y = 4 - }, -/obj/item/storage/box/beakers, -/obj/item/reagent_containers/cup/beaker/large, -/obj/item/reagent_containers/dropper, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"myr" = ( -/obj/machinery/light/directional/west, -/obj/structure/bed/double{ - dir = 4 - }, -/obj/item/bedsheet/dorms_double{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) "myv" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -37506,57 +36727,32 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/port/aft) -"myz" = ( -/obj/machinery/light/built/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) +"myE" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "myR" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"mzf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table, -/obj/effect/decal/cleanable/blood/old, -/obj/item/radio{ - desc = "An old handheld radio. You could use it, if you really wanted to."; - icon_state = "radio"; - name = "old radio" +"mzg" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 9 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"mzn" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, /obj/structure/cable, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = 3 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"mzp" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/structure/table, -/obj/item/cultivator, -/obj/item/hatchet, -/obj/item/crowbar/red, -/obj/item/plant_analyzer, -/obj/item/reagent_containers/cup/watering_can, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/service/hydroponics/garden) +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "mzq" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -37566,6 +36762,17 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"mzB" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/modular_computer/preset/civilian, +/turf/open/floor/iron, +/area/station/medical/paramedic) +"mzD" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "mzF" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 4 @@ -37587,6 +36794,14 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"mzJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "mzK" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, @@ -37596,10 +36811,35 @@ /obj/effect/turf_decal/siding/thinplating/corner, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"mzT" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/corner, +/obj/machinery/medical_kiosk, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mzY" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/station/science/genetics) +"mAj" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/grass, +/area/station/medical/virology) +"mAm" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/table, +/obj/item/reagent_containers/cup/bucket{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/reagent_containers/cup/bucket{ + pixel_y = 9; + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "mAr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37609,15 +36849,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/office) -"mAB" = ( -/obj/machinery/light/small/built/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Commons - Vacant Commissary"; - name = "commons camera" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "mAC" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -37634,39 +36865,41 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) -"mAO" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/yellow/corner, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 6 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/hallway/primary/aft) +"mAJ" = ( +/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/catwalk_floor, +/area/station/maintenance/starboard/fore) "mAR" = ( /obj/effect/turf_decal/bot, /obj/machinery/status_display/evac/directional/west, /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"mBa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"mBp" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ +"mBh" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/meter, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"mBi" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot_white/left, +/obj/machinery/airalarm/directional/west, +/obj/structure/closet/crate/silvercrate, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) +"mBl" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/machinery/processor, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) +/obj/machinery/light/directional/north, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/main) "mBL" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 9 @@ -37677,14 +36910,14 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"mBX" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/port) +"mBV" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mCc" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/effect/turf_decal/trimline/green/line{ @@ -37698,13 +36931,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"mCl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "mCr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37720,10 +36946,29 @@ /obj/machinery/power/terminal, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) +"mCE" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/records/security, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) "mCK" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"mCO" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + 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/plating, +/area/station/maintenance/port/fore) +"mCQ" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "mDe" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -37733,54 +36978,35 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"mDi" = ( -/turf/closed/wall, -/area/station/security/bitden) -"mDl" = ( +"mDg" = ( +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/aft) +"mDi" = ( +/turf/closed/wall, +/area/station/security/bitden) "mDv" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine) -"mDM" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"mDP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +"mDz" = ( +/obj/structure/window/reinforced/tinted/spawner/directional/east, +/obj/item/kirbyplants/random/dead, +/turf/open/floor/iron/vaporwave, +/area/station/command/heads_quarters/rd) +"mDJ" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark, +/area/station/commons/fitness/recreation) "mDR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Break Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/white/textured, -/area/station/medical/break_room) +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "mEf" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 1 @@ -37797,20 +37023,6 @@ "mEg" = ( /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"mEi" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/painting/library{ - pixel_x = -32 - }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"mEl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "mEs" = ( /obj/effect/turf_decal/trimline/dark_red/filled/line, /obj/effect/turf_decal/trimline/dark_red/line{ @@ -37819,10 +37031,10 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"mEz" = ( -/obj/structure/dresser, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +"mEy" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "mEH" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/cable, @@ -37839,48 +37051,90 @@ /obj/machinery/duct, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"mEZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"mER" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_5k, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"mFu" = ( +/obj/structure/table, +/obj/item/secateurs, +/obj/item/secateurs{ + pixel_x = 8; + pixel_y = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) +"mFz" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/crew{ dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 +/obj/machinery/button/door/directional/east{ + pixel_y = 6; + id = "cmo_office_shutters"; + name = "CMO Office Shutters Control"; + req_access = list("cmo") }, -/obj/machinery/status_display/evac/directional/west, +/obj/machinery/button/door/directional/east{ + pixel_y = -6; + id = "med_lockdown"; + name = "Medical Lockdown" + }, +/obj/machinery/button/door/directional/east{ + pixel_y = 6; + id = "cmo_desk_shutters"; + name = "Desk Shutters Control"; + req_access = list("cmo"); + pixel_x = 36 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"mFE" = ( +/obj/machinery/space_heater, /turf/open/floor/iron/dark/side{ - dir = 8 + dir = 9 }, -/area/station/hallway/primary/aft) -"mFi" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/defibrillator_mount/directional/south, -/obj/machinery/iv_drip, -/obj/item/reagent_containers/blood, -/turf/open/floor/iron/white, -/area/station/security/medical) -"mFK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"mFO" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/area/station/security/prison) "mFS" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/fitness) -"mGe" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"mGu" = ( -/obj/structure/chair/comfy/brown, -/obj/effect/landmark/start/medical_doctor, +"mGa" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, /turf/open/floor/iron/white, -/area/station/medical/break_room) +/area/station/medical/cryo) +"mGc" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/corner, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/hallway/primary/aft) +"mGx" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/secondary/exit/departure_lounge) "mGB" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -37901,20 +37155,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"mHm" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/tcommsat/computer) -"mHH" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/security/detectives_office) +"mHx" = ( +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "mHO" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -37931,31 +37175,31 @@ "mHQ" = ( /turf/closed/wall, /area/station/service/janitor) -"mHS" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/duct, -/obj/structure/rack, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags{ - pixel_y = 3 - }, -/obj/item/storage/box/bodybags{ - pixel_y = 6 +"mHV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"mHX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/clothing/gloves/latex, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"mIf" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/siding/wood{ - 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/dark/side{ + dir = 8 }, -/obj/structure/plaque/static_plaque/golden/captain{ - pixel_y = -32 +/area/station/engineering/atmos/office) +"mId" = ( +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) "mIh" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, @@ -37986,50 +37230,78 @@ /obj/effect/turf_decal/trimline/purple/warning, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"mIF" = ( -/obj/machinery/ntnet_relay, -/obj/structure/cable, -/turf/open/floor/circuit/telecomms, -/area/station/tcommsat/server) -"mIK" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"mIL" = ( +"mIu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"mIv" = ( /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{ +/turf/open/floor/iron/dark/smooth_corner{ dir = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) +/area/station/service/chapel) +"mIK" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "mIP" = ( /obj/machinery/airalarm/directional/east, /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/port) -"mJa" = ( -/obj/effect/turf_decal/siding/wood{ +"mJc" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, -/obj/machinery/light/small/directional/south, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Security - Checkpoint, Arrivals"; + name = "security camera" }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/machinery/button/door/directional/west{ + id = "arrivals_security_checkpoint"; + name = "Security Checkpoint Shutters Control"; + req_access = list("security") }, -/turf/open/floor/wood, -/area/station/commons/locker) +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) +"mJi" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"mJj" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/central) +"mJm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_maintenance{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "mJo" = ( /obj/machinery/space_heater, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"mJr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/port) "mJw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -38059,11 +37331,21 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"mKE" = ( -/obj/machinery/shower/directional/south, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/shower) +"mKV" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Secondary Pathology Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/turf/open/floor/iron/white/textured, +/area/station/medical/virology) "mKW" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -38082,6 +37364,24 @@ dir = 10 }, /area/station/service/hydroponics) +"mLe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table, +/obj/effect/decal/cleanable/blood/old, +/obj/item/radio{ + desc = "An old handheld radio. You could use it, if you really wanted to."; + icon_state = "radio"; + name = "old radio" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"mLg" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/virology) "mLh" = ( /obj/structure/chair{ dir = 1 @@ -38091,38 +37391,88 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/visit) +"mLs" = ( +/obj/effect/turf_decal/trimline/green/filled/warning, +/obj/effect/turf_decal/trimline/green/warning{ + dir = 1 + }, +/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, +/area/station/hallway/primary/starboard) +"mLy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) +"mLM" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/machinery/light/directional/south, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"mLT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/carpet/black, +/area/station/security/bitden) +"mMd" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/lobby) +"mMh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"mMn" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/computer/order_console/bitrunning, +/turf/open/floor/iron/dark, +/area/station/security/bitden) "mMt" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plating/airless, /area/space/nearstation) -"mMv" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/button/door/directional/north{ - pixel_x = -6; - id = "hop_queue"; - name = "Queue Shutters Control"; - req_access = list("hop") - }, -/obj/machinery/button/door/directional/north{ - pixel_x = 6; - id = "hop"; - name = "Privacy Shutters Control"; - req_access = list("hop") - }, -/obj/machinery/button/ticket_machine{ - pixel_x = -6; - pixel_y = 34 +"mMz" = ( +/obj/structure/table, +/obj/item/assembly/timer, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"mMN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/button/flasher{ - id = "hopflash"; - pixel_x = 6; - pixel_y = 34 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance{ + name = "Service Hall Maintenance" }, -/obj/machinery/pdapainter, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/hallway/secondary/service) "mMQ" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/plaque{ @@ -38132,25 +37482,6 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"mMS" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 5 - }, -/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, -/obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, -/turf/open/floor/iron/white, -/area/station/science/explab) -"mMX" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white, -/area/station/medical/virology) "mMY" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -38160,12 +37491,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"mNd" = ( -/obj/effect/turf_decal/tile/green/half/contrasted, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/port) +"mNk" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/command/storage/eva) "mNq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -38182,6 +37515,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mNr" = ( +/obj/machinery/button/door/directional/north{ + id = "bs_bathroom"; + name = "Bathroom Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = -6 + }, +/obj/machinery/shower/directional/west, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/blueshield) "mNt" = ( /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) @@ -38189,25 +37534,32 @@ /obj/machinery/atmospherics/pipe/smart/simple/pink/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"mNz" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"mNF" = ( -/obj/effect/turf_decal/trimline/dark_red/corner{ - dir = 1 +"mNG" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/vending/wardrobe/jani_wardrobe, +/turf/open/floor/iron/dark, +/area/station/service/janitor) +"mNL" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/obj/effect/turf_decal/trimline/green/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "mNW" = ( /turf/open/floor/iron/freezer, /area/station/science/xenobiology) +"mNZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "mOc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/side{ @@ -38229,26 +37581,32 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron/dark/textured, /area/station/science/server) -"mOv" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/west{ - name = "Apothecary Desk"; - req_access = list("pharmacy") +"mOq" = ( +/obj/structure/sign/painting/library{ + pixel_x = 32 }, -/obj/machinery/door/window/right/directional/east{ - name = "Apothecary Desk" +/obj/structure/chair/comfy/black, +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood, +/area/station/service/library) +"mOy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 }, -/obj/machinery/door/poddoor/shutters{ - id = "apothecary_pri_desk_shutters"; - name = "Apothecary Primary Desk Shutters"; - dir = 4 +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/aft) +"mOA" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 8 }, -/obj/structure/desk_bell{ - pixel_x = 6 +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 4 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "mOB" = ( /obj/machinery/door/firedoor, /obj/effect/spawner/structure/window, @@ -38257,14 +37615,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/commons/dorms/laundry) -"mOH" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/sign/departments/maint/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) "mOO" = ( /obj/machinery/camera/emp_proof/directional/south{ name = "engineering camera"; @@ -38293,13 +37643,6 @@ dir = 4 }, /area/station/cargo/storage) -"mOZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "mPg" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, @@ -38314,6 +37657,12 @@ /obj/structure/cable, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"mPp" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "mPK" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -38324,32 +37673,13 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"mQo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Maintenance - Science Pass-through, Artifact Lab"; - name = "maintenance camera"; - network = list("ss13","rd") - }, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"mQx" = ( -/obj/structure/closet/secure_closet/freezer/meat{ - req_access = null - }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"mQA" = ( -/obj/machinery/status_display/evac/directional/west, -/obj/structure/chair/sofa/corp{ - dir = 4 +"mQD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/turf/open/floor/carpet/blue, -/area/station/ai_monitored/turret_protected/ai_upload) +/turf/open/floor/iron/white, +/area/station/medical/surgery) "mQF" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, @@ -38377,87 +37707,104 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/commons/dorms/laundry) -"mRp" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/orange, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -9; - pixel_y = 9 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_y = 3 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 9; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/service/janitor) +"mRa" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/duct, +/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/exam_room) "mRx" = ( /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/prison) -"mRD" = ( -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"mRG" = ( -/obj/effect/turf_decal/stripes/line{ +"mRE" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"mRL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"mRF" = ( +/obj/effect/turf_decal/bot_red, /obj/structure/cable, -/obj/effect/turf_decal/siding/wood/corner{ +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/large, +/area/station/ai_monitored/command/storage/eva) +"mRI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/turf_decal/siding/wood/corner{ +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "kitchen_sec_shutters"; + name = "Kitchen Shutters"; dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/kitchen) "mRM" = ( /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/vaporwave, /area/station/command/heads_quarters/rd) +"mRO" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/toy/figure/lawyer{ + pixel_x = 9 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "mSe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mopbucket, -/obj/item/mop, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"mSg" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "mSx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"mSC" = ( -/obj/machinery/vending/boozeomat/all_access, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"mSO" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/item/radio/intercom/directional/west, -/obj/structure/filingcabinet/chestdrawer, -/obj/item/storage/secure/briefcase, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "mSP" = ( /obj/structure/lattice/catwalk, /obj/structure/sign/departments/security/directional/south, /obj/structure/marker_beacon/burgundy, /turf/open/space/basic, /area/space/nearstation) +"mTi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "mTj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -38469,25 +37816,6 @@ dir = 8 }, /area/station/commons/fitness) -"mTk" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/obj/item/crowbar/red, -/obj/item/storage/box/mousetraps, -/obj/item/storage/box/mousetraps, -/obj/item/restraints/legcuffs/beartrap, -/obj/item/restraints/legcuffs/beartrap, -/obj/item/restraints/legcuffs/beartrap, -/turf/open/floor/iron/dark, -/area/station/service/janitor) "mTp" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -38508,13 +37836,22 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/commons/toilet/restrooms) -"mTR" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/chair/wood{ - dir = 4 +"mTz" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 }, +/obj/structure/sign/poster/official/safety_eye_protection/directional/west, +/obj/machinery/light/small/directional/west, +/obj/structure/chemical_manufacturer, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"mTL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/stack/sheet/mineral/coal/five, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/area/station/smithing) "mTT" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -38531,16 +37868,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/textured, /area/station/science/lab) -"mTV" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/machinery/recharger{ - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "mTW" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 10 @@ -38550,14 +37877,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"mUu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "mUw" = ( /turf/open/floor/wood, /area/station/service/lawoffice) @@ -38578,10 +37897,20 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/construction, /turf/open/floor/iron/textured, /area/station/engineering/gravity_generator) +"mUD" = ( +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/wood, +/area/station/security/prison/rec) "mUF" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/mob/living/carbon/human/species/monkey, +/turf/open/floor/grass, +/area/station/medical/virology) +"mUJ" = ( +/obj/machinery/vending/boozeomat/all_access, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "mUM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38599,7 +37928,7 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/machinery/status_display/ai/directional/north, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/engineering/main) "mVa" = ( @@ -38614,49 +37943,22 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/locker) -"mVt" = ( +"mVn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) +"mVt" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/science) -"mVx" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"mVC" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/engineering) -"mVD" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) "mVH" = ( /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison) -"mVS" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "mVX" = ( /obj/effect/turf_decal/trimline/neutral/filled/end{ dir = 8 @@ -38678,16 +37980,10 @@ "mWi" = ( /turf/closed/wall, /area/station/security/prison/workout) -"mWn" = ( -/obj/item/radio/intercom/directional/west, -/obj/structure/chair/sofa/right/maroon{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/commons/fitness) +"mWk" = ( +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/prison) "mWC" = ( /obj/machinery/power/terminal{ dir = 4 @@ -38695,51 +37991,46 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"mWH" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/biogenerator, -/obj/machinery/door/window/right/directional/south{ - name = "Public Biogenerator"; - req_access = list("hydroponics") - }, -/obj/machinery/door/window/right/directional/north{ - name = "Public Biogenerator" +"mWD" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/door/poddoor/shutters{ - id = "hydroponics_shutters"; - name = "Hydroponics Shutters"; +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"mWG" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"mWJ" = ( +/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{ dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/hydroponics) -"mWO" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 +/obj/machinery/medical_kiosk, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"mWP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/item/storage/medkit/o2{ - pixel_x = 3; - pixel_y = 3 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/item/storage/medkit/o2, -/obj/item/storage/medkit/o2{ - pixel_x = -3; - pixel_y = -3 +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance Closet" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"mXe" = ( -/obj/structure/table, -/obj/item/taperecorder, /turf/open/floor/plating, -/area/station/maintenance/port/aft) +/area/station/maintenance/starboard/aft) "mXr" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/secure_closet/medical2, @@ -38767,23 +38058,75 @@ }, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"mXY" = ( -/obj/machinery/station_map/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"mYl" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"mYI" = ( -/obj/effect/turf_decal/trimline/red/filled/line, +"mYi" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, /obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"mYk" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Atmospherics Pumping Room"; + name = "engineering camera" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold/supply/visible{ dir = 1 }, /turf/open/floor/iron/dark, -/area/station/security/office) +/area/station/engineering/atmos/pumproom) +"mYs" = ( +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/structure/reagent_dispensers/watertank, +/obj/item/reagent_containers/cup/bucket, +/turf/open/floor/grass, +/area/station/hallway/primary/central) +"mYv" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/service/hydroponics) +"mYx" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/north{ + name = "Security Checkpoint Desk"; + req_access = list("security") + }, +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/south{ + name = "Security Checkpoint Desk" + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/obj/machinery/door/poddoor/shutters{ + id = "arrivals_security_checkpoint"; + name = "Security Checkpoint Shutters" + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) +"mYC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/moisture_trap, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"mYJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "mYW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38801,6 +38144,11 @@ "mZc" = ( /turf/closed/wall, /area/station/maintenance/department/science) +"mZe" = ( +/obj/structure/chair/comfy/black, +/obj/effect/landmark/start/research_director, +/turf/open/floor/wood, +/area/station/command/meeting_room) "mZp" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/sign/warning/vacuum/external/directional/south, @@ -38809,10 +38157,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/miningoffice) -"mZs" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) "mZG" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -38830,13 +38174,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"mZR" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "mZT" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -38844,34 +38181,37 @@ /obj/machinery/dna_scannernew, /turf/open/floor/iron/white, /area/station/science/genetics) -"nad" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "nai" = ( /obj/machinery/duct, /obj/effect/landmark/start/hangover, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"nar" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/table, +/obj/item/book/manual/wiki/barman_recipes{ + pixel_y = 4 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_x = -6 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_x = 6 + }, +/turf/open/floor/wood, +/area/station/service/bar) "nax" = ( /obj/machinery/firealarm/directional/south{ pixel_x = -5 }, /turf/open/floor/carpet/neon/simple/pink, /area/station/science/xenobiology) -"naK" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) +"naG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/photocopier, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "naL" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -38881,24 +38221,71 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"nbg" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"nbm" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/spawner/random/trash/garbage, +"naU" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Telecomms Server Room"; + network = list("tcomms") + }, +/obj/machinery/telecomms/receiver/preset_left, +/turf/open/floor/circuit/telecomms, +/area/station/tcommsat/server) +"naW" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/south, +/obj/machinery/vending/medical, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"nbx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/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/maintenance{ + name = "Atmospherics Storage Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/duct, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/engineering/atmos/storage) "nbF" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/electrical) -"nbP" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/reagent_dispensers/plumbed, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"nbM" = ( +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 1 + }, +/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, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"nbT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"nbY" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/computer/crew{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "ncd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, @@ -38909,11 +38296,6 @@ /obj/machinery/air_sensor/oxygen_tank, /turf/open/floor/engine/o2, /area/station/engineering/atmos) -"ncq" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "nct" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -38925,28 +38307,20 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) -"ncA" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/table, -/obj/item/toy/figure/miner, -/turf/open/floor/iron/dark/side{ - dir = 1 +"ncJ" = ( +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"ncQ" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/rad_shelter/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/area/station/cargo/miningoffice) -"ncG" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/airalarm/directional/south, -/obj/machinery/seed_extractor, /turf/open/floor/iron/dark, -/area/station/security/prison/garden) -"ncV" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/security/prison) "ndi" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -38961,58 +38335,73 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"ndr" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/chair/sofa/bench{ +"ndu" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, -/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/area/station/hallway/secondary/entry) "ndy" = ( /obj/structure/lattice, /obj/effect/spawner/random/structure/grille, /turf/open/space, /area/space/nearstation) -"ndK" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/pill_bottle/mutadone{ - pixel_x = 8; - pixel_y = 12 +"ndH" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 }, -/obj/item/storage/pill_bottle/mannitol{ - pixel_x = 8; - pixel_y = 4 +/obj/machinery/light/small/directional/east, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/security/execution) +"ndP" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted, +/obj/structure/table, +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/paper/guides/jobs/hydroponics, +/obj/item/grenade/chem_grenade/antiweed{ + pixel_x = -9; + pixel_y = 10 }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 +/obj/item/grenade/chem_grenade/antiweed{ + pixel_x = -9; + pixel_y = 5 }, -/obj/item/folder/white{ - pixel_x = -4; - pixel_y = 6 +/obj/item/toy/figure/botanist{ + pixel_x = 9; + pixel_y = 17 }, -/obj/item/pen{ - pixel_x = -4; - pixel_y = 7 +/turf/open/floor/iron/dark/corner{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/science/genetics/cloning) +/area/station/service/hydroponics) "ndQ" = ( /obj/structure/table, /obj/item/folder/red, /obj/item/taperecorder, /turf/open/floor/iron/textured, /area/station/security/interrogation) -"nea" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/photocopier, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"ndS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"ndX" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) "neo" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/structure/disposalpipe/segment{ @@ -39027,52 +38416,17 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nev" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/requests_console/directional/north{ - department = "Chief Engineer's Desk"; - name = "Chief Engineer's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_y = 6 - }, -/obj/item/clipboard{ - pixel_y = 6 - }, -/obj/item/folder/yellow{ - pixel_y = 6 - }, -/obj/item/pen{ - pixel_y = 4 - }, -/obj/item/stamp/head/ce, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/command/heads_quarters/ce) -"neF" = ( -/obj/effect/turf_decal/trimline/green/filled/warning, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"neG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +"neB" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/light/small/built/directional/south, +/obj/effect/spawner/random/engineering/tank, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"neM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "neW" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -39086,6 +38440,13 @@ /obj/machinery/power/smes/engineering, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"nfc" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/plating/airless, +/area/space/nearstation) "nfj" = ( /obj/effect/spawner/random_bar/box, /turf/closed/wall, @@ -39099,65 +38460,32 @@ dir = 6 }, /area/station/service/hydroponics) -"nfr" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - department = "Mining"; - name = "Mining Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/miningoffice) "nft" = ( /obj/structure/table/wood, /obj/item/toy/plush/nukeplushie, /turf/open/floor/wood, /area/station/maintenance/starboard/fore) -"nfw" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Hallway - Central, Park, East"; - name = "hallway camera" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/grass, -/area/station/hallway/primary/central) -"nfz" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/smithing) -"nfR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ - dir = 4 +"nfx" = ( +/obj/machinery/button/door/directional/east{ + id = "bar_sec_shutters"; + name = "Bar Shutters Control"; + req_access = list("bar") }, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ - dir = 4 +/obj/machinery/camera/directional/east{ + c_tag = "Service - Bar"; + name = "service camera" }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/wood, +/area/station/service/bar) +"nfW" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) "nga" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) -"nge" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "ngl" = ( /obj/item/target/alien, /turf/open/floor/plating, @@ -39176,68 +38504,29 @@ /obj/item/radio/intercom/prison/directional/east, /turf/open/floor/wood, /area/station/security/prison/rec) -"ngM" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +"ngT" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/requests_console/directional/north{ - anon_tips_receiver = 1; - assistance_requestable = 1; - department = "Security"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/machinery/computer/records/security{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) -"ngS" = ( -/obj/effect/turf_decal/tile/dark_blue, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) -"ngT" = ( +/obj/effect/turf_decal/stripes/line, /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, -/area/station/security/checkpoint/engineering) -"ngV" = ( -/obj/machinery/requests_console/directional/west{ - department = "Atmospherics"; - name = "Atmospherics Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/window/spawner/directional/south, -/obj/machinery/computer/atmos_control/nocontrol/master{ - dir = 1 +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Delivery Office" }, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/iron/dark/textured, +/area/station/cargo/sorting) +"nhj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/area/station/engineering/atmos/office) -"ngX" = ( -/obj/structure/table, -/obj/item/restraints/handcuffs/cable/zipties, -/obj/item/reagent_containers/blood/random, -/turf/open/floor/iron/white, -/area/station/maintenance/port/fore) -"nha" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"nhh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/library) +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "nhn" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ name = "Burn Chamber Exterior Airlock" @@ -39247,22 +38536,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"nhq" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/machinery/door/window/left/directional/north{ - name = "Engineering Deliveries"; - req_access = list("engineering") - }, -/turf/open/floor/iron/large, -/area/station/engineering/storage) "nhr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39274,32 +38547,27 @@ /turf/open/floor/iron/checker, /area/station/science/lab) "nhv" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Maintenance - Science Pass-through, Ordnance"; - name = "maintenance camera"; - network = list("ss13","rd") - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/machinery/light/directional/east, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) +"nhD" = ( +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"nhL" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/white, -/area/station/medical/office) -"nhQ" = ( +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/shower) +"nhH" = ( +/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 = 6 + dir = 10 }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "nhS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -39314,68 +38582,73 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"nhT" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +"nhX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/iron, +/area/station/engineering/main) "nia" = ( /turf/closed/wall, /area/station/solars/starboard/aft) -"nit" = ( +"nic" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/line{ + dir = 8 + }, /obj/machinery/light/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/modular_computer/preset/curator{ +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"nii" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"nij" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"nil" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "niu" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"niv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"niA" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"niz" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 }, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Command - Vault"; - network = list("vault"); - name = "motion-sensitive command camera" +/obj/effect/turf_decal/trimline/blue/line{ + dir = 6 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "niB" = ( /obj/structure/girder/reinforced, /obj/structure/grille, /turf/open/floor/plating/airless, /area/space/nearstation) -"niF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"niC" = ( +/obj/machinery/status_display/evac/directional/west, +/obj/structure/chair/sofa/corp{ dir = 4 }, -/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/maintenance{ - name = "Mining Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/mining, -/turf/open/floor/plating, -/area/station/cargo/miningoffice) +/turf/open/floor/carpet/blue, +/area/station/ai_monitored/turret_protected/ai_upload) "niG" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/trimline/yellow/line{ @@ -39393,6 +38666,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"niP" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/structure/table/reinforced/rglass, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "niU" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -39406,22 +38694,33 @@ /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) "njw" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"njN" = ( -/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, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/starboard/aft) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Primary Pathology Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/turf/open/floor/iron/white/textured, +/area/station/medical/virology) +"njG" = ( +/obj/machinery/light/small/broken/directional/south, +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/bottle/whiskey{ + pixel_y = 7; + pixel_x = -7 + }, +/obj/item/reagent_containers/cup/glass/bottle/rum{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "njX" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 @@ -39433,19 +38732,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"nkb" = ( -/obj/machinery/duct, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port) -"nkc" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/window/brigdoor/left/directional/north{ - name = "Chief Medical Officer's Desk"; - req_access = list("cmo") - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "nke" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -39465,26 +38751,6 @@ dir = 1 }, /area/station/cargo/storage) -"nku" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/item/soap/nanotrasen, -/obj/item/storage/box/trackimp{ - pixel_x = -9; - pixel_y = 9 - }, -/obj/item/storage/box/hug{ - pixel_y = 9 - }, -/obj/item/storage/box/chemimp{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/item/storage/lockbox/loyalty, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "nkv" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 8 @@ -39512,27 +38778,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"nld" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"nlg" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/chair/sofa/bench/left{ +"nkW" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"nli" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/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/maintenance/disposal/incinerator) +/area/station/engineering/break_room) +"nle" = ( +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/item/radio/intercom/directional/east, +/obj/machinery/modular_computer/preset/cargochat/medical{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) "nlj" = ( /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) @@ -39544,6 +38806,12 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig/entrance) +"nlw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) "nlD" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -39565,6 +38833,14 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"nlJ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron, +/area/station/engineering/storage) "nlU" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -39574,10 +38850,42 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/lawoffice) -"nmf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +"nlY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Chief Engineer's Office"; + name = "engineering camera" + }, +/obj/machinery/keycard_auth/directional/north{ + pixel_y = 34 + }, +/obj/machinery/button/door/directional/north{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_x = 11 + }, +/obj/machinery/button/door/directional/north{ + id = "engineering"; + name = "Engineering Lockdown"; + pixel_x = -11 + }, +/obj/machinery/button/door/directional/north{ + id = "secure_storage"; + name = "Engineering Secure Storage" + }, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/command/heads_quarters/ce) +"nma" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/hallway/secondary/service) +/area/station/engineering/storage) "nmm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39587,35 +38895,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nmw" = ( -/obj/machinery/growing/soil, -/turf/open/floor/grass, -/area/station/hallway/primary/central) "nmz" = ( -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"nmX" = ( -/obj/effect/spawner/random/trash/graffiti, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"nmY" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - 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/white, -/area/station/medical/medbay/lobby) -"nns" = ( -/obj/effect/turf_decal/box, /obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/supply) +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "nnv" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"nny" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) "nnB" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -39634,15 +38931,22 @@ }, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) -"nnE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) "nnG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/rec) +"nnP" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_red/line{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "nnR" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -39656,55 +38960,31 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"nnZ" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/table, -/obj/item/reagent_containers/cup/bucket{ - pixel_y = 6; - pixel_x = -6 - }, -/obj/item/reagent_containers/cup/bucket{ - pixel_y = 9; - pixel_x = 6 - }, -/turf/open/floor/iron/dark, -/area/station/service/janitor) -"noa" = ( -/obj/structure/chair/comfy/black{ +"nnV" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 }, -/obj/effect/landmark/start/head_of_security, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/white, +/area/station/medical/virology) "noh" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/lattice, /turf/open/space, /area/space/nearstation) -"nom" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"noo" = ( -/obj/machinery/duct, +"noA" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/filingcabinet, /turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"noM" = ( -/obj/machinery/atmospherics/components/binary/volume_pump/on{ - name = "Waste Release" +/area/station/command/heads_quarters/captain) +"noH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood{ + dir = 4 }, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/service/abandoned_gambling_den) "noN" = ( /obj/machinery/light/small/directional/west, /obj/machinery/button/door/directional/west{ @@ -39724,157 +39004,135 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"noQ" = ( -/obj/machinery/duct, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks/beer{ +"noS" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"noV" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "hydroponics_shutters"; + name = "Hydroponics Shutters"; dir = 1 }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) +/turf/open/floor/plating, +/area/station/service/hydroponics) "npa" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"npc" = ( -/obj/machinery/light/directional/west, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen/red, -/obj/item/pen/blue{ - pixel_x = 3; - pixel_y = 3 - }, +"npk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/vaporwave, /area/station/service/library/printer) -"npm" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/table, -/obj/machinery/ecto_sniffer, -/obj/item/toy/figure/roboticist{ - pixel_x = -9 - }, -/turf/open/floor/iron, -/area/station/science/robotics/lab) -"npz" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/structure/rack, -/obj/item/stack/sheet/iron/twenty, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/turf/open/floor/iron/dark/side{ - dir = 6 +"npo" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 }, -/area/station/engineering/break_room) -"npB" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"npT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/end{ dir = 8 }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"nqw" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/structure/chair/sofa/right/maroon{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"nqm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor/has_bulb, /turf/open/floor/iron/dark/side{ - dir = 1 + dir = 8 }, -/area/station/security/prison/workout) +/area/station/commons/fitness) "nqD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/prison) -"nqN" = ( -/obj/structure/cable/layer1, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) -"nrd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"nrh" = ( -/obj/structure/chair/sofa/bench/right, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) -"nrk" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 +"nqU" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/delivery, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/checker{ + dir = 1 }, -/obj/structure/disposalpipe/trunk{ +/area/station/command/heads_quarters/cmo) +"nqV" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark/side{ - dir = 6 +/obj/machinery/requests_console/directional/north{ + department = "Mining"; + name = "Mining Requests Console" }, -/area/station/command/heads_quarters/ce) -"nrl" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark/side{ dir = 1 }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/stone, -/area/station/smithing) -"nrz" = ( +/area/station/cargo/miningoffice) +"nqW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"nqY" = ( +/obj/machinery/requests_console/directional/west{ + department = "Quartermaster's Desk"; + name = "Quartermaster's Desk Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Quartermaster's Office"; + name = "Quartermaster's Fax Machine" + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) +"nrh" = ( +/obj/structure/chair/sofa/bench/right, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) +"nrj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/chapel) -"nrI" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"nrB" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, -/obj/structure/closet/firecloset/wall/directional/east, -/turf/open/floor/iron/white, -/area/station/science/research) -"nrJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "nrN" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/grassy/style_random, /turf/open/floor/grass, /area/station/hallway/primary/aft) -"nrT" = ( -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"nrX" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/atm/directional/north, -/obj/structure/closet/secure_closet/personal, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/commons/locker) +"nrY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "nsc" = ( /obj/effect/turf_decal/trimline/brown/filled/warning, /obj/machinery/conveyor/inverted{ @@ -39892,66 +39150,73 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"nsk" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "medbay_foyer"; - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/landmark/navigate_destination/med, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "med_lockdown"; - name = "Medbay Emergency Lockdown Shutters"; - dir = 1 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/central) "nst" = ( /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, /area/station/engineering/main) -"nsw" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "bitrunner_den"; - name = "Bitrunner Den Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/security/bitden) -"nsA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/structure/filingcabinet, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) "nsB" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nta" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"nsH" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) +"nsK" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/closet/firecloset{ + anchored = 1 + }, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"nsP" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/ballpit, +/area/station/security/bitden) +"nsT" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/reagent_dispensers/wall/peppertank/directional/north, +/obj/structure/closet/secure_closet/security/engine/blueshirt, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"nsW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "ntc" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/freezerchamber) +"ntd" = ( +/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, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "nte" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39961,18 +39226,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"ntm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/airlock/grunge{ - name = "Stall 3" - }, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) "ntz" = ( /obj/structure/sign/warning/vacuum/external/directional/south, /obj/effect/turf_decal/tile/yellow/half/contrasted, @@ -40009,6 +39262,12 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"ntJ" = ( +/obj/structure/chair/sofa/corp/left{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/station/ai_monitored/turret_protected/ai_upload) "ntM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -40018,39 +39277,32 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"ntZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"nua" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/lockers) "nub" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nuc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/corporate{ - id_tag = "bsq_to_cq"; - name = "Blueshield's Quarters to Captain's Quarters" - }, -/obj/effect/mapping_helpers/airlock/access/all/admin/general, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/blueshield) -"nue" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "nul" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"nuq" = ( +/turf/open/floor/carpet/black, +/area/station/security/bitden) +"nur" = ( +/obj/structure/cable, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/iron/dark, +/area/station/security/office) "nus" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40062,24 +39314,6 @@ dir = 4 }, /area/station/hallway/secondary/service) -"nuv" = ( -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/eva) -"nuK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/button/door/directional/south{ - id = "med_priv_1"; - name = "Privacy Shutters Control" - }, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) "nuS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40090,15 +39324,34 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"nvj" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ +"nuU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/closet/firecloset/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/airlock/grunge{ + name = "Gambling Den" + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"nve" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"nvk" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted, +/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ + dir = 1 + }, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/engineering/atmos/pumproom) "nvt" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -40117,19 +39370,18 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark, /area/station/security/office) -"nvB" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +"nvE" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen/fountain, +/obj/item/pen{ + pixel_x = -3; + pixel_y = -3 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "nwa" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -40151,11 +39403,25 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"nwj" = ( -/turf/open/floor/iron/dark/corner{ - dir = 8 +"nwo" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/west, +/obj/machinery/firealarm/directional/west, +/obj/structure/closet/emcloset, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"nws" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/item/restraints/handcuffs, +/obj/item/restraints/handcuffs{ + pixel_x = -3; + pixel_y = 6 }, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/dark, +/area/station/security/processing) "nwu" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -40181,6 +39447,18 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"nwP" = ( +/obj/structure/table, +/obj/item/taperecorder, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"nxa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "nxf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -40189,13 +39467,22 @@ "nxh" = ( /turf/open/floor/iron, /area/station/cargo/storage) +"nxi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library/lounge) "nxm" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/structure/marker_beacon/burgundy, -/turf/open/floor/plating/airless, -/area/space/nearstation) +/turf/open/floor/wood, +/area/station/service/library/lounge) "nxn" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/line{ @@ -40206,6 +39493,18 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"nxo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port) "nxr" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -40214,6 +39513,37 @@ /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) +"nxu" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) +"nxv" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = -8 + }, +/obj/item/folder/red{ + pixel_x = 7 + }, +/obj/item/folder/white{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/pen{ + pixel_x = 7 + }, +/obj/item/emergency_bed{ + pixel_y = 7 + }, +/turf/open/floor/iron/white, +/area/station/security/medical) "nxw" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/rack, @@ -40230,20 +39560,15 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/carpet/blue, /area/station/security/prison/safe) +"nxF" = ( +/turf/closed/wall, +/area/station/medical/patients_rooms/room_a) "nxG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"nxH" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/rd) "nxU" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering - Atmospherics Plasma Chamber"; @@ -40265,9 +39590,11 @@ /obj/structure/closet/emcloset/anchored, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"nyh" = ( -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) +"nyj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "nyn" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 5 @@ -40275,21 +39602,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/iron/dark, /area/station/science/server) -"nyt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ +"nyu" = ( +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/medbay/virology, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"nyz" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/chair/sofa/bench/left{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"nyH" = ( -/turf/open/floor/wood, -/area/station/commons/dorms/room5) +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "nyI" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner, @@ -40301,32 +39629,17 @@ /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"nyQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/item/storage/belt/utility, -/obj/item/storage/box, -/obj/item/storage/box, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) -"nyW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/aft) "nzn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark, /area/station/security/prison/visit) +"nzo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "nzC" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -40340,6 +39653,26 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"nzE" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Shared Storage" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engi-shared-storage" + }, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/storage_shared) "nzT" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ @@ -40347,6 +39680,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"nzW" = ( +/mob/living/carbon/human/species/monkey, +/turf/open/floor/grass, +/area/station/medical/virology) "nzX" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -40362,34 +39699,25 @@ /obj/effect/mapping_helpers/airlock/access/any/security/detective, /turf/open/floor/iron/dark/textured, /area/station/security/detectives_office) -"nAa" = ( -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/segment, +"nAk" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/structure/rack, +/obj/item/storage/briefcase, +/turf/open/floor/wood, +/area/station/security/detectives_office) +"nAy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) -"nAc" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Library - Private Study"; - name = "library camera" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library/private) -"nAj" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/teleport/station, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) +/turf/open/floor/iron/white, +/area/station/medical/surgery) "nAM" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/light_switch/directional/north{ @@ -40398,13 +39726,6 @@ /obj/structure/closet/radiation, /turf/open/floor/iron/textured, /area/station/engineering/gravity_generator) -"nAQ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/station_map/directional/north, -/turf/open/floor/iron/white, -/area/station/science/research) "nAR" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -40416,21 +39737,26 @@ /obj/effect/landmark/carpspawn, /turf/open/space, /area/space) +"nAV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Warehouse Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/cargo/warehouse) "nAW" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"nBb" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Cargo - Delivery Office, West"; - name = "cargo camera" - }, -/obj/machinery/conveyor{ - id = "package_sort_2" - }, -/turf/open/floor/iron/dark, -/area/station/cargo/sorting) "nBk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -40452,44 +39778,38 @@ /turf/open/floor/plating, /area/station/maintenance/department/eva) "nBp" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"nBD" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/table/reinforced, -/obj/item/storage/box/prisoner{ - pixel_y = 12 +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 4 }, -/obj/item/storage/box/prisoner{ - pixel_x = -6 +/obj/item/pen{ + pixel_x = -3; + pixel_y = 4 }, /turf/open/floor/iron/dark, -/area/station/security/processing) +/area/station/command/bridge) +"nBv" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/space_heater, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/hallway/secondary/service) "nBE" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) -"nBH" = ( -/obj/effect/turf_decal/box, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) -"nBJ" = ( -/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, -/obj/structure/chair/comfy/black{ - dir = 4 +"nBP" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/break_room) +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "nBQ" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -40507,15 +39827,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"nBV" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) "nBX" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -40524,6 +39835,17 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"nCo" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/bot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + location = "Bridge" + }, +/obj/machinery/duct, +/obj/structure/plasticflaps/opaque, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central) "nCp" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -40535,50 +39857,40 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"nCB" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/structure/chair/sofa/middle/maroon, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/commons/fitness) -"nCK" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Security - Prison, Bitrunning Den"; - name = "security camera" - }, -/obj/structure/chair/plastic{ - dir = 1 +"nCy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "rd_office_shutters"; + name = "RD's Office Shutters" }, -/turf/open/floor/carpet/black, -/area/station/security/bitden) -"nCP" = ( -/obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"nCY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/area/station/command/heads_quarters/rd) +"nCG" = ( /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) -"nDn" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"nCL" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/random/directional/north, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"nCM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/service/library) +"nDc" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/turf_decal/bot, +/obj/effect/landmark/secequipment, /obj/structure/cable, -/obj/structure/chair/sofa/corp{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/iron/dark, +/area/station/security/lockers) "nDq" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -40589,118 +39901,85 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"nDu" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/structure/closet/secure_closet{ - req_access = list("security"); - name = "Ammo Locker - Non-lethal" - }, -/obj/item/storage/box/rubbershot{ - pixel_y = -3; - pixel_x = -3 - }, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = -6; - pixel_y = -6 - }, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/ammo_box/magazine/m35/rubber, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = 3; - pixel_y = 3 +"nDr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/arc_forge, +/turf/open/floor/stone, +/area/station/smithing) +"nDv" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = 6; - pixel_y = 6 +/obj/machinery/washing_machine, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) +"nDy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/prison/visit) +"nDA" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"nDK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) +"nDL" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 }, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = -6; +/obj/machinery/firealarm/directional/west{ pixel_y = -6 }, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/ammo_box/magazine/m35/rubber, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = 3; +/obj/machinery/light_switch/directional/west{ pixel_y = 3 }, -/obj/item/ammo_box/magazine/m35/rubber{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"nDw" = ( /obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 7 +/obj/item/hatchet, +/obj/item/cultivator, +/obj/item/crowbar/red, +/obj/item/plant_analyzer, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark/side{ + dir = 10 }, -/obj/item/wrench/medical, -/obj/item/stack/cable_coil, +/area/station/service/hydroponics/garden) +"nDV" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/closet/secure_closet/medical1, /turf/open/floor/iron/white, -/area/station/medical/chemistry) -"nDy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/area/station/medical/office) +"nDX" = ( +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, +/turf/open/floor/stone, +/area/station/smithing) +"nEm" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, /turf/open/floor/iron/dark, -/area/station/security/prison/visit) -"nDF" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/area/station/security/prison) +"nEo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white, -/area/station/medical/storage) -"nDK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) -"nEb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ +/area/station/medical/chemistry) +"nEJ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"nEI" = ( -/obj/effect/spawner/random/trash/hobo_squat, -/obj/effect/mob_spawn/corpse/human/assistant, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"nEU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "arrivals_security_checkpoint"; - name = "Security Checkpoint Shutters"; - dir = 1 - }, -/turf/open/floor/plating, -/area/station/security/checkpoint/customs/auxiliary) +/area/station/engineering/atmos) "nEW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40708,14 +39987,9 @@ /obj/structure/sign/warning/electric_shock/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nFf" = ( -/obj/structure/disposalpipe/junction/yjunction, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +"nEY" = ( +/turf/closed/wall, +/area/station/commons/dorms/room4) "nFn" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -40723,22 +39997,25 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/dark, /area/station/security/brig) -"nFo" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/cargo/storage) -"nFw" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/computer/station_alert{ +"nFp" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/turf/open/floor/iron/dark/side{ +/obj/effect/turf_decal/trimline/red/line{ dir = 8 }, -/area/station/command/heads_quarters/ce) +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/office) +"nFq" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "nFK" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/cable, @@ -40746,6 +40023,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/checkpoint/escape) +"nFO" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/west, +/obj/structure/closet/secure_closet/security/med/blueshirt, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "nFR" = ( /obj/effect/turf_decal/tile/red/full, /obj/effect/turf_decal/box, @@ -40755,25 +40040,39 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/escape) -"nGg" = ( -/turf/open/floor/glass/reinforced, -/area/station/commons/fitness/recreation) -"nGl" = ( -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) +"nFV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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/grunge{ + name = "Gambling Den" + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"nFX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/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/maintenance{ + name = "Cargo Security Post Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/plating, +/area/station/security/checkpoint/supply) "nGn" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nGp" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) "nGs" = ( /obj/machinery/duct, /turf/open/floor/iron/dark, @@ -40784,35 +40083,65 @@ /obj/structure/flora/bush/sunny/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) -"nGz" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners{ +"nGI" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/prison) +"nGL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/machinery/button/door/directional/east{ - id = "rad_shutters"; - name = "RaD Desk Shutters Control"; - req_access = list("science") +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_y = 10 }, -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/iron/checker, -/area/station/science/lab) -"nGG" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 + }, +/obj/item/storage/belt/utility, +/obj/item/flashlight, +/obj/item/clothing/glasses/meson/engine{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/pipe_dispenser, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/storage_shared) +"nGO" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) "nGW" = ( /obj/effect/decal/cleanable/generic, /obj/effect/decal/cleanable/robot_debris/down, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) +"nGY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "hos_office"; + name = "HoS Office Shutters" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hos) "nHp" = ( /obj/structure/flora/grass/jungle/a/style_random, /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"nHu" = ( +/obj/item/radio/intercom/directional/north, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "nHx" = ( /obj/machinery/corral_corner{ mapping_id = "6" @@ -40831,60 +40160,19 @@ dir = 1 }, /area/station/commons/fitness/recreation) -"nHY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "hydroponics_shutters"; - name = "Hydroponics Shutters"; - dir = 1 - }, +"nIm" = ( +/obj/structure/sign/poster/random/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, -/area/station/service/hydroponics) -"nIa" = ( -/obj/machinery/light/directional/west, -/obj/structure/bed/double{ - dir = 4 - }, -/obj/item/bedsheet/dorms_double{ +/area/station/maintenance/department/engine) +"nIq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 1 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) -"nIb" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Atmospherics Incinerator"; - name = "engineering camera" - }, -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/machinery/atmospherics/components/tank/plasma, -/obj/machinery/light_switch/directional/west{ - pixel_y = -5 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"nIs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/department/science) +/obj/machinery/meter, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "nIt" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -40893,12 +40181,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"nIw" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "nIx" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -40919,32 +40201,13 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/security/execution) -"nII" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/suit_storage_unit/captain, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"nIN" = ( -/turf/closed/wall, -/area/station/medical/virology) -"nIP" = ( -/turf/closed/wall, -/area/station/commons/dorms/room2) -"nIW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 +"nIR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "nJa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40957,72 +40220,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"nJc" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/chair/sofa/bench/left{ - dir = 4 +"nJk" = ( +/turf/open/floor/carpet/green, +/area/station/commons/locker) +"nJm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) -"nJi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/firealarm/directional/west{ + pixel_y = -5 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - id_tag = "dorm_4"; - name = "Dorm 4" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms/room4) -"nJk" = ( -/turf/open/floor/carpet/green, -/area/station/commons/locker) -"nJo" = ( -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/bodycontainer/morgue, /turf/open/floor/iron/dark, -/area/station/security/warden) -"nJr" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/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/exam_room) -"nJx" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/dresser, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) -"nJy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "bar_sec_shutters"; - name = "Bar Shutters"; - dir = 4 - }, -/obj/structure/desk_bell{ - pixel_y = 2; - pixel_x = 6 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/bar) +/area/station/medical/morgue) +"nJF" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "nJK" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -41041,6 +40258,17 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"nJP" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) "nJS" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41049,6 +40277,40 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) +"nJW" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5 + }, +/obj/item/stack/sheet/plasteel{ + amount = 10; + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/stack/rods/fifty, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/storage_shared) "nKa" = ( /turf/open/floor/iron, /area/station/science/robotics/lab) @@ -41060,20 +40322,15 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai) -"nKe" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/turf/open/floor/iron/dark/side{ - dir = 5 +"nKi" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "arrivals_security_checkpoint"; + name = "Security Checkpoint Shutters" }, -/area/station/security/prison/work) -"nKo" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/prison) +/turf/open/floor/plating, +/area/station/security/checkpoint/customs/auxiliary) "nKr" = ( /turf/closed/wall, /area/station/solars/starboard/fore) @@ -41082,22 +40339,27 @@ /turf/open/floor/engine/o2, /area/station/engineering/atmos) "nKz" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/button/door/directional/north{ - id = "maint_bar_shutters"; - name = "Bar Shutters Control" - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"nKP" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/cryopod{ +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/turf/open/floor/iron/dark/side{ - dir = 6 +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_b) +"nKG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/tank, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"nKR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "nKU" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/line, @@ -41137,15 +40399,34 @@ dir = 9 }, /area/station/hallway/secondary/service) -"nLC" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"nLq" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 }, +/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/lobby) +/area/station/medical/exam_room) +"nLA" = ( +/obj/effect/turf_decal/box, +/obj/structure/closet/crate, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/security/prison/work) "nLE" = ( /turf/open/space, /area/space) +"nLG" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "nLK" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -41153,6 +40434,29 @@ /obj/structure/particle_accelerator/particle_emitter/left, /turf/open/floor/plating/airless, /area/space/nearstation) +"nLL" = ( +/obj/machinery/light/directional/south, +/obj/machinery/status_display/evac/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"nLQ" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"nLR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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) "nMm" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -41163,31 +40467,37 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"nMn" = ( -/turf/closed/wall, -/area/station/medical/cryo) -"nMo" = ( -/obj/effect/turf_decal/box, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/break_room) -"nMp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "nMq" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"nMy" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Pathology Pen" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/turf/open/floor/iron/white/textured, +/area/station/medical/virology) "nMG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"nMU" = ( +/obj/effect/turf_decal/trimline/brown/filled/warning{ + dir = 9 + }, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/cargo/office) "nMW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41195,25 +40505,44 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) -"nNt" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "med_priv_2"; - name = "Privacy Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/patients_rooms/room_b) -"nNu" = ( -/obj/structure/disposalpipe/junction{ +"nNc" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + name = "Bar" + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"nNd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/biogenerator, +/obj/machinery/door/window/right/directional/south{ + name = "Public Biogenerator"; + req_access = list("hydroponics") + }, +/obj/machinery/door/window/right/directional/north{ + name = "Public Biogenerator" + }, +/obj/machinery/door/poddoor/shutters{ + id = "hydroponics_shutters"; + name = "Hydroponics Shutters"; + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/hydroponics) +"nNe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "nNH" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/table, @@ -41227,20 +40556,6 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nNM" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/machinery/airalarm/directional/east, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/cargo/storage) "nNO" = ( /obj/machinery/light/small/directional/west, /obj/machinery/button/door/directional/west{ @@ -41255,13 +40570,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"nNQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/item/stack/sheet/mineral/coal/five, -/turf/open/floor/wood, -/area/station/smithing) "nNV" = ( /obj/structure/sign/xenobio_guide/directional/north, /obj/structure/table/reinforced/plasmarglass, @@ -41277,78 +40585,45 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"nOj" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Cargo - Mining Office"; - name = "cargo camera" - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/table, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/miningoffice) +"nOi" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/food_or_drink/snack, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) "nOp" = ( /obj/machinery/duct, /turf/open/floor/wood/parquet, /area/station/security/prison/safe) -"nOu" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"nOv" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/white, -/area/station/medical/virology) "nOw" = ( /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/cargo/warehouse) +"nOx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"nOH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"nOJ" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/red, +/area/station/security/courtroom) "nOK" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/commons/locker) -"nOM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"nOO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"nOZ" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/medbay/central) -"nPf" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) "nPl" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41356,48 +40631,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"nPt" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"nPx" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/structure/bedsheetbin, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) "nPz" = ( /obj/structure/flora/bush/large/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"nPC" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/loading_area/white{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "hop_queue"; - name = "HoP Queue Shutters" +"nPN" = ( +/obj/structure/bed{ + dir = 4 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) -"nPI" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/glass/reinforced, -/area/station/commons/fitness/recreation) -"nPL" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Psychology Office"; - name = "Psychology Office Fax Machine" +/obj/effect/spawner/random/bedsheet{ + dir = 4 }, +/obj/effect/landmark/start/psychologist, /turf/open/floor/wood, /area/station/medical/psychology) "nPR" = ( @@ -41406,12 +40651,37 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"nQh" = ( -/obj/structure/chair/sofa/bench/solo{ - dir = 4 +"nPT" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/security/courtroom) +"nQa" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning, +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 1 + }, +/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, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"nQf" = ( +/obj/effect/turf_decal/trimline/dark_red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "nQm" = ( /obj/effect/turf_decal/trimline/green/filled/warning, /obj/effect/turf_decal/trimline/green/warning{ @@ -41419,38 +40689,56 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"nQn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"nQr" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/filingcabinet, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "nQw" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"nQC" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks{ - dir = 1 - }, +/obj/effect/landmark/start/gary, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"nQD" = ( -/obj/effect/turf_decal/siding/wood/corner{ +"nQA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) -"nQN" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/computer/records/medical{ +/obj/machinery/light/directional/north, +/obj/machinery/station_map/engineering/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) +"nQF" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/power/shieldwallgen, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) +"nQG" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, /turf/open/floor/iron/white, -/area/station/medical/office) +/area/station/medical/chemistry) +"nQK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "cargo_desk"; + name = "Cargo Desk Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/office) +"nQO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "nRj" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/cable, @@ -41463,6 +40751,12 @@ /obj/item/multitool, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) +"nRl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/chapel) "nRm" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -41472,27 +40766,40 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"nRo" = ( -/obj/effect/turf_decal/stripes/line{ +"nRv" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/reagent_dispensers/plumbed{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/dark/side{ dir = 8 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/textured, -/area/station/engineering/main) -"nRD" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/space_heater, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"nRV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/area/station/security/prison) +"nRS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) +"nRZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/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) +"nSe" = ( +/obj/effect/turf_decal/trimline/brown/line{ dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "nSh" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -41519,19 +40826,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"nSU" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/tank_dispenser, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"nTa" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/checker{ - dir = 1 - }, -/area/station/command/heads_quarters/cmo) "nTn" = ( /obj/structure/lattice, /obj/item/clothing/mask/animal/horsehead/cursed{ @@ -41540,36 +40834,31 @@ }, /turf/open/space/basic, /area/space/nearstation) -"nTp" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/brigdoor/right/directional/west{ - name = "Tertiary AI Core"; - req_access = list("ai_upload") - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "secondary_ai_core_shutters"; - name = "Secondary AI Core Shutters" - }, -/turf/open/floor/engine, -/area/station/ai_monitored/turret_protected/ai) -"nTS" = ( +"nTN" = ( +/obj/structure/disposalpipe/segment, /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/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"nUh" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/computer/records/security{ +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/virology) +"nTQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible{ dir = 1 }, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/area/station/engineering/atmos/pumproom) +"nTV" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 5 + }, +/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, +/obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, +/turf/open/floor/iron/white, +/area/station/science/explab) "nUi" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -41591,21 +40880,20 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"nUH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"nUA" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "nUK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/structure/chair_flipped{ +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/machinery/vending/wardrobe/chem_wardrobe, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "nUQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41615,19 +40903,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"nUU" = ( +/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/vaporwave, +/area/station/service/library/printer) "nUZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"nVc" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/librarian, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) "nVk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41649,53 +40936,38 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white, /area/station/science/research) -"nVu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/iron/checker, -/area/station/maintenance/port/fore) "nVy" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"nVz" = ( -/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 = 6 +"nVE" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/obj/structure/chair/office{ +/obj/effect/turf_decal/trimline/blue/line{ dir = 8 }, -/obj/effect/landmark/start/scientist, +/obj/structure/sign/departments/psychology/directional/east, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, -/area/station/science/explab) -"nVA" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/area/station/medical/medbay/aft) +"nVP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset{ + anchored = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"nWa" = ( +/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/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "robotics_garage"; - name = "Robotics Garage Shutters" +/obj/effect/turf_decal/bot_white{ + color = "#1d5cdf" }, -/turf/open/floor/iron/dark/textured, -/area/station/science/robotics/mechbay) -"nVC" = ( -/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/command/heads_quarters/ce) -"nWh" = ( -/obj/machinery/duct, -/obj/structure/table/reinforced, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) +/obj/structure/closet/crate/secure/gear/blueshirt, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "nWp" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -41717,6 +40989,23 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"nWq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/pink/hidden{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "engi_pass_shutters"; + name = "Engineering Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/engineering/break_room) "nWt" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/line{ @@ -41738,6 +41027,27 @@ dir = 4 }, /area/station/cargo/miningoffice) +"nWE" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/table/wood, +/obj/item/book/manual/wiki/detective{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/glass/bottle/whiskey{ + pixel_y = 7; + pixel_x = 5 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = -6 + }, +/obj/item/lighter{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/clothing/glasses/hud/security/sunglasses, +/turf/open/floor/wood, +/area/station/security/detectives_office) "nWH" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -41749,11 +41059,13 @@ /obj/machinery/door/poddoor/massdriver_ordnance, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"nWS" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) +"nWN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "nWT" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 @@ -41761,62 +41073,43 @@ /obj/machinery/rnd/destructive_analyzer, /turf/open/floor/iron/white, /area/station/science/lab) -"nXt" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/box, -/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, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/teleporter) -"nXA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"nXD" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/departments/exam_room/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"nXF" = ( -/obj/effect/turf_decal/stripes/line{ +"nWW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "medbay_desk_shutters"; + name = "Medbay Front Desk Shutters"; dir = 4 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/plating, +/area/station/medical/office) +"nXc" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, -/obj/structure/disposalpipe/segment{ +/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, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Meeting Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/turf/open/floor/iron/dark/textured, -/area/station/command/meeting_room) -"nXP" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/computer/security{ - dir = 4 +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"nXf" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/griddle, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"nXn" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/spawner/random/contraband/prison, +/obj/effect/spawner/random/trash/garbage, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/iron/dark/side{ + dir = 6 }, -/turf/open/floor/iron/dark, -/area/station/security/warden) +/area/station/security/prison) +"nXv" = ( +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/prison/garden) "nXR" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/effect/turf_decal/box/red, @@ -41833,14 +41126,23 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"nYb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"nYc" = ( +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark, -/area/station/commons/fitness/recreation) +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/effect/turf_decal/box, +/obj/structure/closet/crate, +/obj/effect/spawner/random/contraband/prison, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/security/prison/work) "nYd" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -41850,36 +41152,18 @@ dir = 1 }, /area/station/cargo/miningoffice) -"nYe" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/obj/machinery/vending/games, -/turf/open/floor/wood, -/area/station/service/library/lounge) "nYl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, /area/station/science/xenobiology) -"nYx" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"nYN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) -"nYO" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "nYQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -41900,24 +41184,12 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/mining, /turf/open/floor/iron/dark/textured, /area/station/cargo/miningoffice) -"nZa" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Bar, Backroom"; - name = "service camera" - }, -/turf/open/floor/wood, -/area/station/service/bar/backroom) "nZd" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/catwalk_floor, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nZg" = ( -/obj/structure/cable/layer1, -/turf/open/floor/iron, -/area/station/engineering/main) "nZj" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -41947,26 +41219,43 @@ /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, /area/station/maintenance/department/security/brig) -"nZt" = ( -/obj/effect/turf_decal/box, +"nZs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/surgery) -"nZy" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/item/stack/cable_coil, -/turf/open/space/basic, -/area/station/solars/starboard/aft) +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/medical/cryo) +"nZx" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron, +/area/station/engineering/break_room) "nZD" = ( /obj/machinery/airalarm/directional/south, /obj/structure/chair/stool/directional/west, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"nZJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + name = "Stall 3" + }, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) "nZL" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/fore) @@ -41978,21 +41267,26 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"nZW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) +"nZU" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/table, +/obj/item/toner/extreme, +/obj/item/toner/extreme, +/obj/item/toner/extreme, +/obj/item/toner/large{ + pixel_y = 9 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/storage_shared) "nZX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"oaa" = ( -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) "oak" = ( /obj/machinery/corral_corner{ mapping_id = "6" @@ -42016,19 +41310,17 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"oax" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/plaque/static_plaque/atmos{ - pixel_x = -32 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/atmos/office) +"oaw" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/shaker, +/obj/item/reagent_containers/dropper, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"oaA" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "oaC" = ( /obj/effect/turf_decal/tile/orange/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42038,6 +41330,13 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"oaH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "oaJ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -42050,6 +41349,11 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"oaL" = ( +/obj/structure/table, +/obj/item/clothing/glasses/blindfold, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "oaN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -42063,44 +41367,16 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"oaQ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/structure/table/reinforced/rglass, -/obj/machinery/light/directional/east, -/obj/item/wrench, -/obj/item/clothing/gloves/latex, -/obj/item/storage/box/masks{ - pixel_y = 8; - pixel_x = -5 - }, -/obj/item/storage/box/disks{ - pixel_y = 4; - pixel_x = -5 - }, -/obj/item/storage/box/beakers{ - pixel_x = -5 - }, -/obj/item/storage/box/gloves{ - pixel_x = 5; - pixel_y = 8 - }, -/obj/item/storage/box/bodybags{ - pixel_y = 4; - pixel_x = 5 +"obb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/item/storage/box/disks{ - pixel_x = 5 +/obj/structure/bed/dogbed{ + name = "Tom's Bed" }, -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"oaX" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/mob/living/basic/mouse/brown/tom, +/turf/open/floor/iron/dark, +/area/station/security/prison/work) "obc" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 4 @@ -42111,82 +41387,127 @@ /obj/effect/mapping_helpers/mail_sorting/service/library, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"obm" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ +"obe" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/rack, +/obj/item/aicard, +/obj/item/ai_module/reset, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"obq" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 4 + }, +/obj/structure/chair{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, -/area/station/medical/chemistry) -"obt" = ( -/obj/machinery/power/apc/auto_name/directional/south, +/area/station/medical/medbay/central) +"obr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "teleporter_shutters"; + name = "Teleporter Room Shutters"; + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/teleporter) +"obG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"obZ" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/cargo/storage) +"oca" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) -"obE" = ( -/obj/item/kirbyplants/random, /turf/open/floor/wood, -/area/station/service/library/private) -"ocd" = ( -/turf/closed/wall, -/area/station/medical/morgue) +/area/station/command/heads_quarters/hop) "och" = ( /obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/bot, /obj/structure/closet/crate/coffin, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) -"ocy" = ( +"ocM" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/altar_of_gods, -/obj/item/book/bible, -/turf/open/floor/carpet, -/area/station/service/chapel) -"ocC" = ( -/obj/item/radio/intercom/prison/directional/south, /turf/open/floor/iron/dark, -/area/station/security/prison/mess) -"ocD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "kitchen_sec_shutters"; - name = "Kitchen Shutters"; - dir = 1 - }, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 10 +/area/station/security/warden) +"ocV" = ( +/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 = 9 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/kitchen) -"ocN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"ocX" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"ocP" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/structure/table, +/obj/item/cultivator, +/obj/item/hatchet, +/obj/item/crowbar/red, +/obj/item/plant_analyzer, +/obj/item/reagent_containers/cup/watering_can, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/obj/machinery/disposal/bin, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +/area/station/service/hydroponics/garden) "odm" = ( /obj/structure/closet/wardrobe/black, /turf/open/floor/iron/dark/side{ dir = 10 }, /area/station/commons/dorms) +"odt" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"odz" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/door/window/left/directional/south, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) "odC" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -42200,6 +41521,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"odM" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/directional/west, +/obj/machinery/flasher/directional/west{ + id = "AI" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "odN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, @@ -42210,6 +41539,51 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"oeh" = ( +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"oei" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/structure/cable, +/obj/structure/liquid_barrier, +/obj/machinery/door/airlock/research/glass{ + name = "Kill Chamber"; + normalspeed = 0 + }, +/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/turf/open/floor/iron/white/textured, +/area/station/science/xenobiology) +"oej" = ( +/turf/open/floor/wood, +/area/station/commons/dorms/room5) +"oek" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/entertainment/coin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"oeB" = ( +/obj/machinery/button/door/directional/south{ + id = "bsq_to_cq"; + name = "Quarters Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/dresser, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) "oeC" = ( /obj/structure/table, /obj/item/flashlight/lamp, @@ -42221,6 +41595,18 @@ }, /turf/open/floor/carpet/neon/simple/pink, /area/station/science/xenobiology) +"oeN" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/security/prison) +"oeS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "oeU" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -42233,67 +41619,99 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"oeY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"ofc" = ( +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "off" = ( /obj/structure/mirror/directional/west, /obj/structure/sink/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) "ofh" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/camera/directional/east{ + c_tag = "Medical - Lobby"; + network = list("ss13","medbay"); + name = "medical camera" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/chair/sofa/corp/right{ + dir = 8 }, -/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, -/turf/open/floor/iron/white/textured, -/area/station/science/research) -"ofJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"ofs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) +"oft" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/checker{ 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/dark/side, -/area/station/hallway/primary/aft) -"oga" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/area/station/command/heads_quarters/cmo) +"ofD" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, -/area/station/service/chapel/office) -"ogd" = ( +/area/station/security/courtroom) +"ofP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "kitchen_sec_shutters"; + name = "Kitchen Shutters"; dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/machinery/door/window/right/directional/north, /turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) -"ogg" = ( -/obj/structure/cable, -/obj/structure/sign/warning/vacuum/external/directional/north, +/area/station/service/kitchen) +"ofT" = ( +/obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) +/area/station/maintenance/starboard/fore) +"ofV" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/west{ + name = "Apothecary Desk"; + req_access = list("pharmacy") + }, +/obj/machinery/door/window/right/directional/east{ + name = "Apothecary Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "apothecary_pri_desk_shutters"; + name = "Apothecary Primary Desk Shutters"; + dir = 4 + }, +/obj/structure/desk_bell{ + pixel_x = 6 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) "ogk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/department/science) -"ogl" = ( -/mob/living/basic/slime, -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/engine, -/area/station/science/xenobiology) "ogz" = ( /obj/structure/table/reinforced, /obj/item/food/grown/tomato, @@ -42307,65 +41725,16 @@ }, /turf/open/floor/iron/kitchen, /area/station/security/prison/mess) -"ogH" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) -"ogK" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"ogR" = ( -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/machinery/requests_console/directional/west{ - department = "Hydroponics"; - name = "Hydroponics Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/closet/crate/hydroponics, -/obj/item/wirecutters, -/obj/item/wrench, -/obj/item/shovel/spade, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/service/hydroponics) "ogX" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ +/obj/structure/cable, +/obj/machinery/computer/crew{ dir = 8 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "ogY" = ( /turf/closed/wall, /area/station/cargo/sorting) -"ogZ" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"ohf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port) "ohg" = ( /obj/effect/turf_decal/box, /obj/machinery/ai_slipper{ @@ -42394,14 +41763,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"ohm" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/table/reinforced/rglass, -/obj/machinery/computer/records/medical/laptop, -/turf/open/floor/iron/checker{ - dir = 1 - }, -/area/station/command/heads_quarters/cmo) "ohw" = ( /obj/effect/turf_decal/trimline/purple/warning, /obj/effect/turf_decal/trimline/purple/filled/warning{ @@ -42428,6 +41789,24 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port) +"ohH" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/structure/closet/secure_closet/personal/patient, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) +"ohS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "ohV" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -42438,18 +41817,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"oij" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"oim" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "oiB" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -42464,13 +41831,17 @@ dir = 8 }, /area/station/cargo/storage) -"oiO" = ( -/obj/effect/turf_decal/siding/wood{ +"oiF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/locker) +/obj/machinery/computer/apc_control{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/command/heads_quarters/ce) "oiV" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -42486,21 +41857,23 @@ /turf/open/floor/iron/dark, /area/station/security/brig) "oiW" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"oiZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/table/reinforced/rglass, -/obj/item/emergency_bed{ - pixel_y = 14 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal) +"oji" = ( +/obj/structure/chair/comfy/black{ + dir = 1 }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"ojr" = ( -/obj/machinery/light/directional/east, -/obj/machinery/electroplater, +/obj/effect/landmark/start/captain, /turf/open/floor/wood, -/area/station/smithing) +/area/station/command/meeting_room) "oju" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -42517,10 +41890,26 @@ /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) "ojw" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/seeds/tree, +/obj/effect/spawner/random/contraband/prison, +/obj/item/seeds/pumpkin, +/obj/item/seeds/wheat, +/obj/item/seeds/ambrosia, +/obj/item/seeds/grass, +/obj/item/seeds/carrot, +/obj/item/seeds/tomato, +/obj/item/seeds/potato, +/obj/item/seeds/garlic, +/obj/item/seeds/onion, +/obj/item/paper/guides/jobs/hydroponics, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) +"ojD" = ( /obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/item/toy/figure/qm, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "ojO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42530,20 +41919,12 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"ojQ" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 +"ojP" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 10 }, -/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/mail_sorting/science/experimentor_lab, -/obj/effect/mapping_helpers/mail_sorting/science/genetics, -/obj/effect/mapping_helpers/mail_sorting/science/rd_office, -/obj/effect/mapping_helpers/mail_sorting/science/research, -/obj/effect/mapping_helpers/mail_sorting/science/robotics, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +/area/station/security/prison/safe) "ojV" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -42567,9 +41948,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"okq" = ( -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +"oks" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/table/reinforced/rglass, +/obj/item/emergency_bed{ + pixel_y = 7 + }, +/obj/item/emergency_bed{ + pixel_y = 14 + }, +/obj/item/emergency_bed{ + pixel_y = 21 + }, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "okt" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, @@ -42580,53 +41972,45 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"okM" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) -"okN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/button/door/directional/west{ - id = "engi_break_room_shutters"; - name = "Engineering Shutters Control"; - req_access = list("engineering") - }, -/obj/structure/filingcabinet/security, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/break_room) -"olc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) +"okB" = ( +/obj/machinery/light/directional/east, +/obj/structure/sign/poster/official/state_laws/directional/east, +/obj/machinery/recharge_station, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) +"okU" = ( +/turf/open/floor/carpet/blue, +/area/station/command/heads_quarters/cmo) "olp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"olq" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"olE" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"olG" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/trimline/blue/line{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Prison Showers" }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/shower) "olQ" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -42636,37 +42020,10 @@ /obj/effect/landmark/start/cook, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"olT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"oma" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"omu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, +"oml" = ( +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, -/area/station/maintenance/port/aft) +/area/station/maintenance/department/science/xenobiology) "omw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -42677,11 +42034,14 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"omC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"omx" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/modular_computer/preset/engineering{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "omI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42695,22 +42055,29 @@ /obj/structure/sign/warning/explosives/alt/directional/north, /turf/open/floor/iron/white, /area/station/science/research) -"omZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"omM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/slippery, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"omO" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "onk" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"onn" = ( +/obj/machinery/vending/wardrobe/chap_wardrobe, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "onq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42718,6 +42085,12 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port) +"onv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/wood, +/obj/item/storage/photo_album/prison, +/turf/open/floor/wood, +/area/station/security/prison/rec) "ony" = ( /obj/docking_port/stationary{ dir = 2; @@ -42729,27 +42102,62 @@ }, /turf/open/space/basic, /area/space) -"onF" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/structure/chair/sofa/bench{ - dir = 1 +"onE" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/chair/wood{ + dir = 4 }, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"onG" = ( +/area/station/service/chapel) +"onF" = ( /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, -/area/station/medical/paramedic) +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/hallway/primary/aft) "onH" = ( /obj/machinery/light/small/directional/west, /obj/structure/sign/warning/rad_shelter/directional/west, /turf/open/floor/iron/dark, /area/station/security/prison) +"onM" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo - Delivery Office, East"; + name = "cargo camera" + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/cargo/sorting) +"onR" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 5 + }, +/obj/item/folder/white{ + pixel_y = 7 + }, +/obj/item/pen{ + pixel_y = 7 + }, +/obj/item/stamp/head/rd{ + pixel_y = 10 + }, +/obj/item/toy/figure/rd{ + pixel_x = -13 + }, +/turf/open/floor/carpet/purple, +/area/station/command/heads_quarters/rd) "onZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -42764,75 +42172,78 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"oof" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/small/directional/south, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"oop" = ( -/obj/effect/turf_decal/box/corners, -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"oox" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"ooJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Hallway - Central, South"; - name = "hallway camera" +"oob" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/machinery/computer/turbine_computer{ + dir = 1; + mapping_id = "main_turbine" }, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"ooM" = ( -/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/stripes/line{ +/area/station/maintenance/disposal/incinerator) +"ooc" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/chair/wood{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"ool" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"oop" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"ooN" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"oor" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/chair, +/turf/open/floor/iron/checker{ dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +/area/station/command/heads_quarters/cmo) +"ooN" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/stool/directional/north, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) +"ooO" = ( +/obj/machinery/duct, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "ooP" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/prison/workout) -"ooS" = ( -/obj/structure/window/reinforced/tinted, -/obj/structure/toilet{ - dir = 4 +"ooZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/turf/open/floor/plastic, -/area/station/security/prison/safe) +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) "opa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"opp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "opr" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -42849,23 +42260,52 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness/recreation) -"opA" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 +"opt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "bar_sec_shutters"; + name = "Bar Shutters"; + dir = 4 + }, +/obj/structure/displaycase/forsale/kitchen, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) +"opv" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"opE" = ( -/obj/machinery/button/door/directional/east{ - id = "custodial_shutters"; - name = "Custodial Shutters Control"; - req_access = list("janitor") +/area/station/medical/pharmacy) +"opw" = ( +/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/side{ + dir = 4 }, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/janitor) +/area/station/engineering/atmos/office) +"opI" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "opK" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42874,18 +42314,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"opO" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"opR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) "opU" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -42901,50 +42329,20 @@ /obj/effect/landmark/navigate_destination/bar, /turf/open/floor/iron/dark/textured, /area/station/service/bar) -"oqf" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "oqp" = ( /obj/docking_port/stationary/escape_pod{ dir = 8 }, /turf/open/space/basic, /area/space) -"oqA" = ( -/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/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Break Room" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/break_room) -"oqC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - id_tag = "dorm_3"; - name = "Dorm 3" +"oqF" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Hallway - Central, Park, East"; + name = "hallway camera" }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms/room3) +/obj/machinery/light/small/directional/west, +/turf/open/floor/grass, +/area/station/hallway/primary/central) "oqK" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine/atmos) @@ -42954,33 +42352,52 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"ora" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +"oqX" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Security - Prison, Workshop"; + network = list("ss13","prison"); + name = "security camera" + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/security/prison/work) "orb" = ( /turf/closed/wall, /area/station/hallway/primary/fore) -"ort" = ( -/obj/effect/turf_decal/tile/neutral/half, -/obj/effect/turf_decal/tile/neutral/half{ - dir = 1 - }, -/obj/machinery/door/window/brigdoor/left/directional/south{ - name = "Gateway Chamber"; - req_one_access = list("gateway","mining","cargo","medical") +"orm" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) +"orw" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, +/obj/structure/table/reinforced/plasmarglass, +/obj/item/wirecutters, +/obj/item/screwdriver{ + pixel_y = 8 }, -/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/science/xenobiology) +"orx" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, -/turf/open/floor/iron/dark/smooth_half, -/area/station/command/gateway) -"oru" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/door/poddoor/shutters{ + id = "heads_meeting"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/command/meeting_room) +"ory" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/turf/open/floor/wood, -/area/station/service/library) +/turf/open/floor/iron, +/area/station/engineering/break_room) "orz" = ( /obj/effect/turf_decal/trimline/dark_red/corner{ dir = 4 @@ -42993,28 +42410,87 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"orE" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"orM" = ( -/obj/structure/table, -/obj/effect/spawner/random/engineering/toolbox, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"osP" = ( -/obj/machinery/computer/cryopod/directional/north, +"osa" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/machinery/newscaster/directional/north, +/obj/structure/table/wood, +/obj/item/toy/figure/hos{ + pixel_x = -9; + pixel_y = 7 + }, +/obj/item/storage/box/seccarts{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/deputy{ + pixel_x = 6 + }, +/obj/item/taperecorder{ + pixel_x = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"osi" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/dark_blue/filled/end, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Tech Storage, Secure"; + name = "engineering camera" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"osr" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/sorting) +"osF" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/atm/directional/west, /turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/cargo/lobby) +"osM" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/area/station/hallway/secondary/exit/departure_lounge) -"osY" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/dresser, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/south{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/machinery/door/window/left/directional/north{ + name = "Hydroponics Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "hydroponics_shutters"; + name = "Hydroponics Shutters"; + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/hydroponics) +"osX" = ( +/obj/structure/sign/poster/random/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"oth" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/detectives_office) "otx" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/table/glass, @@ -43044,16 +42520,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"otK" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "otQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -43069,10 +42535,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"ouj" = ( -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/station/medical/psychology) "ouk" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -43085,18 +42547,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"oun" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/tinted, +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/safe) "our" = ( /obj/structure/lattice, /obj/structure/sign/warning/docking/directional/south, /turf/open/space/basic, /area/space/nearstation) -"oux" = ( -/obj/structure/closet, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/capacitor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "ouL" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43107,95 +42570,43 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"ouP" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ +"ouQ" = ( +/obj/machinery/light/directional/west, +/obj/structure/bed/double{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"ouX" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/obj/item/bedsheet/dorms_double{ dir = 1 }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"ouS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /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/maintenance{ - name = "EVA Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/eva, /turf/open/floor/plating, -/area/station/ai_monitored/command/storage/eva) +/area/station/maintenance/port/aft) +"ouZ" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "ovc" = ( /obj/structure/weightmachine/weightlifter, /turf/open/floor/iron/dark, /area/station/security/prison/workout) -"ovo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "medbay_desk_shutters"; - name = "Medbay Front Desk Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/office) -"ovs" = ( -/obj/structure/chair/comfy/black{ - dir = 1 - }, -/obj/effect/landmark/start/head_of_personnel, -/turf/open/floor/wood, -/area/station/command/meeting_room) "ovt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/chapel{ dir = 1 }, /area/station/service/chapel) -"ovv" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/flask/gold{ - pixel_x = 3; - pixel_y = 11 - }, -/obj/item/storage/box/matches{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/clothing/mask/cigarette/cigar{ - pixel_x = 4 - }, -/obj/item/razor{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"ovA" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"ovM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"ovO" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/aft) "ovS" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -43231,15 +42642,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"owt" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "owu" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -43249,40 +42651,16 @@ /obj/machinery/air_sensor/air_tank, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"owK" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"owN" = ( +"owR" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"owQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/science/research) -"owX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "oxa" = ( /turf/closed/wall/r_wall, /area/station/security/prison/work) @@ -43302,49 +42680,48 @@ /obj/item/assault_pod/mining, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) +"oxm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) "oxt" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"oxz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"oxE" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + 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/catwalk_floor, -/area/station/maintenance/department/science) +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/office) "oxO" = ( /obj/machinery/composters, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"oxS" = ( -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/cup/bucket, -/turf/open/floor/grass, -/area/station/hallway/primary/central) "oxX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"oya" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "oyi" = ( /turf/open/floor/engine, /area/station/engineering/engine_smes) -"oyk" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Command - Gateway"; - name = "command camera" - }, -/obj/structure/rack, -/obj/item/extinguisher, -/turf/open/floor/iron, -/area/station/command/gateway) "oym" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -43353,18 +42730,13 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) -"oyo" = ( -/obj/machinery/requests_console/directional/south{ - department = "Bar"; - name = "Bar Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/chem_master/condimaster{ - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; - name = "HoochMaster Deluxe" +"oyn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/service/bar) +/turf/open/floor/iron, +/area/station/maintenance/department/science) "oyp" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -43386,31 +42758,63 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/aisat/foyer) -"oyG" = ( +"oyq" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/line, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/table, +/obj/item/storage/briefcase/lawyer, +/turf/open/floor/iron/dark, +/area/station/security/brig) +"oyt" = ( +/obj/structure/cable, +/obj/machinery/power/floodlight, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"oyT" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/cup/glass/mug/coco{ + pixel_x = 8; + pixel_y = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) +"oyZ" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/tank, +/turf/open/floor/iron/dark/corner, +/area/station/maintenance/starboard/aft) +"ozh" = ( +/obj/effect/turf_decal/trimline/green/filled/warning, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/service/library) -"oyI" = ( -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ +/turf/open/floor/iron/white, +/area/station/medical/virology) +"ozI" = ( +/obj/effect/turf_decal/trimline/brown/filled/warning, +/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, +/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, +/turf/open/floor/iron/dark/side, +/area/station/cargo/office) +"ozP" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/airalarm/mixingchamber_access, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 9 - }, +/obj/structure/bed/dogbed/mcgriff, +/mob/living/basic/pet/dog/pug/mcgriff, /turf/open/floor/iron/dark, -/area/station/science/ordnance/burnchamber) -"oyS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"ozj" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/vending/wardrobe/bar_wardrobe, -/turf/open/floor/wood, -/area/station/service/bar/backroom) +/area/station/security/warden) "oAa" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -43430,6 +42834,24 @@ /obj/machinery/portable_atmospherics/scrubber/huge, /turf/open/floor/engine, /area/station/science/ordnance/storage) +"oAq" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/glass/reinforced, +/area/station/commons/fitness/recreation) +"oAw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/obj/structure/table/reinforced, +/obj/machinery/fax{ + fax_name = "Chief Engineer's Office"; + name = "Chief Engineer's Fax Machine" + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/command/heads_quarters/ce) "oAC" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -43437,6 +42859,16 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/dark, /area/station/science/robotics/mechbay) +"oAI" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "oAK" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -43449,16 +42881,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/starboard/fore) -"oAT" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/west, -/obj/structure/bed/pod{ - desc = "An old medical bed, just waiting for replacement with something up to date."; - name = "medical bed"; - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "oAW" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -43467,10 +42889,11 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"oAX" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) +"oBb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/medical/psychology) "oBh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -43495,49 +42918,30 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"oBr" = ( -/obj/machinery/button/door/directional/south{ - pixel_x = 6; - id = "robotics_garage"; - name = "Garage Shutters Control"; - req_access = list("robotics") - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = -5 - }, -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 8 - }, -/obj/item/storage/toolbox/electrical, -/obj/item/clothing/head/utility/welding, -/obj/item/clothing/glasses/welding, -/obj/item/multitool, -/obj/item/dest_tagger, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) -"oBD" = ( -/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 = 5 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "oBH" = ( /turf/closed/wall, /area/station/medical/pharmacy) +"oBO" = ( +/obj/machinery/atmospherics/components/tank{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "oCd" = ( /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/side, /area/station/commons/dorms) +"oCj" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/newscaster/directional/south, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron, +/area/station/medical/paramedic) "oCn" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -43545,32 +42949,60 @@ /obj/structure/closet/secure_closet/brig, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"oCA" = ( -/obj/effect/turf_decal/bot_red, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/large, -/area/station/ai_monitored/command/storage/eva) +"oCs" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/iron, +/area/station/medical/paramedic) +"oCz" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/obj/item/radio/intercom/directional/north, +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 6 + }, +/turf/open/floor/iron/white, +/area/station/science/lab) +"oCD" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole, +/turf/open/floor/wood, +/area/station/service/library) "oCE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/security/armory) -"oCG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet/red, -/area/station/security/courtroom) -"oCJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/reagent_forge, -/turf/open/floor/wood, -/area/station/smithing) -"oDg" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) +"oCH" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) +"oCR" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/medical/exam_room) +"oDd" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) "oDl" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -43587,12 +43019,67 @@ /obj/item/stock_parts/cell/upgraded, /turf/open/floor/iron, /area/station/maintenance/department/electrical) -"oDL" = ( -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron/dark/side{ +"oDs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/poddoor/preopen{ + id = "bridge_blast_doors"; + name = "Bridge Access Blast Door" + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) +"oDA" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/area/station/engineering/atmos/office) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/east{ + name = "Armory Desk"; + req_access = list("security") + }, +/obj/machinery/door/window/brigdoor/right/directional/west{ + name = "Armory Desk"; + req_access = list("armory") + }, +/obj/machinery/door/poddoor/shutters{ + id = "armory_desk"; + name = "Armory Desk Shutters"; + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) +"oDD" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/purple/line, +/obj/machinery/light/directional/north, +/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/chair/sofa/bench/left, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"oDE" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/secure_closet/chemical, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "oDQ" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/showroomfloor, @@ -43601,44 +43088,58 @@ /obj/machinery/atmospherics/pipe/smart/manifold/green/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"oDW" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/item/gun/grenadelauncher{ - pixel_y = 9 - }, -/obj/item/grenade/barrier{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/grenade/barrier{ - pixel_y = 3 - }, -/obj/item/grenade/barrier{ - pixel_x = 6; - pixel_y = 3 +"oEf" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, +/obj/machinery/newscaster/directional/west, +/obj/machinery/washing_machine, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) +"oEo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"oEc" = ( -/obj/structure/disposalpipe/segment{ +/area/station/command/bridge) +"oEr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) -"oEu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) +/obj/structure/fans/tiny, +/obj/machinery/door/poddoor/massdriver_chapel, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/chapel/funeral) +"oEx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/dark/smooth_large, +/area/station/tcommsat/computer) +"oED" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/plumbing/pill_press, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "oEK" = ( /obj/effect/turf_decal/bot, /obj/machinery/field/generator/anchored, /turf/open/floor/plating/airless, /area/space/nearstation) +"oEM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/wood, +/area/station/commons/locker) "oEN" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, @@ -43663,10 +43164,38 @@ /obj/effect/mapping_helpers/airlock/access/all/service/bar, /turf/open/floor/iron/dark/textured, /area/station/service/bar/backroom) -"oFj" = ( -/obj/machinery/airalarm/directional/east, +"oEX" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/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, -/area/station/command/bridge) +/area/station/command/teleporter) +"oFe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/white/textured, +/area/station/medical/storage) "oFm" = ( /obj/effect/turf_decal/trimline/green/line{ dir = 1 @@ -43684,6 +43213,13 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"oFq" = ( +/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, +/area/station/command/bridge) "oFy" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -43694,16 +43230,30 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"oFP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"oFO" = ( +/obj/machinery/vending/games, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/commons/fitness/recreation) +"oFQ" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Atmospherics Office"; + name = "engineering camera" + }, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port) +/area/station/engineering/atmos/office) +"oGb" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "oGe" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -43721,37 +43271,44 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron/textured, /area/station/science/ordnance/office) -"oGl" = ( -/obj/structure/lattice, -/obj/machinery/camera/directional/south{ - c_tag = "AI Sat - External, Northeast"; - network = list("minisat"); - start_active = 1 +"oGr" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"oGI" = ( +/obj/machinery/telecomms/server/presets/medical, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"oGJ" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"oGN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/dark/side, +/area/station/command/heads_quarters/ce) +"oGZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/space/basic, -/area/space/nearstation) -"oGL" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"oGT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/chair{ - dir = 1 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Office" }, -/turf/open/floor/iron, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/ce) -"oHa" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/security_assistant, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) "oHb" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -43762,10 +43319,23 @@ "oHl" = ( /turf/closed/wall, /area/station/commons/fitness/recreation) -"oHt" = ( -/obj/machinery/conveyor/inverted{ - dir = 6; - id = "garbage" +"oHr" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/structure/sign/departments/telecomms/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) +"oHt" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "garbage" }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) @@ -43781,65 +43351,29 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"oHP" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/firealarm/directional/west, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"oIb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/main) -"oIc" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/structure/filingcabinet, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) "oIf" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/newscaster/directional/south, /obj/machinery/component_printer, /turf/open/floor/iron/white, /area/station/science/circuits) -"oIs" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Command - Bridge, Hall, West"; - name = "command camera" - }, -/obj/structure/chair/sofa/bench/solo{ +"oIx" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"oIw" = ( -/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/filingcabinet, +/turf/open/floor/iron/white, +/area/station/science/lab) +"oIz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/power/smes/engineering, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "oIE" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -43847,26 +43381,12 @@ /obj/machinery/vending/dinnerware, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"oII" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering - Tech Storage"; - name = "engineering camera" - }, -/obj/machinery/light/small/directional/south, -/obj/structure/table, -/obj/item/grenade/chem_grenade/metalfoam{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/item/grenade/chem_grenade/metalfoam{ - pixel_x = -6 - }, -/obj/item/weldingtool/largetank{ - pixel_x = 11 +"oIF" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/engineering/transit_tube) "oIJ" = ( /obj/machinery/status_display/ai/directional/east, /obj/structure/table/reinforced, @@ -43894,15 +43414,19 @@ "oIP" = ( /turf/closed/wall/r_wall, /area/station/science/research) -"oJd" = ( -/obj/structure/table/reinforced, -/obj/item/paper/monitorkey, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) -"oJt" = ( -/obj/structure/girder, +"oJk" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, -/area/station/maintenance/department/science) +/area/station/maintenance/port/aft) +"oJv" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/east, +/obj/machinery/computer/diseasesplicer, +/turf/open/floor/iron/white, +/area/station/medical/virology) "oJB" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -43914,57 +43438,78 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) -"oJR" = ( -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"oJX" = ( -/obj/structure/bed/dogbed/ian, -/mob/living/basic/pet/dog/corgi/ian{ +"oJD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) -"oKb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/dark/smooth_corner{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/area/station/engineering/atmos) +"oJE" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/machinery/door/window/left/directional/south{ + name = "Miscellaneous Medical Supplies"; + req_access = list("medical") + }, +/obj/item/emergency_bed{ + pixel_y = 7; + pixel_x = -9 + }, +/obj/item/emergency_bed{ + pixel_y = 14; + pixel_x = -9 + }, +/obj/item/emergency_bed{ + pixel_y = 21; + pixel_x = -9 + }, +/obj/item/wheelchair{ + pixel_x = 9 + }, +/obj/item/wheelchair{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/wheelchair{ + pixel_x = 9; + pixel_y = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"oJJ" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"oJR" = ( +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"oJZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/liquid_barrier, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"oKm" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/requests_console/directional/south{ - department = "Service Hall"; - name = "Service Hall Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/computer/department_orders/service{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"oKd" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/turf/open/floor/iron/dark/side, -/area/station/hallway/secondary/service) -"oKo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/box, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"oKu" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 6 }, -/obj/machinery/status_display/ai/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/obj/item/radio/off{ + pixel_x = -5 + }, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/science) "oKw" = ( /obj/effect/turf_decal/arrows/white, /obj/effect/turf_decal/stripes/line{ @@ -43979,62 +43524,17 @@ /obj/effect/turf_decal/trimline/dark_blue/line, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"oKA" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/autoname/directional/west, -/obj/item/radio/intercom/prison/directional/west, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) -"oKD" = ( +"oKV" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Head of Personnel's Office" +/obj/machinery/door/poddoor/shutters{ + id = "station_away_gate"; + name = "Gateway Access Shutters" }, -/obj/effect/mapping_helpers/airlock/access/all/command/hop, -/obj/effect/landmark/navigate_destination, /turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/hop) -"oKE" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"oKM" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) -"oKQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"oKS" = ( -/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/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/command/gateway) "oLb" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/cable, @@ -44042,15 +43542,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload_foyer) -"oLd" = ( -/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 - }, +"oLe" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) +/area/station/maintenance/department/security/brig) "oLg" = ( /turf/closed/wall, /area/station/service/bar/backroom) @@ -44058,26 +43554,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage) -"oLk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - 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 +"oLm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Paramedic Office" +/obj/structure/bodycontainer/morgue{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/dark/textured, -/area/station/medical/paramedic) +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"oLo" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "oLq" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 @@ -44098,10 +43588,45 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) +"oLP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + id_tag = "dorm_6"; + name = "Dorm 6" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms/room6) "oLT" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"oLV" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"oLX" = ( +/obj/structure/disposalpipe/junction/yjunction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"oLY" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) "oMi" = ( /obj/structure/cable, /turf/open/floor/wood, @@ -44118,6 +43643,17 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) +"oMv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "oMx" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44130,12 +43666,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"oMB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "oMD" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -44162,14 +43692,6 @@ dir = 5 }, /area/station/service/hydroponics) -"oMK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/freezer, -/area/station/science/xenobiology) -"oNc" = ( -/obj/machinery/telecomms/server/presets/service, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) "oNk" = ( /turf/closed/wall/r_wall, /area/station/command/teleporter) @@ -44185,10 +43707,13 @@ /turf/open/floor/iron/dark/textured, /area/station/security/detectives_office) "oNu" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"oNv" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "oNx" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -44199,38 +43724,43 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/brig) -"oND" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/piratepad/civilian, -/obj/machinery/camera/directional/east{ - c_tag = "Cargo - Lobby"; - name = "cargo camera" - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/cargo/lobby) "oNF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/engineering/tool, +/obj/effect/spawner/random/engineering/tool{ + pixel_x = 6; + pixel_y = 6 }, -/area/station/engineering/break_room) +/obj/item/reagent_containers/syringe, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "oNL" = ( /turf/closed/wall, /area/station/commons/toilet/restrooms) -"oOl" = ( -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/west, +"oNZ" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/security/prison/work) +"oOm" = ( +/obj/effect/turf_decal/bot_red, +/obj/machinery/light/directional/east, +/obj/structure/sign/warning/electric_shock/directional/east, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/large, +/area/station/ai_monitored/command/storage/eva) +"oOx" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/east, /obj/structure/table/wood, -/obj/item/toy/figure/bartender, -/turf/open/floor/wood, -/area/station/service/bar/backroom) +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/station/security/detectives_office) "oOy" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 1 @@ -44245,6 +43775,24 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"oOG" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/small/directional/east, +/obj/item/storage/secure/safe/caps_spare/directional/east, +/obj/structure/table/reinforced, +/obj/item/disk/nuclear{ + pixel_x = -7 + }, +/obj/item/disk/nuclear/fake/obvious{ + name = "nuclear authentication disk"; + pixel_x = 7 + }, +/obj/item/pinpointer/nuke, +/obj/machinery/keycard_auth/directional/east{ + pixel_y = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "oOS" = ( /obj/structure/sign/warning/electric_shock/directional/south, /obj/machinery/light/small/directional/south, @@ -44252,11 +43800,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"oOX" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/fitness/recreation) "oPd" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/effect/turf_decal/bot, @@ -44266,6 +43809,15 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"oPi" = ( +/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, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) "oPl" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/corner{ dir = 8 @@ -44285,14 +43837,21 @@ dir = 8 }, /area/station/commons/fitness/recreation) -"oPv" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/white, -/area/station/science/research) "oPA" = ( /turf/open/floor/iron, /area/station/engineering/storage) +"oPB" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) +"oPF" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "oPJ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -44305,34 +43864,21 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"oPK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) -"oPP" = ( -/obj/structure/table/reinforced, -/obj/item/storage/bag/tray, -/obj/item/reagent_containers/cup/soup_pot{ - pixel_x = 4; - pixel_y = 8 +"oPW" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 }, -/obj/item/reagent_containers/cup/soup_pot{ - pixel_x = -4; - pixel_y = 2 +/obj/machinery/photocopier, +/turf/open/floor/iron/dark/side{ + dir = 5 }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"oQc" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +/area/station/cargo/office) +"oPY" = ( +/obj/machinery/computer/operating{ + dir = 8 }, -/obj/machinery/computer/bank_machine, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "oQl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44361,6 +43907,26 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/chapel, /area/station/service/chapel) +"oQH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Chief Medical Officer's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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, +/area/station/command/heads_quarters/cmo) "oQW" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -44382,15 +43948,6 @@ /obj/structure/filingcabinet, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"oRc" = ( -/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, -/area/station/engineering/break_room) "oRg" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -44418,11 +43975,36 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"oRC" = ( -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +"oRB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/south{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/machinery/door/window/right/directional/north{ + name = "Hydroponics Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "hydroponics_shutters"; + name = "Hydroponics Shutters"; + dir = 1 + }, +/obj/structure/desk_bell{ + pixel_x = 7; + pixel_y = 7 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/hydroponics) +"oRC" = ( +/obj/effect/turf_decal/trimline/dark_red/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) "oRG" = ( @@ -44438,6 +44020,44 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) +"oRJ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "cmo_desk_shutters"; + name = "Desk Shutters"; + dir = 1 + }, +/obj/structure/table, +/obj/item/folder/blue{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/folder/white, +/obj/item/folder/blue{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/iron/dark/side, +/area/station/command/heads_quarters/cmo) +"oRT" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/duct, +/turf/open/floor/carpet/orange, +/area/station/security/prison/safe) +"oRZ" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/loading_area/white{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "hop_queue"; + name = "HoP Queue Shutters" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "oSm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44446,39 +44066,38 @@ dir = 8 }, /area/station/commons/fitness) -"oSo" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "oSr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"oSM" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/yellow, -/obj/item/pen, -/turf/open/floor/iron/dark/side{ - dir = 1 +"oSx" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 }, -/area/station/cargo/sorting) +/obj/structure/chair, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "oTd" = ( /obj/structure/table/wood/fancy/black, /turf/open/floor/carpet, /area/station/service/chapel) -"oTD" = ( -/obj/structure/table, -/obj/item/assembly/igniter, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"oTx" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/execution) +"oTy" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "oTE" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 8 @@ -44513,20 +44132,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"oTN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "oTX" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -44536,32 +44141,38 @@ dir = 10 }, /area/station/service/hydroponics) -"oUr" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/vacuum/external/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"oUv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/airalarm/directional/south, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/t_scanner, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) -"oUD" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Medical - Pathology, Isolation, Cell 2"; - network = list("ss13","medbay"); - name = "medical camera" - }, -/obj/structure/table, -/turf/open/floor/iron/white, -/area/station/medical/virology) "oUG" = ( /turf/open/floor/iron, /area/station/cargo/warehouse) +"oUT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"oUU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/delivery_chute{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/window/left/directional/east{ + name = "Delivery Chute" + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal) "oUY" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/wood, @@ -44590,6 +44201,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution) +"oVs" = ( +/obj/machinery/composters, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) "oVv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -44599,48 +44214,58 @@ /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) "oVA" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/bot, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - location = "Engineering" - }, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/large, -/area/station/maintenance/department/engine) +/obj/structure/window/reinforced/spawner/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "oVC" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/security/prison/visit) -"oVH" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ +"oVD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/station/service/bar/backroom) +"oVI" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/closet/crate, -/obj/item/stack/ore/silver{ - amount = 2 +/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/item/stack/ore/iron, -/turf/open/floor/iron/dark/side{ - dir = 1 +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) +"oVV" = ( +/obj/machinery/button/door/directional/east{ + id = "cap_bathroom"; + name = "Bathroom Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_y = 6 }, -/area/station/cargo/miningoffice) -"oWd" = ( -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/light/small/directional/west, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/seven, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/obj/machinery/shower/directional/north, +/obj/structure/drain, +/obj/item/soap/deluxe, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/captain/private) "oWe" = ( /obj/structure/lattice, /obj/structure/sign/warning/docking/directional/north, /turf/open/space/basic, /area/space/nearstation) +"oWg" = ( +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "oWj" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -44654,12 +44279,21 @@ /turf/open/floor/iron/dark, /area/station/security/prison) "oWu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/machinery/door/morgue{ + name = "Private Study"; + dir = 4 }, -/turf/open/floor/carpet/blue, -/area/station/command/heads_quarters/cmo) +/turf/open/floor/iron/dark/textured, +/area/station/service/library/private) "oWC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44674,22 +44308,19 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"oWT" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) "oWV" = ( /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/engineering/gravity_generator) -"oXb" = ( -/obj/structure/cable, -/obj/machinery/light/directional/east, -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) +"oXf" = ( +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "oXi" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/table/glass, @@ -44707,43 +44338,71 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"oXt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + id_tag = "dorm_1"; + name = "Dorm 1" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms/room1) "oXy" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/duct, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/port) +"oXO" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/structure/chair/office/light{ dir = 4 }, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/virology) -"oXN" = ( -/obj/structure/cable, -/obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/obj/effect/landmark/start/chemist, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "oXS" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"oYi" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 +"oYd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/item/radio/intercom/directional/west, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured, +/area/station/engineering/main) +"oYf" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/duct, +/turf/open/floor/carpet/blue, +/area/station/security/prison/safe) +"oYj" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, /obj/structure/table/reinforced, -/obj/machinery/camera/directional/south{ - c_tag = "Science - Ordnance Launcher"; - name = "science camera"; - network = list("ss13","rd") - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) +/obj/item/folder/red, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "oYl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44764,42 +44423,16 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"oYs" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/requests_console/directional/south{ - department = "Cargo Bay"; - name = "Cargo Bay Requests Console" +"oYw" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Command - Bridge, Hall, East"; + name = "command camera" }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/disposalpipe/segment{ +/obj/structure/chair/sofa/bench/solo{ dir = 4 }, -/obj/machinery/autolathe, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) -"oYv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south{ - name = "Reception" - }, -/obj/machinery/door/window/right/directional/north{ - name = "RaD Desk"; - req_access = list("science") - }, -/obj/machinery/door/poddoor/shutters{ - id = "rad_shutters"; - name = "RaD Shutters" - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron/dark/textured, -/area/station/science/lab) +/turf/open/floor/iron/dark, +/area/station/command/bridge) "oYD" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -44807,29 +44440,61 @@ /obj/machinery/rnd/production/circuit_imprinter/department/science, /turf/open/floor/iron/white, /area/station/science/lab) -"oYJ" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/keycard_auth/directional/east, -/obj/structure/closet/secure_closet/tac{ - req_access = list("captain") +"oYF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"oYK" = ( +/obj/machinery/light/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "oYQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron/dark/side{ dir = 4 }, -/obj/machinery/requests_console/directional/east{ - department = "Engineering"; - name = "Engineering Requests Console" +/area/station/engineering/atmos/office) +"oYR" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/item/gun/grenadelauncher{ + pixel_y = 9 }, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/item/grenade/barrier{ + pixel_x = -6; + pixel_y = 3 }, +/obj/item/grenade/barrier{ + pixel_y = 3 + }, +/obj/item/grenade/barrier{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) +"oYV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, /turf/open/floor/iron, -/area/station/engineering/main) +/area/station/maintenance/department/electrical) +"oYX" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "oZb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -44853,40 +44518,39 @@ /obj/machinery/light/no_nightlight/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"oZh" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/extinguisher_cabinet/directional/south, +"oZi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"oZn" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/machinery/power/apc/auto_name/directional/south, +/area/station/security/prison/garden) +"oZm" = ( /obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_5k, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/empty, -/obj/item/toy/figure/engineer{ - pixel_y = 11; - pixel_x = 11 - }, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/engineering/break_room) +/obj/item/wrench, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "oZv" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"oZy" = ( -/obj/machinery/stasis, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) +"oZE" = ( +/obj/machinery/button/door/directional/north{ + id = "dorm_5"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5; + pixel_y = 34 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) "oZQ" = ( /obj/effect/turf_decal/trimline/neutral/corner{ dir = 4 @@ -44897,53 +44561,28 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"oZV" = ( -/obj/structure/chair/sofa/corp/left{ - dir = 4 +"pak" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "O2 to Pure" }, -/turf/open/floor/carpet/blue, -/area/station/ai_monitored/turret_protected/ai_upload) +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 8; + name = "O2 to Turbine" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "pam" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"pan" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/closet/radiation, -/obj/item/crowbar/large, -/turf/open/floor/iron, -/area/station/engineering/storage) -"pap" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "pas" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"paw" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/rack, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/security/prison/safe) -"paH" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/station/command/heads_quarters/ce) "paO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -44952,23 +44591,17 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"pbc" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ +"pbg" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"pbf" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Medical - Pathology Pen"; - network = list("ss13","medbay"); - name = "medical camera" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/grass, -/area/station/medical/virology) +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"pbl" = ( +/obj/structure/window/spawner/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/engineering/break_room) "pbv" = ( /obj/structure/chair/stool/directional/east, /obj/effect/landmark/start/assistant, @@ -44981,36 +44614,11 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/security/medical) -"pbN" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) -"pbT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/structure/window/spawner/directional/south, -/obj/machinery/computer/atmos_control/nocontrol/master{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) -"pch" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Medical - Pharmacy"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/component_printer, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +"pcf" = ( +/obj/structure/sign/poster/random/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "pcp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -45025,16 +44633,19 @@ /turf/open/floor/iron/dark/textured, /area/station/service/chapel/funeral) "pcw" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"pcF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/item/flashlight/flare, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"pcL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering - Break Room"; + name = "engineering camera" + }, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) "pcU" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -45047,16 +44658,26 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"pcZ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/rack, +/obj/effect/spawner/random/engineering/toolbox, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "pdc" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/lab) -"pde" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +"pdp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) +/obj/effect/turf_decal/stripes/line, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/obj/item/weldingtool/mini/empty, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "pdr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -45075,6 +44696,42 @@ "pdN" = ( /turf/open/floor/iron, /area/station/command/gateway) +"pdU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + id_tag = "dorm_5"; + name = "Dorm 5" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms/room5) +"pdV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/structure/rack, +/obj/item/stack/sheet/iron/twenty, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/engineering/break_room) +"pea" = ( +/obj/machinery/plumbing/ooze_sucker{ + mapping_id = "6" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "peg" = ( /obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -45107,21 +44764,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/textured, /area/station/science/xenobiology) -"peO" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/station/service/bar) -"peS" = ( -/obj/structure/weightmachine/stacklifter, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/commons/fitness/recreation) "pff" = ( /obj/machinery/seed_extractor, /turf/open/floor/iron/dark, @@ -45129,48 +44771,44 @@ "pfo" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"pfy" = ( -/obj/structure/closet/firecloset/wall/directional/west, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +"pfA" = ( +/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/chemistry) "pfJ" = ( /obj/machinery/door/firedoor/border_only, /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/light/small/directional/west, /turf/open/floor/grass, /area/station/service/hydroponics) -"pfS" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/wood/fancy, -/obj/effect/spawner/random/decoration/statue{ - spawn_loot_chance = 35 +"pfO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/wood, +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) +"pfZ" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/effect/landmark/start/gary/rare, +/turf/open/floor/wood, +/area/station/service/library/private) +"pgd" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/storage) "pgh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"pgj" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/camera/directional/west{ - c_tag = "Science - Genetics"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/box/monkeycubes, -/turf/open/floor/iron/white, -/area/station/science/genetics) "pgm" = ( /obj/machinery/air_sensor/nitrous_tank, /turf/open/floor/engine/n2o, @@ -45181,12 +44819,6 @@ }, /turf/open/space/basic, /area/space) -"pgv" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/newscaster/directional/east, -/obj/machinery/vending/wardrobe/atmos_wardrobe, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "pgB" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -45202,6 +44834,37 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) +"pgH" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/light_switch/directional/south{ + pixel_x = -8 + }, +/obj/structure/closet/crate/trashcart/laundry, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/clothing/shoes/sneakers/orange, +/obj/item/clothing/shoes/sneakers/orange, +/obj/item/clothing/shoes/sneakers/orange, +/obj/item/clothing/shoes/sneakers/orange, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) "pgT" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -45236,19 +44899,6 @@ "pho" = ( /turf/open/floor/carpet/black, /area/station/service/theater) -"phq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/break_room) "phr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -45277,81 +44927,60 @@ }, /turf/open/floor/iron/dark/side, /area/station/service/hydroponics) -"pik" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/light_switch/directional/east{ - pixel_y = -10 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) "pin" = ( /obj/structure/table, /obj/item/folder/yellow, /obj/item/hand_labeler, /turf/open/floor/iron, /area/station/cargo/storage) -"piC" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/genetics) -"piO" = ( -/obj/structure/disposalpipe/segment{ +"piI" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) +"piX" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +/area/station/hallway/secondary/service) "piY" = ( /obj/machinery/growing/tray, /turf/open/floor/grass, /area/station/security/prison/garden) +"piZ" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"pjg" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/blueshield, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "pji" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"pjq" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "N2 Outlet Pump" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"pjs" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "pjD" = ( /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/hallway/primary/port) -"pjM" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/random/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"pjP" = ( +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "pjT" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -45363,32 +44992,18 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"pkd" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = -5 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/atmos/office) -"pkn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - 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 +"pjY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/maintenance/port) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"pkj" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/breakroom) "pkv" = ( /obj/machinery/status_display/evac/directional/west, /obj/effect/turf_decal/trimline/dark_blue/filled/line{ @@ -45404,36 +45019,44 @@ /obj/structure/machine/assembly_bench, /turf/open/floor/wood, /area/station/smithing) +"plc" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"plh" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/wood, +/area/station/service/bar) +"plr" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/machinery/newscaster/directional/west, +/obj/structure/chair/sofa/corp/right{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "plt" = ( /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/port) -"plv" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/modular_computer/preset/research{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +"plu" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/security/detectives_office) "plz" = ( /obj/structure/bookcase/random, /turf/open/floor/wood, /area/station/security/prison/rec) -"plG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/vending_restock, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"plH" = ( -/obj/machinery/power/port_gen/pacman/pre_loaded, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"plI" = ( -/obj/structure/table/reinforced/plasmarglass, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +"plC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/chapel/funeral) "plK" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 8 @@ -45446,11 +45069,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/brig) -"pme" = ( -/obj/machinery/telecomms/hub/preset, -/obj/structure/cable, -/turf/open/floor/circuit/telecomms, -/area/station/tcommsat/server) +"plX" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Science - Auxiliary Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/white/textured, +/area/station/science/auxlab) +"pmb" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + location = "Kitchen" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/service) "pml" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -45482,57 +45118,66 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"pmt" = ( -/obj/machinery/status_display/ai/directional/south, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"pmv" = ( -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"pmF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/end{ - dir = 8 - }, -/obj/structure/cable, +"pms" = ( +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/effect/turf_decal/box/red, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/mixingchamber_access, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"pmQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +/area/station/science/ordnance/freezerchamber) +"pmw" = ( +/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, -/obj/machinery/door/airlock/grunge{ - name = "Gambling Den" +/obj/machinery/duct, +/obj/structure/closet/toolcloset, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"pmC" = ( +/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, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"pmG" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/sign/departments/maint/directional/east, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"pmJ" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) +"pmP" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/table/reinforced, +/obj/item/aicard, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "pmV" = ( /turf/closed/wall, /area/station/service/chapel) -"pna" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/obj/structure/filingcabinet, -/turf/open/floor/iron, -/area/station/science/ordnance/office) -"png" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "cargo_desk"; - name = "Cargo Desk Shutters"; - dir = 1 +"pmW" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Hydroponics" }, -/turf/open/floor/plating, -/area/station/cargo/office) +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/service) "pny" = ( /obj/effect/turf_decal/trimline/red/line{ dir = 8 @@ -45543,77 +45188,37 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"pnC" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - location = "Kitchen" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/service) "pnG" = ( /obj/structure/table/wood, /obj/machinery/computer/security/wooden_tv, /turf/open/floor/carpet/red, /area/station/security/detectives_office) -"pnU" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/warning{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/office) -"poh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"poj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "brig_post"; - name = "Security Shutters"; - dir = 4 +"pod" = ( +/obj/structure/closet/crate, +/turf/open/floor/iron/dark/side{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/security/brig/entrance) +/area/station/security/prison/safe) "poB" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 }, /turf/open/floor/iron/white, /area/station/science/explab) -"poD" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - name = "freezer passive vent"; - dir = 1 - }, -/turf/open/floor/iron/freezer, -/area/station/science/xenobiology) "poG" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/nuke_storage) -"poQ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 +"poL" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/table/reinforced, +/obj/item/storage/box/prisoner{ + pixel_y = 12 }, -/obj/machinery/requests_console/directional/west{ - department = "Science"; - name = "Science Requests Console" +/obj/item/storage/box/prisoner{ + pixel_x = -6 }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/vending/coffee, /turf/open/floor/iron/dark, -/area/station/science/breakroom) +/area/station/security/processing) "poU" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -45623,12 +45228,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"ppi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/commons/locker) "ppj" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 5 @@ -45641,12 +45240,26 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"ppv" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +"ppp" = ( +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"ppE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/directional/south, +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_y = 7 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) "ppL" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 @@ -45666,31 +45279,9 @@ dir = 5 }, /area/station/cargo/miningoffice) -"ppN" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "ppP" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage_shared) -"ppS" = ( -/obj/effect/turf_decal/trimline/dark_red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "ppU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45699,57 +45290,43 @@ dir = 1 }, /area/station/tcommsat/computer) -"pql" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +"pqe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/effect/turf_decal/sand/plating, +/obj/machinery/door/airlock/external{ + name = "External Access" }, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) +/obj/effect/mapping_helpers/airlock/access/all/engineering/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "pqo" = ( /obj/effect/turf_decal/bot, /obj/machinery/suit_storage_unit/engine, /turf/open/floor/iron, /area/station/engineering/main) -"pqq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/arc_forge, -/turf/open/floor/stone, -/area/station/smithing) -"pqw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction/yjunction, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"pqF" = ( -/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) -"pqL" = ( -/obj/structure/bookcase/random/nonfiction, -/turf/open/floor/wood, -/area/station/service/library) -"pqQ" = ( +"pqu" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/department/cargo) -"prb" = ( +/area/station/maintenance/department/engine) +"pqz" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -45761,18 +45338,21 @@ /obj/machinery/door/poddoor/shutters{ id = "kitchen_sec_shutters"; name = "Kitchen Shutters"; - dir = 1 + dir = 4 + }, +/obj/structure/desk_bell{ + pixel_y = 2; + pixel_x = 6 }, /turf/open/floor/iron/dark/textured, /area/station/service/kitchen) -"prc" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 +"pqL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "prd" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -45783,37 +45363,23 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"prf" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 +"prg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 5 }, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/east, -/obj/structure/cable, -/obj/structure/closet/secure_closet/security/sec, -/turf/open/floor/iron/dark, -/area/station/security/lockers) +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/hallway/primary/aft) "prj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/office) -"prl" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/computer/records/security{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) -"prs" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 1 - }, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) "prw" = ( /obj/structure/cable, /obj/machinery/light/directional/north, @@ -45821,11 +45387,6 @@ /obj/structure/filingcabinet, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"prz" = ( -/obj/structure/chair/wood, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library/lounge) "prA" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -45849,61 +45410,54 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/office) +"prP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"prR" = ( +/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, +/obj/machinery/duct, +/turf/open/floor/plating/reinforced, +/area/station/science/xenobiology/hallway) +"prT" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "prU" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /turf/open/floor/iron/large, /area/station/cargo/office) -"prY" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/item/radio/intercom/directional/south, -/obj/machinery/computer/operating{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"psg" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/engineering/storage_shared) -"psF" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/main) -"psI" = ( -/obj/effect/turf_decal/tile/purple/half/contrasted{ +"prZ" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/computer/atmos_control/plasma_tank{ +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/structure/chair{ dir = 8 }, +/obj/effect/landmark/start/security_assistant, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"psO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/area/station/security/brig) +"psF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"ptd" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/science/research) +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "pte" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/corner, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -45911,13 +45465,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"ptq" = ( -/obj/machinery/light/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark/side{ +"ptt" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/area/station/commons/dorms) +/turf/open/floor/iron/white, +/area/station/medical/office) "ptH" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -45929,6 +45482,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"ptL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) "ptM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45936,11 +45499,30 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"ptZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) +"ptV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge_exterior_blast_doors"; + name = "Bridge Exterior Access Blast Door" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/landmark/navigate_destination/bridge, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "puc" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -45952,9 +45534,34 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"puh" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"pum" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "pun" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) +"pux" = ( +/obj/machinery/computer/cryopod/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/prison/safe) "puy" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -45966,30 +45573,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"puK" = ( -/obj/machinery/button/door/directional/north{ - id = "perma_lockdown"; - name = "Panic Button"; - req_access = list("brig"); - pixel_x = 6 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ +"puI" = ( +/obj/structure/chair/plastic{ dir = 1 }, -/obj/machinery/button/flasher{ - id = "transfer_flash"; - name = "Transfer Flash"; - pixel_x = -6; - pixel_y = 24 +/turf/open/floor/wood, +/area/station/security/prison/rec) +"puM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) -"puN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) "puO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46001,6 +45596,12 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/exit/departure_lounge) +"puP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/iv_drip, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "puT" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -46008,12 +45609,11 @@ /obj/machinery/icecream_vat, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"puX" = ( -/obj/structure/sign/warning/secure_area/directional/south, +"puW" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/space_heater, -/turf/open/floor/iron, -/area/station/maintenance/department/science) +/obj/effect/landmark/start/gary, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "puZ" = ( /obj/machinery/status_display/ai/directional/east, /obj/effect/turf_decal/tile/neutral/full, @@ -46041,41 +45641,28 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"pvF" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"pvI" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/no_smoking/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, +"pvC" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/tank_dispenser, /turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/engineering/storage/tech) +"pvK" = ( +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/restrooms) "pvL" = ( /turf/closed/wall, /area/station/medical/psychology) -"pwh" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/virology) +"pwf" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/machinery/teleport/station, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "pwm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -46104,22 +45691,32 @@ "pwp" = ( /turf/open/floor/iron/dark, /area/station/security/courtroom) -"pwI" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +"pwy" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 }, -/obj/effect/turf_decal/trimline/blue/warning{ +/area/station/security/prison/work) +"pwQ" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/department/science) "pwT" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -46130,22 +45727,33 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig) -"pxl" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/door/window/brigdoor/left/directional/south{ - name = "Head of Security's Desk"; - req_access = list("hos") +"pxa" = ( +/obj/machinery/light/directional/west, +/obj/structure/chair/plastic{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"pxp" = ( -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/wood, +/area/station/security/prison/rec) +"pxh" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/station/asteroid) +"pxs" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/machinery/button/flasher{ + id = "holding_flash"; + name = "Holding Cell Flasher"; + pixel_y = -26; + req_access = list("security"); + pixel_x = -8 + }, +/turf/open/floor/iron/dark, +/area/station/security/brig) "pxw" = ( /turf/open/floor/iron, /area/station/engineering/main) @@ -46167,26 +45775,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/side, /area/station/security/prison/workout) -"pxT" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/machinery/duct, -/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/exam_room) -"pxU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"pxK" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Command - Bridge, South"; + name = "command camera" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) -"pxW" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/machinery/button/door/directional/south{ + id = "teleporter_shutters"; + name = "Teleporter Room Shutters Control"; + req_access = list("teleporter") + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "pxY" = ( /obj/effect/turf_decal/tile/neutral/anticorner, /obj/effect/turf_decal/tile/neutral{ @@ -46206,34 +45806,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"pyd" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) -"pye" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"pyq" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/button/door/directional/north{ - id = "eva_shutters"; - name = "EVA Storage Shutters Control"; - req_access = list("command"); - pixel_x = -7 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "pyA" = ( /obj/effect/turf_decal/box, /obj/machinery/ai_slipper{ @@ -46244,104 +45816,31 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) -"pyE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/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, -/area/station/hallway/primary/aft) "pyH" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 6 }, /turf/open/floor/engine, /area/station/science/xenobiology) -"pyP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"pyW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"pyZ" = ( -/obj/machinery/light/directional/west, -/obj/structure/chair/sofa/right/maroon{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/commons/fitness) -"pzc" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 5 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 - }, -/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, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/science/robotics/lab) -"pzi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"pzp" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"pzt" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/filled/line{ +"pzt" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"pzF" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library) "pzI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron, /area/station/service/theater) -"pzL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) -"pzP" = ( -/obj/structure/chair/office{ +"pzV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/tcommsat/computer) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "pzW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46364,6 +45863,12 @@ /obj/machinery/duct, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"pAj" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/suit_storage_unit/industrial/loader, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "pAk" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -46381,6 +45886,26 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"pAw" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"pAD" = ( +/obj/effect/mapping_helpers/dead_body_placer, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"pAN" = ( +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/effect/turf_decal/trimline/red/line{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "pAW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46391,56 +45916,55 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/service/hydroponics) -"pAY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"pBc" = ( -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/item/knife/kitchen, +"pBl" = ( +/obj/structure/sign/plaques/kiddie/library{ + pixel_x = -32 + }, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"pBt" = ( +/obj/structure/foamedmetal, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/service/hydroponics) "pBu" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"pBx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/box, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/cargo/drone_bay) "pBz" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/side, /area/station/commons/dorms) -"pBC" = ( -/obj/structure/table/reinforced, -/obj/item/storage/bag/tray, -/obj/item/kitchen/rollingpin{ - pixel_y = -4; - pixel_x = 4 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -2; - pixel_y = 4 - }, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"pBK" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, +"pBD" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"pBG" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/turf/open/floor/grass, +/area/station/hallway/primary/central) +"pBL" = ( +/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, /obj/machinery/duct, -/turf/open/floor/carpet/purple, -/area/station/security/prison/safe) -"pBT" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/machinery/vending/wallmed/directional/west, -/obj/structure/table, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"pBQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "pBX" = ( /obj/machinery/corral_corner{ mapping_id = "3" @@ -46453,38 +45977,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"pCb" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = 6 - }, -/obj/item/wrench/medical, -/obj/item/gun/syringe, -/turf/open/floor/iron/checker{ - dir = 1 - }, -/area/station/command/heads_quarters/cmo) -"pCd" = ( -/obj/machinery/button/door/directional/west{ - id = "bs_desk"; - name = "Blueshield Desk Shutters Control"; - pixel_y = 5 - }, -/obj/machinery/button/door/directional/west{ - id = "bs_bolt"; - name = "Blueshield Office Bolt Control"; - pixel_y = -5; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/machinery/modular_computer/preset/command{ - dir = 1; - pixel_y = -3 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "pCf" = ( /obj/structure/chair/stool/bamboo, /mob/living/carbon/human/species/monkey, @@ -46496,30 +45988,6 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"pCo" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"pCs" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"pCA" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side, -/area/station/security/interrogation) "pCI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46528,6 +45996,36 @@ dir = 1 }, /area/station/commons/dorms) +"pCJ" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/flasher/directional/north{ + id = "hopflash" + }, +/obj/structure/table/reinforced, +/obj/structure/desk_bell{ + pixel_x = -6 + }, +/obj/machinery/door/window/left/directional/north{ + dir = 8; + name = "Reception" + }, +/obj/machinery/door/window/brigdoor/right/directional/east{ + req_access = list("hop"); + name = "Head of Personnel's Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "hop"; + name = "Privacy Shutters"; + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/hop) "pCM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 @@ -46538,42 +46036,70 @@ dir = 5 }, /area/station/cargo/lobby) -"pCP" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"pCO" = ( +/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) +"pCY" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/closet/l3closet/janitor, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/gloves/maid, +/obj/item/clothing/head/costume/maidheadband, +/obj/item/grenade/clusterbuster/cleaner, +/turf/open/floor/iron/dark, +/area/station/service/janitor) +"pDi" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"pCS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"pCX" = ( -/obj/effect/turf_decal/siding/thinplating{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/chair/sofa/bench/right{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Captain's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/captain, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/captain) "pDn" = ( /obj/structure/flora/bush/jungle/a/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) -"pDy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +"pDv" = ( +/obj/structure/disposalpipe/sorting/mail, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"pDx" = ( +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 }, -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/obj/machinery/iv_drip, -/turf/open/floor/iron/white, -/area/station/medical/surgery) +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/station_map/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"pDz" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "pDC" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -46589,6 +46115,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"pDI" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 + }, +/obj/item/radio/intercom/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/medical/paramedic) "pDJ" = ( /obj/machinery/light/small/directional/east, /obj/item/radio/intercom/chapel/directional/east, @@ -46610,28 +46147,6 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"pDY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/poddoor/preopen{ - id = "bridge_blast_doors"; - name = "Bridge Access Blast Door" - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/bridge) "pDZ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46648,6 +46163,14 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) +"pEc" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "pEr" = ( /turf/closed/wall/r_wall, /area/station/security/office) @@ -46670,6 +46193,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) +"pEB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_5k, +/obj/effect/mapping_helpers/apc/full_charge, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "pEG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46687,39 +46225,49 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"pEQ" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"pEO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "pEY" = ( /turf/closed/wall, /area/station/service/hydroponics) -"pFu" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/rnd/production/techfab/department/medical, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"pFJ" = ( -/obj/structure/chair/wood{ +"pFc" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/obj/effect/landmark/start/psychologist, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"pFm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"pGu" = ( -/obj/structure/table/wood, -/obj/item/taperecorder{ - pixel_x = 9; - pixel_y = 9 +/area/station/command/heads_quarters/blueshield) +"pFN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/carpet/blue, -/area/station/commons/vacant_room/office) -"pGM" = ( -/obj/effect/mob_spawn/corpse/human/assistant, +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/machinery/vending/cigarette, /turf/open/floor/wood, -/area/station/maintenance/port/fore) +/area/station/commons/locker) +"pGk" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) "pGN" = ( /obj/effect/turf_decal/trimline/green/line{ dir = 6 @@ -46729,10 +46277,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"pGP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "pGS" = ( /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/service) @@ -46743,15 +46287,11 @@ /obj/structure/closet/secure_closet/evidence, /turf/open/floor/iron/dark, /area/station/security/evidence) -"pHd" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +"pGW" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/light/small/directional/south, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/starboard/aft) "pHj" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -46760,12 +46300,6 @@ /obj/structure/sign/departments/botany/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"pHn" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "pHr" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -46773,6 +46307,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/large, /area/station/cargo/storage) +"pHv" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/virology) "pHw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 8 @@ -46797,6 +46338,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"pHE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "pHI" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ @@ -46819,52 +46366,44 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"pHN" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Atmospherics, Northwest"; - name = "engineering camera" - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) "pHP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) -"pHW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"pHX" = ( -/obj/structure/table/wood/fancy/black, -/obj/item/storage/fancy/candle_box{ - pixel_y = 5 +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 }, -/obj/item/storage/crayons, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "pIi" = ( -/obj/machinery/door/window/right/directional/south, -/obj/structure/table/wood/fancy, -/obj/structure/sign/painting/large/library{ +/obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"pIs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"pIp" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/structure/table, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty{ + pixel_y = 6 + }, +/obj/item/construction/plumbing/engineering, +/obj/item/plunger, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/engineering/storage_shared) +"pIu" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/chair/sofa/right/maroon{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/commons/fitness) "pIw" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -46872,21 +46411,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution) -"pIA" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"pIH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "pIS" = ( /obj/machinery/conveyor{ dir = 8; @@ -46911,40 +46435,81 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"pJb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, +"pJa" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Command - EVA Storage, Secure"; + name = "motion-sensitive command camera" + }, +/obj/structure/closet/crate/rcd, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) +"pJk" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/computer/prisoner/gulag_teleporter_computer{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"pJq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance/five, /turf/open/floor/plating, -/area/station/maintenance/port/aft) -"pJz" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Security Office Maintenance" +/area/station/maintenance/starboard/aft) +"pJM" = ( +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/warning{ + dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 5 }, -/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/airlock/access/all/security/general, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/security/office) +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"pJR" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/iv_drip, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"pJT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "engi_pass_shutters"; + name = "Engineering Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/engineering/break_room) "pJV" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 6 }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"pJW" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) +"pKf" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/storage) "pKw" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/table/glass, @@ -46961,11 +46526,23 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"pKG" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/effect/decal/cleanable/dirt, +"pKz" = ( +/obj/machinery/light/directional/south, +/obj/structure/bookcase/random/nonfiction, +/turf/open/floor/wood, +/area/station/service/library) +"pKC" = ( +/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/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/port/fore) +"pKF" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "pKO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/landmark/start/hangover, @@ -46980,6 +46557,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) +"pKT" = ( +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/restrooms) "pKY" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ @@ -47017,13 +46603,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"pLB" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"pLv" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/green/filled/line, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "medbay_foyer"; + name = "Medbay" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "med_lockdown"; + name = "Medbay Emergency Lockdown Shutters"; + dir = 1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/central) "pLK" = ( /obj/structure/flora/bush/jungle/b/style_random, /turf/open/floor/grass, @@ -47064,18 +46662,16 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/security/medical) -"pMb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 +"pLW" = ( +/obj/structure/rack, +/obj/item/mop, +/obj/item/reagent_containers/cup/bottle/ammonia, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/iron/dark/side{ + dir = 10 }, -/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) +/area/station/security/prison) "pMc" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -47090,6 +46686,15 @@ /obj/effect/spawner/random/trash/janitor_supplies, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) +"pMg" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/break_room) "pMB" = ( /obj/structure/table, /obj/item/storage/medkit/regular, @@ -47099,64 +46704,45 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science) -"pMI" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/item/kirbyplants/random, +"pMG" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"pMW" = ( /turf/open/floor/wood, -/area/station/service/library) -"pMU" = ( -/obj/effect/turf_decal/stripes/line, +/area/station/smithing) +"pNp" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"pNt" = ( /obj/effect/turf_decal/stripes/line{ 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, /obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Forging Lab" - }, -/obj/effect/mapping_helpers/airlock/access/any/science/general, -/obj/effect/mapping_helpers/airlock/access/any/supply/general, +/obj/machinery/door/window/right/directional/north, /turf/open/floor/iron/dark/textured, -/area/station/smithing) -"pNi" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +/area/station/service/abandoned_gambling_den) +"pNx" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line, /obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) -"pNA" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"pND" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/structure/closet/crate, +/obj/item/stack/ore/silver{ + amount = 2 }, -/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/machinery/door/airlock/security/glass{ - name = "Security Post - Medbay" +/obj/item/stack/ore/iron, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured, -/area/station/security/checkpoint/medical) +/area/station/cargo/miningoffice) "pNK" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -47172,16 +46758,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/brig/entrance) -"pNP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/autolathe, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/break_room) "pNS" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -47189,25 +46765,11 @@ /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"pNZ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/line, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/office) -"pOt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Courtroom Maintenance" +"pOn" = ( +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/security/court, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/department/science) +/area/station/commons/dorms) "pOx" = ( /obj/machinery/conveyor{ id = "QMLoad" @@ -47234,47 +46796,76 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/cargo/storage) -"pOC" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/button/door/directional/west{ - id = "hos_office"; - name = "Shutters Control"; - req_access = list("hos") - }, -/obj/machinery/requests_console/directional/north{ - department = "Head of Security's Desk"; - name = "Head of Security 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/wood, -/obj/machinery/fax{ - fax_name = "Head of Security's Office"; - name = "Head of Security's Fax Machine" - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) "pOF" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"pOH" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/plate_press, -/turf/open/floor/iron/dark/side{ +"pON" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"pOS" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/requests_console/directional/west, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"pOZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) +"pPc" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/area/station/security/prison/work) +/obj/machinery/light/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/closet/radiation, +/obj/item/crowbar/large, +/turf/open/floor/iron, +/area/station/engineering/storage) +"pPl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/tank/internals/oxygen, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"pPp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "pPz" = ( /turf/closed/wall, /area/station/science/circuits) -"pPF" = ( -/obj/machinery/newscaster/directional/north, +"pPA" = ( +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/prison/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/prison) +"pPC" = ( +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/department/engine/atmos) +"pPG" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/filingcabinet, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) "pPM" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -47283,32 +46874,45 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"pQl" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/miningoffice) -"pQm" = ( -/obj/machinery/light/small/broken/directional/east, -/obj/structure/frame/computer{ - anchored = 1; - dir = 8 +"pQC" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 }, /turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) -"pQy" = ( +/area/station/engineering/storage/tech) +"pQG" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 + dir = 1 }, -/obj/structure/sign/poster/official/random/directional/west, -/obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"pQX" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"pQL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/storage/secure/safe/hos{ + pixel_x = 35 + }, +/obj/structure/closet/secure_closet/hos, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"pQW" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/cable, +/obj/structure/chair/sofa/bench/right{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) "pRb" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -47321,14 +46925,11 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"pRd" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/obj/machinery/light/directional/south, +"pRg" = ( +/obj/structure/sign/warning/cold_temp/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/area/station/science/xenobiology) "pRn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -47344,27 +46945,15 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/fore) -"pRD" = ( -/obj/machinery/light/directional/south, -/obj/structure/table/wood, -/obj/item/toy/figure/cmo{ - pixel_y = 12; - pixel_x = -8 +"pSo" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 }, -/obj/item/clothing/neck/stethoscope, -/obj/item/flashlight/pen, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) -"pSn" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/table, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/obj/item/lightreplacer, -/turf/open/floor/iron/dark, -/area/station/service/janitor) +/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/main) "pSt" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -47380,30 +46969,41 @@ "pSA" = ( /turf/closed/wall/r_wall, /area/station/security/execution) -"pSJ" = ( -/obj/structure/disposalpipe/segment, +"pSB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/keycard_auth/directional/west, +/obj/structure/cable, +/obj/machinery/computer/accounting{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"pST" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/catwalk_floor, -/area/station/medical/medbay/aft) -"pSV" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/structure/table/wood, +/obj/item/storage/dice, +/turf/open/floor/wood, +/area/station/security/prison/rec) "pSW" = ( /turf/open/floor/iron/dark, /area/station/maintenance/port/fore) -"pTC" = ( -/obj/machinery/duct, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/port) +"pTf" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"pTi" = ( +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/prison/work) "pTE" = ( /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/engine, @@ -47415,44 +47015,31 @@ /turf/open/floor/iron, /area/station/maintenance/department/electrical) "pTJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"pTK" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/effect/turf_decal/trimline/red/line{ +/turf/open/floor/iron/dark/side{ dir = 4 }, -/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/west, -/turf/open/floor/iron/dark, -/area/station/security/brig) -"pTP" = ( -/obj/structure/bed/dogbed/renault, -/mob/living/basic/pet/fox/renault, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) +/area/station/tcommsat/computer) "pTV" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"pUp" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +"pTY" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"pUn" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/machinery/power/shieldwallgen, /turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +/area/station/command/teleporter) "pUu" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 4 @@ -47463,126 +47050,123 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"pUT" = ( -/obj/machinery/light/directional/west, -/obj/structure/bed/double{ +"pUC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"pUD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"pUE" = ( +/turf/open/floor/iron/dark, +/area/station/security/warden) +"pUL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/department/security/brig) +"pUR" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/item/bedsheet/dorms_double{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) -"pVi" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 +/obj/machinery/door/firedoor, +/obj/machinery/biogenerator, +/obj/machinery/door/window/left/directional/east{ + name = "Kitchen Biogenerator"; + req_access = list("kitchen") }, -/turf/open/floor/iron, -/area/station/engineering/main) -"pVn" = ( -/obj/structure/chair/wood{ - dir = 4 +/obj/machinery/door/window/right/directional/west{ + name = "Kitchen Biogenerator"; + req_access = list("hydroponics") }, -/obj/effect/landmark/start/bartender, -/turf/open/floor/wood, -/area/station/service/bar) -"pVu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/plumbed{ +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hydro_kitchen_shutters"; + name = "Hydro-Kitchen Shutters"; dir = 4 }, +/turf/open/floor/iron/dark/textured, +/area/station/service/hydroponics) +"pUZ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, -/area/station/maintenance/department/science) +/area/station/maintenance/department/cargo) +"pVa" = ( +/turf/closed/wall, +/area/station/commons/dorms/room5) +"pVh" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) +"pVm" = ( +/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/white, +/area/station/medical/medbay/aft) +"pVw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/hallway/primary/aft) "pVB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/wood, /area/station/service/lawoffice) -"pVG" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Command - Bridge, West"; - name = "command camera" +"pVC" = ( +/obj/structure/chair/plastic{ + dir = 1 }, /turf/open/floor/iron/dark, -/area/station/command/bridge) -"pVH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/security/prison) "pVJ" = ( /obj/structure/table/wood, /obj/effect/spawner/random/decoration/flower, /obj/effect/spawner/random/decoration/flower, /turf/open/floor/iron/dark, /area/station/service/chapel) -"pVV" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/requests_console/directional/west, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, +"pVM" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 1 + }, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/security/warden) "pVZ" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/chapel{ dir = 1 }, /area/station/service/chapel) -"pWi" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +"pWf" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, /turf/open/floor/plating, -/area/station/maintenance/port/fore) -"pWl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/newscaster/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/area/station/maintenance/department/science/xenobiology) +"pWv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) -"pWo" = ( -/obj/machinery/space_heater/improvised_chem_heater, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"pWC" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Arrivals - Checkpoint, South"; - name = "arrivals camera" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"pWE" = ( -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) +/area/station/security/checkpoint/customs/auxiliary) "pWG" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -47593,18 +47177,15 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"pWO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"pWH" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/engine, -/area/station/security/execution) +/turf/open/floor/carpet/black, +/area/station/security/bitden) "pWP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47613,23 +47194,9 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"pWU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "pWX" = ( /turf/closed/wall/r_wall, /area/station/science/breakroom) -"pXb" = ( -/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/machinery/duct, -/turf/open/floor/wood, -/area/station/service/bar) "pXd" = ( /obj/machinery/camera/autoname/directional/east, /obj/structure/weightmachine/weightlifter, @@ -47637,75 +47204,62 @@ dir = 4 }, /area/station/commons/fitness/recreation) -"pXi" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"pXp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, +"pXk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) -"pXG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/south{ - name = "Cargo Desk"; - req_access = list("cargo") - }, -/obj/machinery/door/window/left/directional/north{ - name = "Cargo Desk" +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/door/poddoor/shutters{ - id = "cargo_desk"; - name = "Cargo Desk Shutters"; +/turf/open/floor/iron, +/area/station/hallway/primary/aft) +"pXy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/structure/desk_bell{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/papercutter, -/turf/open/floor/iron/dark/textured, -/area/station/cargo/office) -"pXY" = ( -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/shower) -"pYd" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/no_smoking/directional/north, +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ +/obj/machinery/disposal/bin, +/turf/open/floor/iron, +/area/station/engineering/storage) +"pXW" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/area/station/hallway/primary/aft) -"pYh" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 8 +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/effect/turf_decal/trimline/dark_blue/line{ +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/turf/open/floor/iron/dark/side{ dir = 4 }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/area/station/command/heads_quarters/ce) +"pXY" = ( +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/shower) +"pYj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/tank, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"pYn" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/machinery/vending/wardrobe/medi_wardrobe, +/turf/open/floor/iron/white, +/area/station/medical/office) +"pYo" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/structure/closet/firecloset/wall/directional/east, +/turf/open/floor/iron/white, +/area/station/science/research) "pYv" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/item/kirbyplants/random, @@ -47720,76 +47274,10 @@ }, /turf/open/floor/stone, /area/station/science/xenobiology) -"pYA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"pYF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/sand/plating, -/obj/machinery/door/airlock/external{ - name = "External Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"pYI" = ( -/obj/effect/turf_decal/tile/purple/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/breakroom) -"pYX" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"pZa" = ( -/obj/effect/spawner/structure/window/reinforced, -/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/door/poddoor/shutters/preopen{ - id = "med_lockdown"; - name = "Medbay Emergency Lockdown Shutters"; - dir = 1 - }, -/turf/open/floor/plating, -/area/station/medical/medbay/central) "pZc" = ( /obj/structure/cargo_shelf, /turf/open/floor/iron, /area/station/cargo/storage) -"pZg" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) -"pZh" = ( -/obj/structure/cable, -/obj/structure/table/wood/fancy/blue, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 3 - }, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"pZj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "pZs" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -47798,63 +47286,67 @@ /obj/machinery/autolathe, /turf/open/floor/iron/white, /area/station/science/lab) -"pZC" = ( -/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 = "Electrical Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/electrical) -"pZD" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "pZR" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"pZU" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "CO2 Outlet Pump" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"pZV" = ( +"pZS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "pZX" = ( /obj/structure/bed, /obj/item/bedsheet/dorms, /obj/effect/landmark/start/prisoner, /turf/open/floor/wood, /area/station/security/prison/safe) -"pZY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ - dir = 6 +"qac" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/structure/table, +/obj/item/stock_parts/micro_laser{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/stock_parts/micro_laser{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/stock_parts/micro_laser{ + pixel_x = 2 + }, +/obj/item/stock_parts/micro_laser{ + pixel_x = 6; + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"qal" = ( +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/structure/table/wood, +/obj/item/folder{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/folder, +/obj/item/folder{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/pen, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "qap" = ( /obj/structure/bed{ dir = 4 @@ -47865,32 +47357,23 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/carpet/purple, /area/station/security/prison/safe) -"qax" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"qay" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 1 - }, -/area/station/engineering/atmos) "qaG" = ( /turf/open/floor/iron/vaporwave, /area/station/service/library/printer) +"qaP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/rack, +/obj/item/wrench/medical, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"qaT" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) "qbg" = ( /obj/structure/chair/office/light{ dir = 8 @@ -47905,38 +47388,115 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"qbk" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"qbl" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + location = "QM #5" + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/cargo/storage) +"qbp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/airlock/maintenance{ + name = "Custodial Closet Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/janitor, +/turf/open/floor/plating, +/area/station/service/janitor) +"qbs" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/wood, +/area/station/service/chapel/funeral) +"qbt" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/vending/engivend, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/storage_shared) +"qby" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/airalarm/directional/south, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"qbD" = ( +/obj/machinery/digital_clock/directional/east, +/obj/machinery/computer/security{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"qbH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/chair, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"qbY" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/computer/records/medical{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"qce" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/landmark/blobstart, /turf/open/floor/iron/dark, -/area/station/medical/morgue) -"qbm" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) -"qbz" = ( -/obj/structure/cable, -/obj/structure/chair/plastic{ +/area/station/hallway/primary/port) +"qcq" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"qch" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ +/obj/machinery/light/directional/east, +/obj/structure/cable, +/obj/structure/closet/secure_closet/security/sec/blueshirt, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) +"qcs" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "qcu" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -47957,28 +47517,12 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"qcN" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/chair/office/light, -/obj/effect/landmark/start/chief_medical_officer, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"qcP" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/frame/machine, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "qcS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/dark/side, /area/station/commons/locker) -"qcT" = ( -/obj/item/kirbyplants/photosynthetic, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "qcU" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -47986,56 +47530,20 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"qcX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/table, -/obj/item/electronics/airlock{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/item/electronics/airlock, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil{ - pixel_y = 3; - pixel_x = 3 - }, -/turf/open/floor/iron/dark/side, -/area/station/engineering/storage_shared) -"qdk" = ( +"qdf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/table, -/obj/item/papercutter, -/obj/item/hand_labeler, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=Lockers"; + location = "EVA" + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "qdl" = ( /obj/structure/filingcabinet, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"qdr" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"qds" = ( -/obj/effect/landmark/start/gary, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"qdu" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "qdw" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -48061,6 +47569,19 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/security/office) +"qdD" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/obj/machinery/requests_console/directional/west{ + department = "Science"; + name = "Science Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/vending/coffee, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) "qdE" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -48083,13 +47604,19 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"qdV" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/chair/sofa/bench/left{ - dir = 4 +"qdM" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/light/directional/south, +/obj/structure/sign/flag/nanotrasen/directional/south, +/turf/open/floor/iron/checker{ + dir = 1 }, +/area/station/command/heads_quarters/cmo) +"qdN" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/engineering/atmos/storage) "qdZ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -48106,91 +47633,92 @@ /obj/structure/sign/poster/official/space_cops/directional/north, /turf/open/floor/iron/dark, /area/station/security/processing) -"qed" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) -"qej" = ( -/obj/effect/turf_decal/stripes/line{ +"qeh" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair/office/light{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/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, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/aft) +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "qem" = ( /turf/open/floor/carpet, /area/station/hallway/secondary/entry) -"qep" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Waste In" +"qeu" = ( +/turf/open/floor/iron/dark/corner, +/area/station/hallway/secondary/exit/departure_lounge) +"qey" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"qet" = ( -/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=Lockers"; - location = "EVA" +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/chair/sofa/bench/right{ + dir = 4 }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"qeH" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"qfa" = ( +/obj/machinery/smartfridge/organ, +/turf/closed/wall, +/area/station/medical/surgery) +"qfb" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"qeV" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 4 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Hallway - Central, East"; + name = "hallway camera" }, -/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, -/area/station/medical/morgue) -"qeZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "rad_shutters"; - name = "RaD Shutters" +/area/station/hallway/primary/central) +"qfe" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/science/lab) -"qfn" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/structure/window/spawner/directional/south, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/item/pen, +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/obj/machinery/disposal/delivery_chute{ - dir = 1 +/area/station/engineering/break_room) +"qfm" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/status_display/ai/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"qfE" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 }, -/obj/structure/railing{ - dir = 8 +/obj/machinery/light/small/directional/south, +/obj/machinery/gulag_teleporter, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"qfR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"qgd" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/chair/stool/directional/south, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Solar Control, Southeast"; - name = "engineering camera" +/obj/effect/turf_decal/stripes/line, +/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, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/service{ + name = "Bar" }, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/aft) +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "qgn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48226,18 +47754,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/genetics/cloning) -"qgA" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/commons/vacant_room/office) "qgD" = ( /obj/machinery/light/small/directional/south, /obj/item/radio/intercom/directional/south, @@ -48252,12 +47768,14 @@ }, /turf/open/floor/stone, /area/station/science/xenobiology) -"qgO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"qgM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "qgR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -48274,25 +47792,27 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution) -"qgZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"qha" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/engineering/transit_tube) "qhj" = ( -/obj/effect/turf_decal/vg_decals/atmos/carbon_dioxide, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) -"qhp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/south{ + name = "Kitchen and Bar"; + req_access = list("bar") + }, +/obj/machinery/door/window/left/directional/north{ + name = "Kitchen and Bar"; + req_access = list("kitchen") + }, +/obj/machinery/door/poddoor/shutters{ + id = "kitchen_sec_shutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/kitchen) "qhr" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/effect/turf_decal/trimline/brown/line{ @@ -48305,6 +47825,34 @@ "qhu" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) +"qhC" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/pill_bottle/mutadone{ + pixel_x = 8; + pixel_y = 12 + }, +/obj/item/storage/pill_bottle/mannitol{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/folder/white{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 7 + }, +/turf/open/floor/iron/white, +/area/station/science/genetics/cloning) "qhD" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -48314,20 +47862,47 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/iron/white, /area/station/science/circuits) -"qhW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"qid" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/wood, +"qhE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, /turf/open/floor/wood, -/area/station/security/detectives_office) -"qik" = ( -/obj/machinery/vending/cigarette, +/area/station/service/library) +"qhI" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ + dir = 8 + }, +/obj/machinery/airlock_sensor/incinerator_atmos{ + pixel_y = 24; + pixel_x = 8 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) +"qhM" = ( +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"qhP" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/miningoffice) +"qhV" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ + dir = 4 + }, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/engineering/atmos) "qiw" = ( /obj/structure/chair/stool/directional/west, /obj/effect/landmark/start/hangover, @@ -48341,12 +47916,6 @@ /obj/item/camera/detective, /turf/open/floor/carpet/red, /area/station/security/detectives_office) -"qiM" = ( -/obj/structure/closet/firecloset{ - anchored = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "qiT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48359,47 +47928,76 @@ dir = 5 }, /area/station/hallway/secondary/service) -"qiV" = ( +"qjg" = ( +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/station/medical/virology) +"qjG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/material_analyzer, +/turf/open/floor/stone, +/area/station/smithing) +"qjK" = ( +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/no_smoking/directional/north, +/obj/structure/closet/radiation, +/turf/open/floor/iron, +/area/station/science/ordnance) +"qjW" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Maintenance - Science Pass-through, Ordnance"; + name = "maintenance camera"; + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"qkg" = ( +/obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, -/area/station/maintenance/department/engine) -"qjj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 +/area/station/maintenance/starboard/aft) +"qki" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/security_all, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"qkj" = ( +/obj/effect/turf_decal/trimline/red/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/structure/chair, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"qkq" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 }, -/obj/machinery/vending/wallmed/directional/west, -/obj/structure/table, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) -"qjq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/duct, -/obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, -/area/station/science/xenobiology) -"qjP" = ( -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/janitor) -"qkl" = ( -/obj/item/seeds/banana, -/turf/open/floor/grass, -/area/station/hallway/primary/central) -"qkv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/cyan/hidden, -/turf/open/floor/iron/dark/side{ - dir = 8 +/area/station/medical/storage) +"qkr" = ( +/obj/structure/disposalpipe/sorting/mail{ + dir = 1 }, -/area/station/hallway/primary/aft) +/obj/effect/mapping_helpers/mail_sorting/medbay/virology, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "qkw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -48416,29 +48014,24 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"qkA" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "qkB" = ( /obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qkP" = ( -/obj/structure/disposalpipe/sorting/mail, +"qkO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"qle" = ( -/obj/machinery/light/small/broken/directional/north, -/obj/structure/toilet{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "qlp" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -48452,21 +48045,29 @@ /obj/item/beacon, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"qlC" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/machinery/computer/records/pathology{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "qlI" = ( /obj/machinery/status_display/evac/directional/east, /obj/structure/table/wood, /obj/item/storage/fancy/candle_box/vanilla, /turf/open/floor/wood, /area/station/service/chapel/funeral) +"qlN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"qlO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = -8 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/storage_shared) "qlQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -48474,12 +48075,35 @@ /obj/structure/disposalpipe/junction/yjunction{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/office) -"qmb" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/dark, +/area/station/security/office) +"qlT" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) +"qlZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "bar_sec_shutters"; + name = "Bar Shutters"; + dir = 4 + }, +/obj/structure/desk_bell{ + pixel_y = 2; + pixel_x = 6 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "qmd" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -48490,20 +48114,6 @@ }, /turf/open/floor/plating/airless, /area/station/ai_monitored/turret_protected/aisat/atmos) -"qmj" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"qmB" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair/stool/directional/north, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) "qmK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48512,64 +48122,47 @@ dir = 1 }, /area/station/commons/fitness) -"qmM" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "qmT" = ( /obj/effect/spawner/random/trash/graffiti, /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/science) -"qmY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"qnj" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/atm/directional/north, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/iron/dark/side{ dir = 1 }, -/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, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Apothecary" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"qnc" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 4 +/area/station/commons/locker) +"qnp" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Incinerator Output Pump"; + target_pressure = 4500 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"qnx" = ( +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"qnr" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 + dir = 8 }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, /turf/open/floor/iron/dark/side{ - dir = 1 + dir = 8 }, -/area/station/command/heads_quarters/ce) +/area/station/hallway/primary/aft) "qnE" = ( /turf/closed/wall, /area/station/service/library) -"qnN" = ( -/obj/machinery/light/directional/south, -/obj/item/radio/intercom/prison/directional/south, -/obj/structure/table, -/obj/item/shovel/spade, -/obj/item/plant_analyzer, -/obj/item/cultivator, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) +"qnK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "qnR" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -48579,27 +48172,44 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"qnZ" = ( +"qnW" = ( /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 4 }, /obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"qnY" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"qog" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/plating, -/area/station/medical/medbay/central) -"qos" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/service/bar/backroom) +/area/station/maintenance/department/science/xenobiology) +"qoo" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"qot" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/iron, +/area/station/engineering/main) "qou" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -48626,22 +48236,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/breakroom) -"qoT" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) -"qoW" = ( -/obj/structure/filingcabinet, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) "qpd" = ( /obj/machinery/light/neon_lining{ dir = 8 @@ -48658,20 +48252,12 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"qph" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/closet/secure_closet/brig_physician, -/obj/item/clothing/suit/jacket/straight_jacket, -/turf/open/floor/iron/white, -/area/station/security/medical) -"qpi" = ( -/obj/machinery/light/directional/west, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +"qpq" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/closet/l3closet/scientist, +/obj/item/extinguisher, +/turf/open/floor/iron/showroomfloor, +/area/station/science/xenobiology/hallway) "qps" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, @@ -48692,37 +48278,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qpy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters{ - id = "library_desk_shutters"; - name = "Library Desk Shutters"; - dir = 1 - }, -/obj/machinery/libraryscanner, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/printer) -"qpB" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/white, -/area/station/science/auxlab) "qpF" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy, /turf/open/space, /area/space/nearstation) "qpK" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/shower/directional/south, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) "qpO" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -48737,107 +48303,69 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"qpS" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "qpY" = ( /obj/effect/turf_decal/bot, /obj/machinery/light/directional/west, /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"qqd" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +"qqc" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "CO2 Outlet Pump" + }, /turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) -"qqi" = ( -/obj/structure/closet/secure_closet/atmospherics, -/turf/open/floor/iron/dark/side{ - dir = 10 +/area/station/engineering/atmos) +"qqt" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 }, -/area/station/engineering/atmos/office) +/obj/machinery/vending/coffee, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/aft) "qqu" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plating, /area/station/maintenance/port) -"qqy" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"qqz" = ( -/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 = 5 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"qqC" = ( -/obj/structure/cable, +"qqE" = ( +/obj/structure/table, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/construction/plumbing, +/obj/item/plunger, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"qqD" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/button/door/directional/west{ - id = "medbay_foyer"; - name = "Medbay Doors Control"; - pixel_y = -6; - req_access = list("medical"); - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/machinery/button/door/directional/west{ - id = "medical_security_post"; - name = "Security Post Shutters Control"; - req_access = list("security"); - pixel_y = 5 +/area/station/medical/chemistry) +"qqQ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"qqJ" = ( -/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/machinery/newscaster/directional/south, +/obj/structure/chair{ + dir = 8 }, -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "qqU" = ( /obj/machinery/computer/cargo{ dir = 8 }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"qqZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"qqX" = ( +/obj/machinery/light/directional/north, +/obj/machinery/status_display/evac/directional/north, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/tcommsat/computer) "qra" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48845,6 +48373,16 @@ /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/service/chapel) +"qrj" = ( +/obj/structure/closet/crate, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin/adv, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "qrn" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 6 @@ -48884,18 +48422,77 @@ dir = 1 }, /area/station/security/prison/workout) -"qrH" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/disposalpipe/segment{ - dir = 4 +"qrZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) +"qsb" = ( +/obj/effect/turf_decal/bot_white, +/obj/structure/cargo_shelf, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"qsc" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/closet/crate{ + name = "Telecomms Parts" }, -/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/checker{ +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"qsg" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/turf/open/floor/iron/white, +/area/station/science/explab) +"qsh" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/area/station/command/heads_quarters/cmo) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/duct, +/obj/machinery/door/airlock/bathroom{ + name = "Bathroom"; + id_tag = "bs_bathroom" + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/blueshield) "qsk" = ( /turf/closed/indestructible{ desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; @@ -48906,16 +48503,6 @@ "qsm" = ( /turf/open/floor/iron/dark, /area/station/security/processing) -"qss" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary/uncommon, -/turf/open/floor/stone, -/area/station/smithing) -"qsx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "qsF" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -48925,23 +48512,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) -"qsG" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 +"qsK" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair{ + dir = 8 }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/requests_console/directional/south{ - department = "Security"; - name = "Security Requests Console" +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"qsV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/machinery/modular_computer/preset/cargochat/security{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/iron/dark/side{ + dir = 10 }, +/area/station/engineering/break_room) +"qsZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, -/area/station/security/office) +/area/station/hallway/primary/fore) "qth" = ( /obj/item/storage/secure/safe/directional/west, /obj/structure/table/wood, @@ -48949,90 +48542,72 @@ /obj/item/tape/random, /turf/open/floor/wood, /area/station/security/detectives_office) -"qtL" = ( -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"qtW" = ( +"qtp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"qtx" = ( /obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/folder/blue{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/folder/blue{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/folder/blue{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/item/stamp/law{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/clothing/glasses/sunglasses/big, -/obj/item/pen/red{ - pixel_x = -6; - pixel_y = 9 +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/carpet/blue, +/area/station/commons/vacant_room/office) +"qtD" = ( +/obj/structure/window/reinforced/tinted, +/obj/structure/toilet{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"qub" = ( +/turf/open/floor/plastic, +/area/station/security/prison/safe) +"qtF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/chair/wood{ - dir = 1 +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"qtK" = ( +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"qtL" = ( +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"qtR" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/computer/prisoner/management{ + dir = 8 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library/lounge) +/turf/open/floor/iron/dark, +/area/station/command/bridge) "qud" = ( /obj/structure/chair/pew/right{ dir = 1 }, /turf/open/floor/iron/chapel, /area/station/service/chapel) -"que" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/line, -/obj/structure/table, -/obj/item/restraints/handcuffs, -/obj/item/restraints/handcuffs{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/restraints/handcuffs{ - pixel_y = 3 - }, -/obj/item/assembly/timer, -/turf/open/floor/iron/dark, -/area/station/security/office) -"qui" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters{ - id = "cmo_desk_shutters"; - name = "Desk Shutters"; - dir = 1 +"quz" = ( +/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/catwalk_floor, +/area/station/maintenance/department/science) +"quA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 }, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/dark/side, -/area/station/command/heads_quarters/cmo) -"quN" = ( -/obj/machinery/light/directional/west, -/obj/structure/chair/plastic{ +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/turf/open/floor/iron, +/area/station/engineering/main) "quQ" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/particle_accelerator/particle_emitter/center, @@ -49081,13 +48656,13 @@ /obj/effect/landmark/navigate_destination/tools, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/primary) -"qva" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/landmark/start/chemist, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) +"qva" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_twentythree, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "qvz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -49099,15 +48674,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"qvB" = ( -/obj/structure/disposalpipe/segment{ - 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, -/area/station/engineering/main) "qvC" = ( /obj/structure/window/reinforced/tinted/spawner/directional/east, /obj/structure/table, @@ -49120,29 +48686,35 @@ /turf/open/floor/iron/vaporwave, /area/station/command/heads_quarters/rd) "qvR" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/neck/stethoscope, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/regular, +/obj/item/clothing/glasses/regular, +/obj/item/clothing/glasses/regular, /turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/area/station/medical/storage) "qvX" = ( -/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, -/area/station/maintenance/department/engine) -"qvY" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Hallway - West, Central, 2"; - name = "hallway camera" - }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) +/area/station/maintenance/department/engine/atmos) +"qwc" = ( +/obj/effect/turf_decal/vg_decals/atmos/oxygen, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) "qwd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49153,30 +48725,43 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"qwh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "qwx" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, /turf/open/space, /area/station/solars/starboard/aft) -"qwG" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"qwI" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/chair/sofa/bench/right{ dir = 4 }, -/obj/machinery/camera/directional/east{ - c_tag = "Medical - Lobby"; - network = list("ss13","medbay"); - name = "medical camera" +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"qwW" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 }, -/obj/structure/chair/sofa/corp/right{ - dir = 8 +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"qwY" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"qxf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "qxm" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -49208,25 +48793,41 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/maintenance/port/fore) -"qxK" = ( -/obj/effect/turf_decal/trimline/brown/filled/warning, -/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, -/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) +"qxL" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/light/directional/north, +/obj/machinery/station_map/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "qxQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron, /area/station/service/hydroponics) -"qyd" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) +"qxS" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"qxX" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/plumbing{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/hand_labeler, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "qyx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -49240,47 +48841,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"qzc" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library) -"qzg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, -/turf/open/floor/plating, -/area/station/maintenance/port) -"qzh" = ( -/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, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/medical/paramedic) -"qzk" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) -"qzl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "qzw" = ( /obj/effect/turf_decal/bot, /obj/machinery/flasher/portable, @@ -49291,12 +48851,6 @@ /obj/structure/sign/poster/official/work_for_a_future/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/security/armory) -"qzx" = ( -/obj/structure/table, -/obj/item/toy/ammo/gun, -/obj/item/toy/gun, -/turf/open/floor/iron/dark/side, -/area/station/commons/fitness/recreation) "qzL" = ( /obj/structure/mirror/directional/east, /obj/structure/sink/directional/west, @@ -49324,44 +48878,43 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"qAa" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/table, -/turf/open/floor/iron/white, -/area/station/science/explab) -"qAf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +"qAg" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/east, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "qAk" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"qAo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/dark/side, -/area/station/security/prison/workout) -"qAq" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +"qAp" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/cup/glass/trophy/bronze_cup{ + name = "Foam force security team competition 3rd place"; + pixel_x = -9; + pixel_y = 11 + }, +/obj/item/reagent_containers/cup/glass/trophy{ + desc = "You did good in the worst way possible."; + name = "Redshield 1st prize"; + pixel_x = 10; + pixel_y = 11 + }, +/obj/item/reagent_containers/cup/glass/trophy/silver_cup{ + name = "Head of shitcurity competition 2nd place"; + pixel_y = 8 }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"qAq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/security/prison/work) "qAy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, @@ -49372,41 +48925,27 @@ /obj/machinery/portable_atmospherics/pump, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"qAZ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 +"qAM" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 9 }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/filingcabinet, -/turf/open/floor/iron/white, -/area/station/science/lab) +/obj/effect/turf_decal/trimline/dark_red/corner, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "qBi" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"qBy" = ( -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/stone, -/area/station/smithing) -"qBz" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/chair, -/turf/open/floor/iron/checker{ - dir = 1 - }, -/area/station/command/heads_quarters/cmo) +"qBB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/photocopier, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "qBR" = ( /obj/effect/turf_decal/tile/purple/opposingcorners{ dir = 1 @@ -49416,12 +48955,6 @@ }, /turf/open/floor/iron/checker, /area/station/science/lab) -"qBU" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/secondary/service) "qBV" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -49431,23 +48964,38 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"qCf" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/hallway/primary/central) "qCg" = ( /turf/closed/wall, /area/station/commons/vacant_room/commissary) -"qCh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"qCi" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 }, -/obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, +/obj/machinery/module_duplicator, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/white, +/area/station/science/circuits) +"qCA" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/all_access, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/engineering/main) +/area/station/maintenance/disposal/incinerator) "qCD" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -49455,14 +49003,15 @@ /obj/structure/chair, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"qCL" = ( -/obj/item/radio/intercom/directional/west, -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/bar) +"qCP" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/genetics/cloning) "qCQ" = ( /turf/open/floor/iron, /area/station/science/ordnance) @@ -49474,17 +49023,91 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"qDz" = ( -/obj/structure/sign/warning/radiation/directional/west, +"qDq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + 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/cable/layer1, -/turf/open/floor/iron, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Main SMES Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/iron/textured, /area/station/engineering/engine_smes) +"qDw" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/duct, +/turf/open/floor/carpet/purple, +/area/station/security/prison/safe) +"qDF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance Closet" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"qDG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "cell_pub_shutters"; + name = "Security Shutters" + }, +/turf/open/floor/plating, +/area/station/security/brig) +"qDS" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/sign/poster/official/space_cops/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Security - Post, Science"; + name = "security camera" + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 5 + }, +/obj/item/folder/red{ + pixel_y = 7 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/science) "qDZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/carpet, /area/station/service/chapel) +"qEf" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/obj/structure/sign/poster/official/help_others/directional/south, +/obj/machinery/light/directional/south, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "qEk" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -49494,6 +49117,15 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"qEq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/obj/structure/disposalpipe/junction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) "qEv" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -49523,14 +49155,33 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"qEC" = ( -/obj/machinery/light/directional/east, +"qED" = ( +/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/maintenance{ + name = "Engineering Office Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/engineering/break_room) +"qEG" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, /turf/open/floor/iron/dark, -/area/station/security/prison/workout) +/area/station/medical/paramedic) "qEI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"qER" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "qET" = ( /turf/open/floor/iron/dark/side{ dir = 1 @@ -49547,6 +49198,12 @@ }, /turf/open/floor/iron/dark/textured, /area/station/service/chapel) +"qFm" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_twentythree, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "qFt" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/flowers_pp/style_random, @@ -49574,37 +49231,21 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"qFM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"qFI" = ( +/obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"qFP" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) -"qGi" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/structure/reagent_dispensers/plumbed{ - dir = 8 - }, /turf/open/floor/iron/white, -/area/station/medical/virology) -"qGp" = ( -/obj/machinery/light/directional/south, -/obj/structure/bookcase/random/nonfiction, +/area/station/medical/chemistry) +"qFY" = ( +/obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood, -/area/station/service/library) +/area/station/command/meeting_room) +"qGm" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "qGq" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -49617,61 +49258,48 @@ /obj/item/storage/fancy/candle_box, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"qGy" = ( +"qGz" = ( +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/machinery/duct, +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" }, -/area/station/hallway/primary/aft) -"qGK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/moisture_trap, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/catwalk_floor, +/area/station/medical/medbay/aft) +"qGR" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door/directional/south{ + id = "robotics_pub_shutters"; + name = "Robotics Shutters Control"; + pixel_x = 6; + req_access = list("robotics") + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"qGS" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"qGP" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"qHa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - 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/cable/layer1, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Main SMES Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +"qGY" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/glass/reinforced, +/area/station/service/abandoned_gambling_den) +"qHc" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 }, -/turf/open/floor/iron/textured, -/area/station/engineering/engine_smes) -"qHm" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/newscaster/directional/south, -/obj/structure/chair{ +/obj/structure/chair, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark/side{ dir = 1 }, -/obj/effect/landmark/start/paramedic, -/turf/open/floor/iron, -/area/station/medical/paramedic) +/area/station/cargo/lobby) "qHo" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -49685,39 +49313,16 @@ dir = 4 }, /area/station/service/hydroponics/garden) -"qHp" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"qHq" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, +"qHs" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/area/station/maintenance/disposal) "qHu" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"qHB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 4 - }, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "qHC" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 8 @@ -49733,13 +49338,45 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"qIg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"qHX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/west{ + name = "Engineering Desk" + }, +/obj/machinery/door/window/left/directional/east{ + name = "Engineering Desk"; + req_access = list("atmospherics","engineering") + }, +/obj/machinery/door/poddoor/shutters{ + id = "engi_office_shutters"; + name = "Engineering Shutters"; + dir = 8 + }, +/obj/structure/desk_bell{ + pixel_y = 10; + pixel_x = -6 + }, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/break_room) +"qIu" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, +/obj/machinery/computer/exodrone_control_console, /turf/open/floor/iron, -/area/station/engineering/main) +/area/station/cargo/drone_bay) "qIB" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -49773,27 +49410,6 @@ /obj/item/bedsheet/hos, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"qIC" = ( -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/closet/secure_closet/hydroponics, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/service/hydroponics) -"qIN" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/status_display/ai/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) -"qJc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) "qJt" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 9 @@ -49803,26 +49419,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"qJu" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/status_display/ai/directional/west, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "RaD"; - name = "RaD Fax Machine"; - pixel_x = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/lab) -"qJv" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) +"qJx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/wood, +/area/station/service/bar/backroom) "qJA" = ( /turf/open/floor/engine/n2, /area/station/engineering/atmos) @@ -49833,6 +49433,24 @@ /obj/effect/landmark/start/quartermaster, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"qJI" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/table, +/obj/item/stack/rods/ten, +/obj/item/assembly/prox_sensor, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"qJR" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) "qKk" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -49848,26 +49466,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"qKy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"qKG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ +"qKN" = ( +/obj/machinery/light/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/modular_computer/preset/curator{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/hallway/primary/aft) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "qKU" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -49878,6 +49485,18 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"qLo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "qLz" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -49895,78 +49514,83 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"qMh" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"qMF" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"qMO" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Engineering - Shared Storage"; - name = "engineering camera" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/table, -/obj/item/stack/rods/fifty{ - pixel_y = 6; - pixel_x = -6 - }, -/obj/item/stack/rods/fifty{ - pixel_y = 6; +"qMj" = ( +/obj/machinery/button/door/directional/north{ + id = "perma_lockdown"; + name = "Panic Button"; + req_access = list("brig"); pixel_x = 6 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"qMU" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/purple/line, -/obj/machinery/light/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/obj/structure/chair/sofa/bench/left, -/obj/effect/landmark/start/hangover, +/obj/machinery/button/flasher{ + id = "transfer_flash"; + name = "Transfer Flash"; + pixel_x = -6; + pixel_y = 24 + }, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"qMY" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark, -/obj/effect/turf_decal/siding/wideplating_new/dark{ +/area/station/security/execution/transfer) +"qMv" = ( +/obj/machinery/door/window/left/directional/south, +/obj/structure/table/wood/fancy, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"qMM" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"qNf" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/rack, -/obj/item/aicard, -/obj/item/ai_module/reset, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"qNq" = ( /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/maintenance{ - name = "Engineering Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/engineering/break_room) +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/aft) +"qMQ" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, +/area/station/service/library) +"qNj" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"qNz" = ( +/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, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "qNB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/dark/side, /area/station/commons/dorms) +"qNG" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/wrench/medical, +/obj/item/gun/syringe, +/turf/open/floor/iron/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) +"qNI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/medical/psychology) "qNL" = ( /obj/machinery/corral_corner{ mapping_id = "6" @@ -50001,21 +49625,37 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) -"qOl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"qOp" = ( -/obj/machinery/light/built/directional/west, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"qOg" = ( +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"qOr" = ( +/obj/machinery/light/directional/west, +/obj/structure/table, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/construction/plumbing, +/obj/item/plunger, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "qOu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) +"qOx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "chem_factory_shutters"; + name = "Chem Factory Shutter"; + dir = 1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/chemistry) "qOB" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/autoname/directional/south, @@ -50025,24 +49665,34 @@ "qOH" = ( /turf/closed/wall, /area/station/medical/office) -"qOJ" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/power/shieldwallgen, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) -"qOR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"qOM" = ( +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) +"qOS" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Command - CMO's Quarters"; + name = "command camera" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +/turf/open/floor/carpet/blue, +/area/station/command/heads_quarters/cmo) +"qOU" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/table/reinforced/rglass, +/obj/item/wrench/medical, +/obj/item/wrench/medical{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 7 + }, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/iron/white, +/area/station/medical/storage) "qOX" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -50060,23 +49710,24 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"qPn" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +"qPb" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/sink/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) +"qPd" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/south, -/mob/living/basic/chicken, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"qPo" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/delivery/red, -/obj/machinery/newscaster/directional/east, -/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 10 + }, /turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) +/area/station/hallway/primary/central) +"qPH" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "qPJ" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -50099,13 +49750,6 @@ /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/iron/dark, /area/station/security/execution) -"qPP" = ( -/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/showroomfloor, -/area/station/command/heads_quarters/rd) "qPR" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/two, @@ -50129,19 +49773,6 @@ /obj/item/storage/toolbox/mechanical, /turf/open/floor/iron/white, /area/station/science/lab) -"qQe" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table, -/obj/item/phone{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/reagent_containers/cup/glass/mug/britcup{ - pixel_x = -6; - pixel_y = 11 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "qQf" = ( /turf/open/floor/iron/dark/corner{ dir = 1 @@ -50153,19 +49784,20 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"qQp" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/meter, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"qQq" = ( -/obj/structure/chair/plastic{ - dir = 1 +"qQt" = ( +/obj/machinery/light/neon_lining{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Science - Xenobiology, Pen 5"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "qQz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50177,16 +49809,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) -"qQT" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/structure/chair, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/lobby) "qRc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50196,19 +49818,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"qRn" = ( -/obj/machinery/bookbinder, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"qRt" = ( -/obj/structure/toilet{ - dir = 4 +"qRi" = ( +/obj/structure/chair/sofa/bench/solo{ + dir = 8 }, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/break_room) +/turf/open/floor/iron/dark, +/area/station/command/bridge) "qRD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50229,43 +49844,29 @@ /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "qRN" = ( -/obj/machinery/atmospherics/components/tank/air{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"qRR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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/machinery/door/airlock/command/glass{ - name = "Chief Engineer's Office" +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Scrubbers"; + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/ce) -"qSu" = ( -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"qRZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) +"qSt" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"qSw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/item/radio/intercom/directional/north, +/obj/structure/table/reinforced/rglass, +/obj/machinery/computer/records/medical/laptop, +/turf/open/floor/iron/white, +/area/station/security/medical) +"qSA" = ( +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) "qSH" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -50283,6 +49884,21 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/iron/white/textured, /area/station/science/circuits) +"qSY" = ( +/turf/closed/wall, +/area/station/asteroid) +"qSZ" = ( +/obj/structure/cable, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"qTk" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "qTs" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -50322,6 +49938,34 @@ "qTI" = ( /turf/open/floor/iron, /area/station/commons/dorms) +"qTW" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 6 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/structure/closet/secure_closet/courtroom, +/obj/item/gavelhammer, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) +"qUc" = ( +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/warning{ + 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/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) "qUd" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -50348,29 +49992,13 @@ /obj/structure/sign/warning/radiation/directional/north, /turf/open/space/basic, /area/space/nearstation) -"qUp" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"qUs" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/computer/robotics{ +"qUw" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"qUB" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/structure/filingcabinet, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/sorting) +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "qUC" = ( /obj/effect/turf_decal/trimline/purple/filled/warning, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50384,15 +50012,22 @@ /obj/machinery/holopad, /turf/open/floor/iron/large, /area/station/science/robotics/lab) -"qUQ" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ +"qUT" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/nineteen_nineteen, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"qUY" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/chair/sofa/bench/left{ dir = 1 }, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) -"qUS" = ( -/turf/closed/wall, -/area/station/medical/patients_rooms/room_a) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "qVf" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -50401,31 +50036,52 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qVD" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"qVH" = ( -/obj/effect/mapping_helpers/burnt_floor, +"qVo" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/item/storage/box/lights/mixed, +/obj/item/toy/plush/slimeplushie, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/department/science/xenobiology) +"qVI" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Chapel Office, Backroom"; + name = "service camera" + }, +/obj/structure/table/wood/fancy/black, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/storage/box/bodybags{ + pixel_x = 4; + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel/office) +"qVK" = ( +/obj/vehicle/ridden/janicart, +/obj/item/key/janitor, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "qVR" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"qVX" = ( +"qVW" = ( +/obj/effect/spawner/structure/window/reinforced, /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) -"qWa" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "med_lockdown"; + name = "Medbay Emergency Lockdown Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/medical/medbay/central) "qWf" = ( /obj/structure/transit_tube/station/dispenser/reverse{ dir = 8 @@ -50433,59 +50089,51 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) +"qWh" = ( +/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/catwalk_floor, +/area/station/maintenance/department/science) "qWj" = ( /obj/machinery/light/directional/east, /obj/machinery/status_display/evac/directional/east, /turf/open/floor/carpet, /area/station/service/chapel) -"qWn" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/atmospherics, -/obj/item/tank/internals/plasmaman/belt/empty{ - pixel_x = 9 - }, -/obj/item/tank/internals/plasmaman/belt/empty{ - pixel_x = -11 - }, -/obj/item/crowbar/red, -/obj/item/toy/figure/atmos{ - pixel_y = 16 - }, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/engineering/atmos/office) -"qWF" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, +"qWk" = ( /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, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"qWT" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/folder/white{ - pixel_x = 3; - pixel_y = 3 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"qWZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/line{ +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/light/directional/west, -/obj/structure/sign/departments/telecomms/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 +/turf/open/floor/iron/textured, +/area/station/engineering/main) +"qWo" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/closet/secure_closet{ + req_access = list("bar"); + name = "Gun Locker" }, -/area/station/hallway/primary/aft) +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/beanbag, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/turf/open/floor/wood, +/area/station/service/bar/backroom) +"qWy" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/directional/west, +/obj/machinery/space_heater, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "qXb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50498,10 +50146,6 @@ dir = 8 }, /area/station/hallway/secondary/service) -"qXl" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/hallway/primary/central) "qXm" = ( /obj/machinery/power/solar_control{ id = "foreport"; @@ -50511,41 +50155,6 @@ /obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"qXp" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"qXs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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/machinery/door/airlock/service{ - name = "Printer Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/library, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/printer) -"qXC" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/virology) "qXN" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -50555,70 +50164,49 @@ /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"qXO" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/break_room) -"qXR" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "qXW" = ( /obj/effect/turf_decal/trimline/red/filled/warning, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"qYf" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/line{ +"qXY" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "qYz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"qYD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/broken_bottle, +"qYK" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 1 + }, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"qYN" = ( +/area/station/maintenance/port/fore) +"qYP" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset, +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"qYS" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible, -/turf/open/space, -/area/space/nearstation) "qYY" = ( /obj/structure/sink/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"qZj" = ( -/turf/closed/wall, -/area/station/commons/dorms/room1) +"qZa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "qZk" = ( /turf/closed/wall/r_wall, /area/station/science/auxlab) @@ -50630,14 +50218,17 @@ dir = 1 }, /area/station/cargo/office) -"qZo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"qZp" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/fitness/recreation) +/obj/item/radio/intercom/directional/north, +/obj/structure/rack, +/obj/item/wallframe/camera, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/engineering/break_room) "qZu" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -50645,83 +50236,127 @@ /obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron/white, /area/station/science/research) -"qZw" = ( -/obj/machinery/telecomms/receiver/preset_right, -/turf/open/floor/circuit/telecomms, -/area/station/tcommsat/server) -"qZF" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/floor/grass, -/area/station/hallway/primary/central) -"rab" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, -/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ - dir = 1 +"qZv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"ran" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/virology) +"qZz" = ( +/obj/machinery/light/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) +"qZD" = ( +/obj/effect/turf_decal/bot_white, +/obj/machinery/button/door/directional/west{ + id = "qm_warehouse"; + name = "Warehouse Shutters Control"; + req_access = list("cargo") }, -/obj/effect/decal/cleanable/dirt, +/obj/structure/cargo_shelf, /turf/open/floor/iron, -/area/station/maintenance/disposal) -"raq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/area/station/cargo/warehouse) +"qZE" = ( +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"qZF" = ( +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/blueshield) +"qZJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"qZX" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"qZZ" = ( +/obj/effect/turf_decal/tile/green, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/table, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_y = 3 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = -10; + pixel_y = 5 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/watertank, +/obj/effect/spawner/random/food_or_drink/seed, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark/side{ dir = 9 }, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron, -/area/station/engineering/main) -"rau" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +/area/station/service/hydroponics) +"rab" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, +/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals - Checkpoint, North"; - name = "arrivals camera" - }, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) +/area/station/engineering/atmos) "raC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"raN" = ( +"raH" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Library" + dir = 8 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/library) -"raO" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/north{ - name = "Apothecary Desk"; - req_access = list("pharmacy") +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/door/window/left/directional/south{ - name = "Apothecary Desk" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - id = "apothecary_sec_desk_shutters"; - name = "Apothecary Secodary Desk Shutters" +/obj/structure/cable, +/obj/machinery/door_buttons/access_button{ + dir = 1; + idDoor = "pathology_airlock_exterior"; + idSelf = "pathology_airlock_control"; + name = "Pathology Access Button"; + pixel_x = -6; + pixel_y = -24; + req_access = list("pathology") }, -/obj/structure/desk_bell{ - pixel_x = 6 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "pathology_airlock_exterior"; + name = "Pathology Exterior Airlock" }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, /turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) +/area/station/medical/virology) "raY" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/conveyor{ @@ -50730,55 +50365,75 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/storage) -"rbe" = ( -/obj/machinery/light/directional/east, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"rbf" = ( -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) -"rbo" = ( -/obj/machinery/telecomms/broadcaster/preset_left, -/obj/structure/cable, -/turf/open/floor/circuit/telecomms, -/area/station/tcommsat/server) -"rbH" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/structure/tank_holder/oxygen, -/obj/effect/decal/cleanable/dirt, +"rbm" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"rbW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/tool, +/area/station/engineering/main) +"rbn" = ( +/obj/structure/table/wood, +/obj/item/newspaper{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/flashlight/lamp{ + pixel_y = 3 + }, +/turf/open/floor/carpet/red, +/area/station/commons/vacant_room/office) +"rbB" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 1 + }, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/starboard/aft) +"rbU" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "rbY" = ( /turf/open/floor/plastic, /area/station/security/prison/safe) -"rcf" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - name = "freezer passive vent" - }, -/turf/open/floor/iron/freezer, -/area/station/science/xenobiology) -"rcj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"rcp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library) +"rci" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/delivery/white, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"rcs" = ( +/obj/structure/filingcabinet, +/turf/open/floor/carpet/blue, +/area/station/commons/vacant_room/office) "rcy" = ( /obj/structure/foamedmetal, /turf/open/floor/plating, /area/station/engineering/storage) +"rcz" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/aft) +"rcB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/structure/sign/departments/engineering/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) "rcC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50789,13 +50444,25 @@ /obj/effect/mapping_helpers/mail_sorting/supply/disposals, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"rcG" = ( -/obj/structure/table/wood/fancy/black, -/obj/item/toy/figure/chaplain{ - pixel_y = -9 +"rcH" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = 5 }, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +/obj/item/storage/box/handcuffs{ + pixel_x = -9; + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"rcN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/obj/structure/table, +/turf/open/floor/stone, +/area/station/smithing) "rcS" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 10 @@ -50806,35 +50473,39 @@ /obj/machinery/light/floor/has_bulb, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"rdb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "detective_office_shutters"; - name = "Detective Office Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/security/detectives_office) "rdk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/wood, -/area/station/security/detectives_office) -"rdn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/dark, -/area/station/security/prison/safe) -"rdr" = ( -/obj/machinery/computer/cryopod/directional/west, -/turf/open/floor/iron/dark/side{ +/turf/open/floor/wood, +/area/station/security/detectives_office) +"rdm" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/area/station/security/prison/safe) +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/science/research) +"rdo" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/smartfridge/chemistry/preloaded, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"rds" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "rdt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50856,72 +50527,95 @@ /obj/item/storage/crayons, /turf/open/floor/iron, /area/station/commons/dorms) -"rdQ" = ( -/obj/structure/window/reinforced/spawner/directional/east, +"ref" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/iron/dark, -/area/station/commons/fitness/recreation) -"rei" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/effect/turf_decal/trimline/blue/warning{ +/area/station/engineering/transit_tube) +"rez" = ( +/obj/effect/turf_decal/tile/bar/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) -"rer" = ( -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/office) -"reB" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/requests_console/directional/south{ + department = "Kitchen"; + name = "Kitchen Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"reI" = ( +/obj/machinery/atmospherics/components/tank/air{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"reP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/textured, +/obj/machinery/light/directional/north, +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, /area/station/engineering/main) -"reQ" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "reT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/carpet/green, /area/station/commons/locker) +"reY" = ( +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/iron, +/area/station/engineering/main) "rff" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/power/port_gen/pacman/pre_loaded, +/obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/department/cargo) +"rfj" = ( +/obj/machinery/holopad, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain) "rfl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"rfo" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood, -/turf/open/floor/wood/large, -/area/station/commons/dorms/room1) -"rfx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/iron/showroomfloor, -/area/station/service/abandoned_gambling_den) -"rfB" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 +"rfq" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/wood, +/area/station/maintenance/port/fore) +"rfz" = ( +/turf/closed/wall, +/area/station/medical/virology) +"rfG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + 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/plating, +/area/station/maintenance/port/fore) +"rfQ" = ( +/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 = "Starboard Bow Solar Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/effect/landmark/navigate_destination/common/starboardbowsolar, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/solars/starboard/fore) "rfS" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) @@ -50950,16 +50644,24 @@ /obj/effect/turf_decal/trimline/dark_blue/warning, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"rfY" = ( +"rfZ" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"rgb" = ( +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/atmos/office) +"rgd" = ( /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/maintenance{ - name = "CMO Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, -/turf/open/floor/catwalk_floor, -/area/station/command/heads_quarters/cmo) +/obj/machinery/duct, +/turf/open/floor/iron/dark/side, +/area/station/service/janitor) "rgi" = ( /obj/structure/sign/warning/vacuum/external/directional/north, /obj/structure/cable, @@ -50968,6 +50670,26 @@ /obj/item/multitool, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"rgu" = ( +/obj/effect/turf_decal/tile/dark_blue{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) +"rgv" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Medical - Pharmacy"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/component_printer, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "rgy" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/table/wood, @@ -50984,27 +50706,22 @@ }, /turf/open/floor/wood, /area/station/commons/locker) -"rgE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/molten_object/large, +"rgH" = ( /obj/structure/cable, -/turf/open/floor/stone, -/area/station/smithing) -"rgJ" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "rgL" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white, +/area/station/medical/break_room) +"rgM" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "rgN" = ( /obj/structure/table/reinforced, /obj/item/pipe_dispenser, @@ -51019,30 +50736,12 @@ /obj/machinery/power/shieldwallgen/xenobiologyaccess, /turf/open/floor/plating/reinforced, /area/station/science/xenobiology) -"rgY" = ( -/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 = 6 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"rhh" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, +"rhg" = ( /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/exam_room) -"rhs" = ( -/obj/machinery/light/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "rhv" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -51069,24 +50768,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"rhE" = ( -/obj/machinery/door/airlock/maintenance, -/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/any/engineering/maintenance, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"rhI" = ( -/obj/machinery/suit_storage_unit/security, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "rhW" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) @@ -51112,6 +50793,36 @@ /obj/item/radio/off, /turf/open/floor/iron/dark, /area/station/security/office) +"rif" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"rii" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/east{ + name = "Medbay Front Desk"; + req_access = list("medical") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Medbay Front Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "medbay_desk_shutters"; + name = "Medbay Front Desk Shutters"; + dir = 8 + }, +/obj/structure/desk_bell{ + pixel_x = -6 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/office) "ril" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/machinery/atmospherics/miner/carbon_dioxide, @@ -51144,13 +50855,29 @@ /obj/structure/mirror/directional/south, /turf/open/floor/iron/dark/side, /area/station/service/theater) -"riF" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/iron/dark/side{ - dir = 5 +"rix" = ( +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"riJ" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood, +/area/station/service/library) +"riN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/area/station/security/prison) +/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/machinery/door/airlock/command{ + name = "Chief Medical Officer's Quarters" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/cmo) "rjf" = ( /obj/machinery/light/small/directional/west, /obj/item/radio/intercom/chapel/directional/east, @@ -51159,13 +50886,37 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"rjp" = ( -/obj/structure/table/wood, -/obj/structure/cassette_rack/prefilled{ - pixel_y = 8 +"rjq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +/obj/machinery/door/poddoor/shutters{ + id = "engi_pass_shutters"; + name = "Engineering Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/engineering/break_room) +"rjr" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/requests_console/directional/south{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/machinery/modular_computer/preset/cargochat/security{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "rjK" = ( /obj/effect/turf_decal/arrows/red{ dir = 4; @@ -51176,19 +50927,11 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"rjQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/department/security/brig) -"rjS" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/sign/plaques/kiddie/library{ - pixel_y = -32 - }, -/turf/open/floor/wood, -/area/station/service/library) +"rjN" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "rjW" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/main) @@ -51196,6 +50939,14 @@ /obj/effect/spawner/random/engineering/material_cheap, /turf/open/floor/iron, /area/station/cargo/warehouse) +"rkl" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) "rkB" = ( /turf/closed/wall, /area/station/science/genetics/cloning) @@ -51213,34 +50964,15 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/science/auxlab) -"rkK" = ( -/obj/structure/table, -/obj/item/lightreplacer, +"rkM" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, -/area/station/maintenance/port/aft) +/area/station/maintenance/department/engine/atmos) "rkX" = ( /obj/machinery/light/floor/has_bulb, /turf/open/floor/grass, /area/station/hallway/primary/central) -"rlc" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/cup/glass/trophy/bronze_cup{ - name = "Foam force security team competition 3rd place"; - pixel_x = -9; - pixel_y = 11 - }, -/obj/item/reagent_containers/cup/glass/trophy{ - desc = "You did good in the worst way possible."; - name = "Redshield 1st prize"; - pixel_x = 10; - pixel_y = 11 - }, -/obj/item/reagent_containers/cup/glass/trophy/silver_cup{ - name = "Head of shitcurity competition 2nd place"; - pixel_y = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "rlk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51248,24 +50980,37 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rlt" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library/private) -"rlB" = ( +"rlr" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/table, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -5 +/obj/item/crowbar/large, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 }, -/obj/item/assembly/flash/handheld{ - pixel_x = -5 +/turf/open/floor/iron/dark/side, +/area/station/engineering/storage_shared) +"rls" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 8; + name = "Waste Collection" }, -/obj/item/toy/figure/secofficer{ - pixel_y = 3; - pixel_x = 7 +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"rlC" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/office) +/obj/machinery/requests_console/directional/north{ + department = "Cargo Bay"; + name = "Cargo Bay Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/storage) "rlF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51275,67 +51020,136 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/office) -"rlG" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 +"rlH" = ( +/turf/closed/wall/r_wall, +/area/station/maintenance/department/engineering/central) +"rmc" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -5 }, -/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/recharger{ + pixel_x = 5 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"rmm" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/structure/sign/calendar/directional/east, +/obj/machinery/computer/records/security{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"rmn" = ( +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port) +"rmv" = ( +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/light/small/directional/north, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Head of Personnel's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/hop, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/hop) +"rmx" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 10 + }, +/obj/machinery/light/directional/north, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"rmD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/entry) -"rlK" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 +"rmG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/structure/disposalpipe/sorting/mail/flip{ +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/machinery/door/airlock/engineering/glass{ + name = "Engineering Office" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/effect/landmark/navigate_destination/engineering, +/obj/effect/landmark/navigate_destination/atmos, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/break_room) +"rmL" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/mapping_helpers/mail_sorting/engineering/general, +/obj/effect/turf_decal/stripes/line, /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) -"rlQ" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - name = "AI Upload Turret Control"; - pixel_y = 26 +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) -"rmn" = ( -/obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, -/area/station/maintenance/port) -"rmx" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 10 +/area/station/commons/fitness/recreation) +"rna" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/south{ + name = "Cargo Desk"; + req_access = list("cargo") + }, +/obj/machinery/door/window/left/directional/north{ + name = "Cargo Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "cargo_desk"; + name = "Cargo Desk Shutters"; + dir = 1 + }, +/obj/structure/desk_bell{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/papercutter, +/turf/open/floor/iron/dark/textured, +/area/station/cargo/office) +"rnb" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/cable, +/obj/machinery/door/window/brigdoor/left/directional/south{ + name = "Command Desk"; + req_access = list("command") }, -/obj/machinery/light/directional/north, -/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"rmJ" = ( -/obj/effect/turf_decal/vg_decals/atmos/nitrogen, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) -"rmR" = ( -/obj/structure/girder, -/turf/open/floor/plating/airless, -/area/station/asteroid) -"rng" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/command/bridge) +"rnj" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/shower/directional/east, +/obj/machinery/light/small/built/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) "rnm" = ( /obj/machinery/light/directional/north, /obj/machinery/button/door/directional/north{ @@ -51352,20 +51166,24 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"rnx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/violet/visible{ +"rnz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) +"rnC" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/airalarm/directional/south, +/obj/machinery/computer/quantum_console{ dir = 1 }, /turf/open/floor/iron/dark, -/area/station/science/ordnance) -"rny" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/structure/sign/calendar/directional/east, -/obj/machinery/computer/records/security{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) +/area/station/security/bitden) +"rnM" = ( +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "rnN" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51383,6 +51201,19 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"rnP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) +"rnQ" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "rnV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51393,6 +51224,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) +"rnX" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "roc" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -51411,6 +51247,20 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/security/brig) +"roh" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"ror" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) "rot" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -51425,29 +51275,40 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rov" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +"roC" = ( +/obj/structure/table, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"roK" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/gulag_item_reclaimer{ + pixel_y = 30 + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) "roO" = ( /obj/machinery/power/transmission_laser{ dir = 8 }, /turf/open/floor/engine, /area/station/engineering/engine_smes) -"roS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"roV" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, -/obj/machinery/vending/cigarette, -/turf/open/floor/wood, -/area/station/commons/locker) +/obj/effect/turf_decal/trimline/dark_blue/line, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"roW" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "rpd" = ( /obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, @@ -51482,12 +51343,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"rpu" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/effect/landmark/start/detective, -/turf/open/floor/wood, -/area/station/security/detectives_office) "rpA" = ( /obj/effect/turf_decal/bot_white, /obj/structure/sign/poster/random/directional/north, @@ -51506,13 +51361,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"rpC" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) "rpI" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -51529,41 +51377,27 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) -"rpJ" = ( +"rpN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/newscaster/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) "rpP" = ( /obj/machinery/camera/autoname/directional/north, /obj/structure/sign/warning/biohazard/directional/north, /obj/machinery/slime_market_pad, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"rpT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/button/door/directional/west{ - id = "ce_office_shutters"; - name = "Privacy Shutters Control" - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/command/heads_quarters/ce) -"rqa" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/washing_machine, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) "rqm" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -51574,31 +51408,42 @@ /obj/item/target/alien/anchored, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"rqz" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +"rqw" = ( +/obj/structure/filingcabinet, +/turf/open/floor/wood, +/area/station/medical/psychology) +"rqB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/painting/library{ - pixel_x = -32 +/obj/machinery/station_map/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"rqH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/chapel) "rqP" = ( /obj/structure/chair, /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"rrg" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +"rrb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 }, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/cold_temp/directional/west, +/obj/effect/turf_decal/trimline/yellow/warning, +/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/side{ - dir = 8 + dir = 1 }, -/area/station/tcommsat/computer) +/area/station/hallway/primary/aft) "rrq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51608,23 +51453,34 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"rrt" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/shower/directional/east, +/obj/structure/drain, +/turf/open/floor/iron/white, +/area/station/science/genetics/cloning) "rrv" = ( /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/science/genetics) -"rrG" = ( -/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, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"rrR" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/airalarm/directional/south, +"rrx" = ( +/obj/machinery/light/directional/east, +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"rrD" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, /turf/open/floor/iron/white, -/area/station/medical/cryo) +/area/station/medical/medbay/aft) "rsn" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -51647,53 +51503,41 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"rsR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/engineering/toolbox, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"rtd" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/structure/cable, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"rtq" = ( -/obj/effect/turf_decal/tile/green/half/contrasted{ +"rsC" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/effect/turf_decal/bot, +/obj/machinery/vending/security, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"rtm" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "sci_west_win_shutters"; + name = "Research Division Shutters"; + dir = 8 }, -/area/station/service/hydroponics) +/turf/open/floor/plating, +/area/station/science/research) +"rtp" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "rtE" = ( /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"rtJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"rtO" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"rtI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ dir = 9 }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/filingcabinet/security, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/area/station/engineering/atmos/pumproom) +"rtJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "rtP" = ( /obj/structure/frame/computer{ anchored = 1; @@ -51701,51 +51545,52 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/port/fore) +"rtW" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/table, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/lightreplacer, +/turf/open/floor/iron/dark, +/area/station/service/janitor) +"rua" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp{ + pixel_y = 3 + }, +/turf/open/floor/carpet/blue, +/area/station/commons/vacant_room/office) +"ruc" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/command/heads_quarters/ce) "rud" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/machinery/composters, /turf/open/floor/iron/dark/side, /area/station/service/hydroponics/garden) -"ruf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/poddoor/preopen{ - id = "bridge_blast_doors"; - name = "Bridge Access Blast Door" - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/bridge) "rug" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port) -"ruh" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"run" = ( -/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 +"rup" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo - Delivery Office, West"; + name = "cargo camera" }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/science/research) +/obj/machinery/conveyor{ + id = "package_sort_2" + }, +/turf/open/floor/iron/dark, +/area/station/cargo/sorting) "ruu" = ( /obj/structure/cable, /obj/structure/cable/layer3, @@ -51754,31 +51599,14 @@ /mob/living/simple_animal/bot/secbot/pingsky, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"ruC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +"ruF" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /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/machinery/door/airlock/engineering{ - name = "Tech Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, -/obj/effect/landmark/navigate_destination/techstorage, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/storage/tech) -"ruH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/office{ - dir = 8 - }, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) +/area/station/hallway/primary/central) "ruJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/air, @@ -51795,6 +51623,38 @@ dir = 4 }, /area/station/service/hydroponics/garden) +"ruP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/cardboard, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"ruR" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) +"ruS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/corporate{ + name = "Blueshield's Quarters" + }, +/obj/effect/mapping_helpers/airlock/access/all/admin/general, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/blueshield) "rvf" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -51802,15 +51662,47 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"rvC" = ( +"rvp" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Medical - Exam Room, East"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/computer/operating{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"rvt" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"rvv" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/north, +/obj/structure/closet/secure_closet/medical1, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"rvw" = ( /obj/machinery/light/small/directional/north, -/obj/structure/closet/l3closet/janitor, -/obj/item/clothing/under/costume/maid, -/obj/item/clothing/gloves/maid, -/obj/item/clothing/head/costume/maidheadband, -/obj/item/grenade/clusterbuster/cleaner, -/turf/open/floor/iron/dark, -/area/station/service/janitor) +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) +"rvU" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/box, +/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/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/medical/paramedic) "rvW" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -51846,42 +51738,17 @@ /obj/item/stack/sheet/plasteel/twenty, /turf/open/floor/iron, /area/station/science/robotics/lab) -"rvZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/table/optable{ - desc = "A cold, hard place for your final rest."; - name = "Morgue Slab" - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"rwa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"rwf" = ( -/obj/structure/chair/sofa/bench/solo{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"rwh" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"rwq" = ( +"rwi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/chair/office{ +/obj/machinery/duct, +/obj/structure/disposalpipe/sorting/mail{ dir = 1 }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +/obj/effect/mapping_helpers/mail_sorting/science/xenobiology, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "rws" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/sparker/directional/south{ @@ -51927,27 +51794,27 @@ /obj/effect/landmark/navigate_destination/hydro, /turf/open/floor/iron/dark/textured, /area/station/service/hydroponics) -"rxa" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"rwX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/light/small/directional/east, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/security/execution) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Art Gallery" + }, +/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, +/area/station/service/library/artgallery) "rxc" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy, /turf/open/space/basic, /area/space/nearstation) -"rxk" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "rxl" = ( /obj/effect/turf_decal/bot/left, /turf/open/floor/engine, @@ -51975,44 +51842,30 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/port) -"rxF" = ( +"rxz" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"rxD" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) -"rxH" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ +/obj/effect/turf_decal/trimline/yellow/line{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"rxJ" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/dark/side{ dir = 8 }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/poddoor/preopen{ - id = "bridge_blast_doors"; - name = "Bridge Access Blast Door" - }, -/obj/machinery/door/window/right/directional/west{ - name = "Bridge Deliveries"; - req_access = list("command") +/area/station/hallway/primary/aft) +"rxH" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 4 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) +/turf/open/floor/iron/white, +/area/station/science/genetics) "rxT" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -52035,21 +51888,9 @@ /turf/open/floor/iron/dark, /area/station/tcommsat/computer) "ryl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/morgue{ - name = "Private Study"; - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/private) +/obj/structure/bookcase/random/adult, +/turf/open/floor/wood, +/area/station/service/library) "ryp" = ( /obj/machinery/mass_driver/trash{ dir = 8 @@ -52066,14 +51907,25 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"ryx" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "ryz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 }, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 8 +/turf/open/floor/iron/dark/side{ + dir = 5 }, -/area/station/engineering/atmos) +/area/station/security/interrogation) +"ryC" = ( +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) "ryL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -52081,23 +51933,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/engine, /area/station/science/explab) -"ryM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Teleporter Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/teleporter, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/dark/textured, -/area/station/command/teleporter) "ryN" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Dorm"; @@ -52115,46 +51950,44 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"rzi" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, +"rzq" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/camera/motion/directional/west{ - c_tag = "AI - Upload, West"; - network = list("aiupload"); - name = "ai camera" - }, +/obj/machinery/modular_computer/preset/civilian, /turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) -"rzs" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/area/station/science/robotics/mechbay) +"rzI" = ( +/obj/machinery/light/directional/west, +/obj/structure/table, +/obj/item/storage/box/prisoner{ + pixel_y = 8; + pixel_x = 7 }, -/turf/open/floor/iron/dark, -/area/station/security/detectives_office) -"rzz" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table/reinforced/rglass, -/obj/item/wrench/medical, -/obj/item/wrench/medical{ - pixel_x = 4; - pixel_y = 4 +/obj/item/storage/box/prisoner{ + pixel_x = 7 }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 7 +/obj/item/toy/figure/prisoner{ + pixel_x = -7 }, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"rzG" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"rzK" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"rzL" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 }, +/obj/item/radio/intercom/directional/south, +/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, -/area/station/science/ordnance) +/area/station/engineering/storage/tech) "rzM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52170,23 +52003,16 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/office) -"rzW" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/machinery/vending/medical, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"rAh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"rAf" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_10k, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "rAl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -52209,68 +52035,26 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"rAA" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 5 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Security - Courtroom Northeast"; - name = "security camera" +"rAx" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/item/radio/intercom/directional/west{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "AI Private Channel" }, -/obj/structure/filingcabinet, /turf/open/floor/iron/dark, -/area/station/security/courtroom) +/area/station/ai_monitored/turret_protected/ai_upload) "rAB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, /area/station/security/prison/rec) -"rAH" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/security/prison) -"rAO" = ( -/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/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) -"rAT" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/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/dark, -/area/station/hallway/secondary/entry) "rAY" = ( /obj/machinery/light/directional/north, /obj/structure/sign/poster/official/anniversary_vintage_reprint/directional/north, /obj/machinery/modular_computer/preset/research, /turf/open/floor/iron/vaporwave, /area/station/command/heads_quarters/rd) -"rBa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "rBb" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -52296,31 +52080,18 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"rBk" = ( -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"rBn" = ( -/obj/effect/turf_decal/trimline/purple/line, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) -"rBF" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"rBo" = ( +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/machinery/requests_console/directional/north{ - department = "Security"; - name = "Security Requests Console" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/machinery/computer/records/security, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/science) +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/mob/living/basic/chicken, +/turf/open/floor/grass, +/area/station/service/hydroponics) "rBM" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -52331,28 +52102,27 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/processing) -"rCa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "hydro_back_shutters"; - name = "Hydroponics Backroom Shutters"; - dir = 1 - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"rCh" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/line, -/obj/machinery/power/apc/auto_name/directional/north, +"rBW" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/random/directional/east, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/office) +/turf/open/floor/plating, +/area/station/maintenance/department/eva) "rCj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"rCo" = ( +/obj/machinery/light/directional/west, +/obj/structure/bed/double{ + dir = 4 + }, +/obj/item/bedsheet/dorms_double{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) "rCx" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 10 @@ -52365,29 +52135,9 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/science/server) -"rCE" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/security/prison/work) -"rCS" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) "rCT" = ( /turf/closed/wall, /area/station/hallway/primary/starboard) -"rCZ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot_white, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "rDd" = ( /obj/structure/cable, /obj/machinery/duct, @@ -52424,9 +52174,13 @@ /obj/machinery/computer/mech_bay_power_console, /turf/open/floor/circuit, /area/station/maintenance/department/electrical) -"rDD" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/transit_tube) +"rDC" = ( +/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/plating, +/area/station/maintenance/department/engine) "rDG" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/trimline/dark_blue/warning{ @@ -52439,6 +52193,20 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"rDJ" = ( +/obj/structure/rack, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/security/prison/safe) +"rDK" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "rDO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -52463,14 +52231,6 @@ /obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/iron, /area/station/science/xenobiology) -"rDY" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/door/window/brigdoor/left/directional/south{ - name = "Research Director's Desk"; - req_access = list("rd") - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "rEd" = ( /obj/effect/spawner/random/structure/chair_flipped, /obj/effect/spawner/random/trash/cigbutt, @@ -52480,39 +52240,38 @@ }, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) -"rEe" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 +"rEh" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/directional/north{ + c_tag = "Command - Bridge Deliveries"; + name = "command camera" }, -/obj/machinery/button/door/directional/south{ - id = "station_away_gate"; - name = "Gateway Access Shutter Control"; - pixel_x = 5; - req_access = list("gateway") +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) +"rEn" = ( +/obj/machinery/light/directional/west, +/obj/machinery/button/door/directional/west{ + id = "external_engine_storage"; + name = "External Engine Storage Control"; + req_access = list("engineering") }, -/obj/effect/turf_decal/bot_white, -/obj/machinery/newscaster/directional/west, -/obj/machinery/modular_computer/preset/civilian{ +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/main) +"rEq" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/command/gateway) -"rEf" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 8 }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/engineering/storage) -"rEo" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 +/obj/item/storage/medkit/regular{ + pixel_y = 1 }, -/obj/machinery/vending/coffee, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/aft) +/turf/open/floor/iron, +/area/station/command/gateway) "rEv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -52523,27 +52282,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/cryo) -"rEz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/structure/chair{ dir = 1 }, -/obj/machinery/light/small/directional/north, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"rEE" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "rEI" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -52565,6 +52308,14 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"rEO" = ( +/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/box, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "rEP" = ( /obj/machinery/light/small/directional/north, /obj/machinery/status_display/evac/directional/north, @@ -52572,19 +52323,14 @@ dir = 1 }, /area/station/commons/locker) -"rEU" = ( -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/west, -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"rFb" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 8; - name = "freezer passive vent" +"rER" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 6 }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/machinery/station_map/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "rFk" = ( /turf/closed/wall, /area/station/medical/medbay/central) @@ -52595,6 +52341,20 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/port) +"rFF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/duct, +/obj/machinery/door/airlock/bathroom{ + name = "Bathroom"; + id_tag = "cap_bathroom" + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/captain/private) "rFP" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 4 @@ -52609,19 +52369,59 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"rFU" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"rGe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mopbucket, +/obj/item/mop, +/turf/open/floor/plating, +/area/station/maintenance/port) "rGg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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, /turf/open/floor/plating, /area/station/maintenance/port) -"rGt" = ( -/obj/machinery/light/built/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, +"rGr" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/poddoor/shutters{ + id = "eva_shutters"; + name = "EVA Shutters" + }, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/command/storage/eva) +"rGy" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/floor/has_bulb, /turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) -"rGu" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/station/asteroid) +/area/station/hallway/primary/port) "rGz" = ( /obj/structure/bed{ dir = 4 @@ -52632,11 +52432,6 @@ /mob/living/carbon/human/species/monkey/dukeman, /turf/open/floor/plastic, /area/station/security/prison/safe) -"rGH" = ( -/obj/machinery/firealarm/directional/east, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "rGL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52645,13 +52440,17 @@ dir = 4 }, /area/station/commons/fitness/recreation) -"rGN" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/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/checkpoint/customs/auxiliary) +"rGP" = ( +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) "rGT" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52669,31 +52468,19 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/command/storage/satellite) -"rHd" = ( -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/machinery/computer/atmos_control/mix_tank{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"rHl" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"rHi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/service/janitor) +"rHk" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, -/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/machinery/door/airlock/medical/glass{ - name = "Chemistry Factory" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, -/obj/effect/landmark/navigate_destination/chemfactory, -/turf/open/floor/iron/white/textured, -/area/station/medical/chemistry) +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/aft) "rHp" = ( /obj/machinery/power/smes{ capacity = 9e+006; @@ -52705,15 +52492,17 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/disposal/incinerator) -"rHq" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/power/apc/auto_name/directional/north, +"rHs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/flashlight{ + pixel_y = 9 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) "rHt" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -52723,6 +52512,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/garden) +"rHC" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/door/firedoor, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/duct, +/turf/open/floor/iron/dark/textured, +/area/station/service/hydroponics) "rHD" = ( /obj/machinery/light/neon_lining{ dir = 4 @@ -52732,29 +52538,10 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"rHG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/airlock/grunge{ - name = "Gambling Den" - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) -"rHN" = ( -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/bar) +"rHL" = ( +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "rHQ" = ( /obj/effect/turf_decal/stripes/end{ dir = 1 @@ -52778,10 +52565,53 @@ }, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"rIx" = ( -/obj/structure/bookcase/random/adult, -/turf/open/floor/wood, +"rIf" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/computer/communications{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"rIh" = ( +/obj/effect/spawner/random/trash/box, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"rIk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/effect/landmark/navigate_destination/library, +/turf/open/floor/iron/dark/textured, /area/station/service/library) +"rIq" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"rIw" = ( +/turf/open/floor/iron/white, +/area/station/science/explab) +"rIy" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/random{ + dir = 4 + }, +/obj/effect/landmark/start/janitor, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "rIC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -52799,6 +52629,13 @@ /obj/structure/closet/secure_closet/evidence, /turf/open/floor/iron/dark, /area/station/security/evidence) +"rIF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "rIN" = ( /obj/machinery/light/neon_lining{ dir = 8 @@ -52813,44 +52650,32 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/dark/side, /area/station/commons/fitness) -"rIX" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 +"rJg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"rJk" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden{ + dir = 6 + }, +/turf/open/floor/iron/dark/side{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/mob/living/basic/chicken, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"rJp" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, +/area/station/hallway/primary/aft) +"rJv" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"rJu" = ( -/obj/machinery/telecomms/bus/preset_three, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"rJz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 +/area/station/medical/cryo) +"rJE" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 4 }, -/obj/structure/sign/poster/official/periodic_table/directional/west, -/obj/structure/chemical_manufacturer, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rJM" = ( /obj/machinery/firealarm/directional/north{ pixel_x = 5 @@ -52879,34 +52704,118 @@ /obj/structure/table/reinforced/plasmarglass, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"rKd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ +"rJQ" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"rKe" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + name = "AI Upload Turret Control"; + pixel_y = 26 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) +"rJS" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/machinery/button/door/directional/south{ + id = "station_away_gate"; + name = "Gateway Access Shutter Control"; + pixel_x = 5; + req_access = list("gateway") + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/newscaster/directional/west, +/obj/machinery/modular_computer/preset/civilian{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/gateway) +"rJV" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/effect/turf_decal/bot_red, +/obj/machinery/camera/motion/directional/west{ + c_tag = "Command - EVA Storage, West"; + name = "motion-sensitive command camera" }, +/obj/machinery/recharge_station, /turf/open/floor/iron/dark, -/area/station/security/detectives_office) +/area/station/ai_monitored/command/storage/eva) +"rKa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"rKe" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable, +/obj/machinery/holopad, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/large, +/area/station/commons/storage/primary) +"rKf" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/north{ + name = "Genetics Desk"; + req_access = list("genetics") + }, +/obj/machinery/door/window/left/directional/south{ + name = "Reception" + }, +/obj/machinery/door/poddoor/shutters{ + id = "genetics_shutters"; + name = "Genetics Shutters" + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/turf/open/floor/iron/white/textured, +/area/station/science/genetics) +"rKj" = ( +/obj/machinery/light/small/broken/directional/east, +/obj/structure/frame/computer{ + anchored = 1; + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) +"rKk" = ( +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo - Mining Dock"; + name = "cargo camera" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/miningoffice) +"rKq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) +"rKT" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "rKU" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science) -"rKX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/engineering/break_room) "rLs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52914,51 +52823,47 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) -"rLH" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/pink/visible, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"rLK" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, +"rLt" = ( +/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, +/obj/machinery/duct, /turf/open/floor/iron/dark, -/area/station/security/courtroom) -"rLP" = ( -/obj/effect/turf_decal/siding/wood{ +/area/station/command/bridge) +"rLu" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/computer/security{ dir = 4 }, -/obj/structure/chair/office{ +/turf/open/floor/iron/dark, +/area/station/security/warden) +"rLA" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/machinery/computer/records/pathology{ dir = 8 }, -/obj/effect/landmark/start/head_of_personnel, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) -"rLQ" = ( -/obj/effect/mapping_helpers/dead_body_placer, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"rLK" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, /turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/security/courtroom) "rLX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/station/science/circuits) -"rMc" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/ai_monitored/command/storage/eva) -"rMk" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/light/directional/south, -/obj/structure/chair/sofa/bench/left{ - dir = 1 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/main) +"rMe" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/service/library/private) "rMm" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -52976,88 +52881,161 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/engineering/main) -"rMz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 +"rMy" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) +"rMC" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/contraband/prison, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/bowl, +/obj/item/kitchen/fork/plastic, +/obj/item/kitchen/fork/plastic, +/obj/item/kitchen/fork/plastic, +/obj/item/kitchen/spoon/plastic, +/obj/item/kitchen/spoon/plastic, +/obj/item/kitchen/spoon/plastic, +/obj/item/knife/plastic, +/obj/item/knife/plastic, +/obj/item/knife/plastic, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/box/drinkingglasses, +/obj/item/storage/box/drinkingglasses, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"rML" = ( +/obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/obj/structure/chair{ +/obj/effect/mapping_helpers/apc/cell_5k, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, +/turf/open/floor/iron/dark/side, +/area/station/security/prison) +"rNa" = ( +/obj/structure/cable, +/obj/structure/chair/office/light{ dir = 4 }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"rMM" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/machinery/light/directional/north, -/obj/machinery/station_map/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"rMT" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Medical - Deliveries"; - name = "medical camera"; - network = list("ss13","medbay") +/obj/effect/landmark/start/librarian, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"rNb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/medbay/central) -"rMV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 10 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"rNc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/bar) "rNd" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input{ dir = 8 }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"rNx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/science/robotics/mechbay) +"rNe" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/computer/atmos_control/air_tank{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"rNn" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/window/reinforced/tinted, +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/safe) +"rNo" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "rNA" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/wood, /area/station/commons/locker) -"rNF" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"rNL" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/chair/office/light{ - dir = 8 +"rNI" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 }, -/obj/effect/landmark/start/research_director, +/obj/machinery/vending/wallmed/directional/west, +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) +"rNY" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/dark, -/area/station/command/bridge) -"rOt" = ( -/turf/closed/wall, -/area/station/commons/dorms/room3) -"rOu" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Commons - Cryogenics, Departures"; - name = "commons camera" - }, -/obj/structure/sign/poster/official/help_others/directional/west, -/obj/machinery/cryopod{ +/area/station/service/janitor) +"rNZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/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, +/area/station/hallway/primary/aft) +"rOd" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole{ dir = 4 }, -/turf/open/floor/iron/dark/side{ +/turf/open/floor/wood, +/area/station/service/library/private) +"rOg" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/area/station/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/white, +/area/station/medical/office) +"rOq" = ( +/obj/structure/disposalpipe/sorting/mail/flip, +/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/mail_sorting/service/chapel, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "rOv" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning, /turf/open/floor/iron, @@ -53106,47 +53084,46 @@ /obj/item/assembly/flash/handheld, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"rOR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/vending/tool, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/storage_shared) "rOW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/engineering/main) "rPh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/space_heater, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"rPn" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/freezer, +/area/station/science/xenobiology) +"rPr" = ( +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"rPC" = ( +/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/box, +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/turf/open/floor/iron/large, +/area/station/hallway/secondary/service) +"rPG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/obj/item/radio/intercom/directional/north, -/obj/structure/rack, -/obj/item/wallframe/camera, -/turf/open/floor/iron/dark/side{ - dir = 5 +/obj/structure/bodycontainer/morgue{ + dir = 8 }, -/area/station/engineering/break_room) -"rPn" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/freezer, -/area/station/science/xenobiology) -"rPJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"rPK" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/advanced, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/medical/morgue) "rPQ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -53169,41 +53146,36 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"rQs" = ( -/obj/effect/turf_decal/siding/wood{ +"rQB" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 }, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Security - Head of Security Room"; - name = "security camera" - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/bottle/whiskey{ - pixel_y = 14; - pixel_x = 7 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 6 +/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/mail_sorting/science/xenobiology, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"rQF" = ( +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) +"rQH" = ( +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = -3; - pixel_y = 8 +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"rQv" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/machinery/newscaster/directional/west, -/obj/structure/chair/sofa/corp/right{ - dir = 4 +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark/side{ + dir = 6 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/commons/storage/primary) "rQO" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -53217,28 +53189,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/security/brig) -"rQU" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/south, -/obj/machinery/vending/medical, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"rQX" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/light/directional/west, -/obj/structure/sign/warning/secure_area/directional/west, -/obj/machinery/vending/assist, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"rRb" = ( -/obj/effect/turf_decal/trimline/brown/filled/warning{ - dir = 9 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/cargo/office) "rRd" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 @@ -53249,6 +53199,11 @@ dir = 6 }, /area/station/cargo/lobby) +"rRh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "rRl" = ( /obj/structure/table, /obj/item/clothing/gloves/color/fyellow, @@ -53265,44 +53220,51 @@ "rRm" = ( /turf/closed/wall, /area/station/service/kitchen) +"rRp" = ( +/obj/effect/mob_spawn/corpse/human/assistant, +/turf/open/floor/wood, +/area/station/maintenance/port/fore) "rRt" = ( /obj/machinery/mech_bay_recharge_port, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"rRU" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 +"rRP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/obj/effect/turf_decal/stripes/corner{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5 + }, +/obj/machinery/iv_drip, /turf/open/floor/iron/white, /area/station/medical/exam_room) -"rRZ" = ( -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/department/engine/atmos) -"rSc" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ +"rRV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible/layer4{ dir = 8 }, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ - dir = 4 +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"rSd" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"rSf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/stone, +/area/station/smithing) "rSo" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, @@ -53324,16 +53286,21 @@ /obj/structure/foamedmetal, /turf/open/floor/plating, /area/station/maintenance/department/science) -"rSN" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 +"rSB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"rSG" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/prison/rec) "rSO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -53346,34 +53313,14 @@ /obj/effect/spawner/random/structure/furniture_parts, /turf/open/floor/plating, /area/station/maintenance/port) -"rSY" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Security - Checkpoint, Arrivals"; - name = "security camera" - }, -/obj/machinery/button/door/directional/west{ - id = "arrivals_security_checkpoint"; - name = "Security Checkpoint Shutters Control"; - req_access = list("security") +"rSW" = ( +/obj/effect/turf_decal/trimline/purple/line, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs/auxiliary) -"rTf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/north, -/obj/machinery/chem_heater/withbuffer, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) +/area/station/hallway/primary/starboard) "rTm" = ( /obj/machinery/camera/autoname/directional/south, /obj/structure/cable, @@ -53388,19 +53335,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"rTu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port) "rTx" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -53424,17 +53358,9 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) -"rTF" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/field/generator, -/turf/open/floor/plating, -/area/station/engineering/main) -"rTL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"rTI" = ( +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) "rTM" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ @@ -53460,23 +53386,12 @@ "rTS" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain) -"rTV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Command - Head of Personnel's Office"; - name = "command camera" - }, -/obj/machinery/requests_console/directional/south{ - department = "Head of Personnel's Desk"; - name = "Head of Personnel's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +"rUa" = ( +/obj/machinery/light_switch/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/punching_bag, +/turf/open/floor/iron/dark, +/area/station/security/prison/workout) "rUf" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -53496,14 +53411,12 @@ /obj/item/tank/jetpack/carbondioxide, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"rUm" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison/visit) +"rUH" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rUL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, @@ -53516,6 +53429,23 @@ /obj/machinery/meter, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"rUS" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 5 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Courtroom Northeast"; + name = "security camera" + }, +/obj/structure/filingcabinet, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) +"rUW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "rUY" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning, /obj/effect/turf_decal/trimline/yellow/warning{ @@ -53523,17 +53453,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"rVm" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Hallway - Central, West"; - name = "hallway camera" +"rVn" = ( +/obj/effect/turf_decal/trimline/purple/line, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, +/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "rVz" = ( @@ -53548,6 +53473,18 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"rVF" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port) +"rVK" = ( +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom/directional/west, +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "rVT" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -53558,11 +53495,39 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/department/security) +"rVX" = ( +/obj/structure/chair/comfy/black, +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"rWb" = ( +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"rWh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/obj/structure/cable/layer1, +/turf/open/floor/iron, +/area/station/engineering/main) +"rWn" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/service/chapel/office) "rWp" = ( /obj/structure/chair, /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"rWs" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Maintenance - External Access, East"; + name = "maintenance camera" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "rWt" = ( /obj/structure/sign/warning/electric_shock/directional/east, /obj/effect/spawner/random/structure/table, @@ -53592,6 +53557,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"rWR" = ( +/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/catwalk_floor, +/area/station/maintenance/department/science) +"rWV" = ( +/obj/machinery/light/directional/north, +/obj/machinery/button/door/directional/north{ + id = "heads_meeting"; + name = "Meeting Room Shutters Control"; + req_access = list("command") + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) "rWZ" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -53599,6 +53582,16 @@ /obj/effect/turf_decal/trimline/dark_blue/line, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"rXq" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/line{ + dir = 4 + }, +/obj/structure/sign/departments/custodian/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "rXC" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -53606,14 +53599,6 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"rXH" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/door/window/brigdoor/left/directional/north{ - name = "Chief Engineer's Desk"; - req_access = list("ce") - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "rXM" = ( /obj/structure/bed/pod, /obj/item/bedsheet/random, @@ -53625,12 +53610,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rXT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"rYd" = ( +/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/cable, +/obj/machinery/duct, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/service/janitor) "rYe" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/atmos) @@ -53646,15 +53635,22 @@ }, /turf/open/floor/iron/dark/textured, /area/station/service/chapel) -"rYy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"rYs" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/obj/machinery/light/directional/west, +/obj/machinery/airalarm/directional/west, +/obj/structure/table/reinforced/rglass, +/obj/machinery/computer/records/medical/laptop, +/turf/open/floor/iron/white, +/area/station/science/genetics) +"rYu" = ( +/obj/structure/chair/sofa/right/maroon{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "rYz" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -53695,36 +53691,32 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/smooth_large, /area/station/science/xenobiology) +"rZh" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"rZl" = ( +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/commons/dorms) "rZq" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/foyer) -"rZs" = ( +"rZx" = ( +/obj/effect/turf_decal/box, /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/warden) -"rZw" = ( -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/effect/turf_decal/box/red, -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/airalarm/mixingchamber_access, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/freezerchamber) -"rZy" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/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/holopad, /obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/storage) "rZB" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -53735,14 +53727,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"rZN" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible, -/turf/open/space, -/area/space/nearstation) "rZO" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -53763,6 +53747,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/brig) +"saf" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 7 + }, +/obj/item/wrench/medical, +/obj/item/stack/cable_coil, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "san" = ( /obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -53784,31 +53785,57 @@ dir = 8 }, /area/station/command/gateway) -"sat" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) -"say" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/table, -/obj/item/stack/rods/ten, -/obj/item/assembly/prox_sensor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"saI" = ( +"saB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "kitchen_sec_shutters"; + name = "Kitchen Shutters"; + dir = 1 + }, +/obj/structure/desk_bell{ + pixel_y = 2; + pixel_x = -6 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/kitchen) +"saM" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + 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, +/area/station/security/checkpoint/medical) +"saQ" = ( /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "saV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"saW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "saY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -53820,11 +53847,19 @@ dir = 1 }, /area/station/tcommsat/computer) +"sbb" = ( +/obj/machinery/vending/boozeomat/all_access, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "sbg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"sbx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "sbz" = ( /obj/effect/turf_decal/trimline/dark_red/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53833,35 +53868,55 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"sbB" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Science - Auxiliary Lab"; - name = "science camera"; - network = list("ss13","rd") +"sbI" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/suit_storage_unit/standard_unit, +/obj/structure/disposaloutlet, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"sbL" = ( +/obj/machinery/light/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"sbT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Apothecary" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, /turf/open/floor/iron/white/textured, -/area/station/science/auxlab) -"sbL" = ( -/obj/machinery/light/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"sbN" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 +/area/station/medical/pharmacy) +"sce" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair/office{ + dir = 8 }, -/obj/machinery/light/small/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/office) "scf" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/bot, /obj/machinery/vending/assist, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"scg" = ( +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) "scD" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -53889,12 +53944,6 @@ }, /turf/open/floor/iron/textured, /area/station/security/interrogation) -"scQ" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/landmark/start/gary, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/abandoned_gambling_den) "scR" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/siding/wood{ @@ -53905,6 +53954,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/garden) +"scY" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "sdf" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/camera/autoname/directional/south, @@ -53917,19 +53971,32 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"sdO" = ( +/turf/closed/wall, +/area/station/commons/dorms/room1) "sdP" = ( /turf/open/floor/wood, /area/station/security/prison/rec) -"sea" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = -8 +"sdT" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 }, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/cargo/miningoffice) +"sdW" = ( +/obj/machinery/status_display/evac/directional/east, +/obj/structure/filingcabinet, +/turf/open/floor/iron/dark, +/area/station/security/prison/visit) "sec" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -53958,11 +54025,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/white/textured, /area/station/science/explab) -"seu" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/computer/station_alert, -/turf/open/floor/iron, -/area/station/engineering/main) "sey" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53979,6 +54041,15 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) +"sfc" = ( +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/chair/sofa/middle/maroon{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/commons/fitness) "sfh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -53996,96 +54067,83 @@ /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"sfs" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/virology, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"sfu" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"sfz" = ( -/obj/effect/turf_decal/stripes/box, -/obj/machinery/light/small/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/delivery_chute{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/sorting) "sfC" = ( /turf/closed/wall, /area/station/service/chapel/office) -"sfI" = ( -/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 = "Starboard Quarter Solar Access" +"sfN" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/effect/landmark/navigate_destination/common/starboardquartersolar, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/solars/starboard/aft) -"sgh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 +/obj/structure/table/reinforced/rglass, +/obj/machinery/light/directional/east, +/obj/item/wrench, +/obj/item/clothing/gloves/latex, +/obj/item/storage/box/masks{ + pixel_y = 8; + pixel_x = -5 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"sgI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) -"sgJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 +/obj/item/storage/box/disks{ + pixel_y = 4; + pixel_x = -5 }, -/obj/structure/sign/warning/vacuum/external/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/item/storage/box/beakers{ + pixel_x = -5 + }, +/obj/item/storage/box/gloves{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 4; + pixel_x = 5 + }, +/obj/item/storage/box/disks{ + pixel_x = 5 + }, +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/iron/white, +/area/station/science/genetics) +"sfZ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, +/obj/structure/sign/departments/medbay/alt/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"sgE" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/west, +/obj/structure/chair/sofa/corp{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "sgM" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"sgP" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/wood, +/area/station/service/library) "sgT" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"shc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/gary/rare, -/turf/open/floor/iron/sepia, -/area/station/service/library/artgallery) -"shm" = ( -/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/side{ - dir = 1 - }, -/area/station/security/prison/work) -"shq" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/blueshield) "shu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54098,20 +54156,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"shx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"shz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "shF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, @@ -54129,6 +54173,11 @@ dir = 9 }, /area/station/tcommsat/computer) +"shQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "shX" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, @@ -54147,11 +54196,20 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"siB" = ( -/obj/machinery/light/built/directional/north, -/obj/effect/decal/cleanable/dirt, +"siz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance Closet" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/area/station/maintenance/starboard/aft) "siE" = ( /turf/closed/wall/r_wall, /area/station/maintenance/central) @@ -54167,6 +54225,23 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) +"siZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/science/research) "sjk" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/closet/emcloset, @@ -54185,13 +54260,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"sjs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/prison/work) "sjw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54203,46 +54271,26 @@ }, /area/station/hallway/secondary/service) "sjy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/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/machinery/duct, -/obj/machinery/door/airlock/grunge{ - name = "Morgue" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/effect/mapping_helpers/airlock/access/any/medical/morgue, -/turf/open/floor/iron/dark/textured, -/area/station/medical/morgue) -"sjF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) -"sjM" = ( -/obj/structure/table, -/obj/item/clothing/glasses/blindfold, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) +/obj/structure/bookcase/random/fiction, +/turf/open/floor/wood, +/area/station/service/library) "sjV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron, /area/station/service/hydroponics) -"skd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"skb" = ( +/obj/structure/sign/painting/library{ + pixel_y = 32 }, -/turf/open/floor/iron/dark, -/area/station/security/warden) +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/wood/fancy, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 35 + }, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "ske" = ( /turf/open/floor/iron, /area/station/cargo/office) @@ -54253,17 +54301,6 @@ dir = 6 }, /area/station/commons/storage/primary) -"sku" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"skz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/storage) "skA" = ( /obj/structure/rack, /obj/item/storage/bag/ore, @@ -54286,29 +54323,19 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"skI" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +"skR" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/machinery/status_display/evac/directional/east, -/obj/machinery/computer/diseasesplicer, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"skJ" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/wood, -/area/station/command/meeting_room) -"skS" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 +/obj/machinery/light/small/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/sofa/corp{ + dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/station/service/library/lounge) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "slc" = ( /obj/structure/chair/stool/directional/west, /obj/effect/landmark/start/hangover, @@ -54316,11 +54343,6 @@ dir = 9 }, /area/station/commons/fitness) -"slh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4, -/obj/machinery/meter/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "sli" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -54331,6 +54353,16 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/mess) +"sln" = ( +/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/cable, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) "slq" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -54341,17 +54373,6 @@ /obj/machinery/recharger, /turf/open/floor/iron/dark, /area/station/security/processing) -"sls" = ( -/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/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/commons/vacant_room/commissary) "slt" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical{ @@ -54384,75 +54405,67 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/maintenance/port) -"slz" = ( -/obj/machinery/button/door/directional/north{ - id = "library_desk_shutters"; - name = "Library Desk Shutters Control"; - req_access = list("library") +"slD" = ( +/obj/effect/mapping_helpers/ianbirthday, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) +"slG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, -/obj/machinery/newscaster/directional/east, -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement{ +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/east, +/obj/machinery/chem_heater/withbuffer, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"slQ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/station_map/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/office) +"slY" = ( +/turf/open/floor/carpet/green, +/area/station/service/abandoned_gambling_den) +"smg" = ( +/obj/effect/turf_decal/trimline/neutral/filled/end{ dir = 8 }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"slS" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/stripes/end{ dir = 8 }, +/obj/structure/closet/emcloset/anchored, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"sml" = ( +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/button/door/directional/south{ - id = "prison_release"; - name = "Labor Camp Shuttle Lockdown"; - req_access = list("security"); - pixel_x = 6 - }, -/obj/machinery/button/door/directional/south{ - id = "labor_dock_bolt"; - name = "Labor Camp Shuttle Dock Airlock Control"; - req_access = list("security"); - pixel_x = -6 + dir = 1 }, +/obj/structure/cable, /obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "prison_release"; - name = "Prisoner Processing Blast Door" - }, /obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Dock"; - id_tag = "labor_dock_bolt" + name = "Armory" }, -/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/security/armory, /turf/open/floor/iron/dark/textured, -/area/station/security/processing) -"smr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/area/station/ai_monitored/security/armory) +"smn" = ( +/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, -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/cargo/drone_bay) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "sms" = ( /turf/closed/wall, /area/station/service/chapel/funeral) -"smB" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/construction/mining/aux_base) "smC" = ( /obj/effect/turf_decal/trimline/brown/filled/warning, /obj/effect/turf_decal/trimline/brown/warning{ @@ -54460,6 +54473,45 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"smL" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/north{ + name = "Reception" + }, +/obj/machinery/door/window/left/directional/south{ + name = "Robotics Desk"; + req_access = list("robotics") + }, +/obj/machinery/door/poddoor/shutters{ + id = "robotics_sci_shutters"; + name = "Robotics Shutters"; + dir = 1 + }, +/obj/structure/desk_bell{ + pixel_x = 7; + pixel_y = 7 + }, +/turf/open/floor/iron/textured, +/area/station/science/robotics/lab) +"smM" = ( +/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, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/medical/paramedic) "smN" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -54478,25 +54530,11 @@ dir = 8 }, /area/station/commons/locker) -"smR" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"sna" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, +"smZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"snd" = ( -/obj/structure/rack, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/security/prison/safe) +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/miningoffice) "snh" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering - Atmospherics Nitrous Oxide Chamber"; @@ -54504,6 +54542,13 @@ }, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"snj" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/computer/aifixer{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "snk" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -54520,16 +54565,9 @@ /area/station/service/chapel/funeral) "snl" = ( /obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/space/basic, -/area/station/solars/port/fore) -"snm" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/supply) +/obj/structure/cable, +/turf/open/space/basic, +/area/station/solars/port/fore) "snq" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -54551,21 +54589,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"snx" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/secondary/service) -"snL" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/item/stack/sheet/iron/ten, -/obj/item/stack/cable_coil, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "snQ" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -54578,12 +54601,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"sob" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_b) "soc" = ( /obj/effect/spawner/random/structure/chair_maintenance, /turf/open/floor/plating, @@ -54595,49 +54612,30 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"sos" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/volume_pump/layer2{ - name = "Emergency Waste Release" - }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 1; - name = "Emergency Air Supply"; - target_pressure = 250 - }, -/turf/open/floor/plating/reinforced, -/area/station/science/xenobiology/hallway) "soB" = ( /obj/effect/turf_decal/stripes/box, /obj/structure/window/reinforced/spawner/directional/west, /obj/item/target, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"soW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, +"soS" = ( +/obj/machinery/light/directional/south, +/obj/structure/bookcase/random/reference, /turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"spb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Closet" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, +/area/station/service/library) +"soY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"spl" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/obj/effect/landmark/start/head_of_personnel, +/turf/open/floor/wood, +/area/station/command/meeting_room) "spo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -54655,12 +54653,56 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"spz" = ( +/obj/structure/cable, +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/prison/rec) "spG" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 5 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"spS" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = -5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) +"spU" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"sqb" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "sqj" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair{ @@ -54669,37 +54711,117 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"sqZ" = ( -/obj/structure/table/wood/fancy/black, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen/fountain, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"srQ" = ( -/obj/effect/turf_decal/bot_red, -/obj/machinery/light/directional/west, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/large, -/area/station/ai_monitored/command/storage/eva) -"srS" = ( -/obj/structure/table/wood, -/obj/machinery/computer/records/medical/laptop, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"ssz" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ +"sqk" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/rack, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/security/prison/safe) +"sqq" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/research/glass{ + name = "Freeze Chamber Exterior Airlock"; + id_tag = "ord_freezer_bolt" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) +"sqD" = ( +/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/stripes/line{ dir = 8 }, -/obj/machinery/airlock_sensor/incinerator_atmos{ - pixel_y = 24; - pixel_x = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Break Room" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/break_room) +"sqH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/liquid_barrier, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, +/turf/open/floor/plating, +/area/station/science/xenobiology) +"sqI" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/button/door/directional/east{ + id = "apothecary_pri_desk_shutters"; + name = "Apothecary Primary Desk Shutters Control"; + req_access = list("pharmacy") + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"sra" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"srE" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/brigdoor/left/directional/east{ + name = "Tertiary AI Core"; + req_access = list("ai_upload") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "tertiary_ai_core_shutters"; + name = "Tertiary AI Core Shutters" }, /turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +/area/station/ai_monitored/turret_protected/ai) +"srJ" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) +"ssp" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/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) +"sss" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "ssD" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -54707,6 +54829,26 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"ssE" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/east, +/obj/machinery/stasis, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"ssJ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/camera/directional/south{ + c_tag = "Security - Evidence Storage"; + name = "security camera" + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/closet{ + name = "Evidence Closet" + }, +/turf/open/floor/iron/dark, +/area/station/security/evidence) "ssL" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -54718,31 +54860,39 @@ /obj/structure/flora/tree/jungle/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) -"stx" = ( -/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/security/execution/transfer) -"stB" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/table, -/obj/machinery/button/door/directional/east{ - id = "bitrunner_den"; - name = "Bitrunner Den Shutters Control" +"stj" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/bitden) -"stD" = ( +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"stu" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /obj/effect/turf_decal/trimline/dark_blue/line, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/chair/sofa/bench/left, -/obj/effect/landmark/start/assistant, +/obj/machinery/button/door/directional/north{ + id = "eva_shutters"; + name = "EVA Storage Shutters Control"; + req_access = list("command"); + pixel_x = -7 + }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"stx" = ( +/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/security/execution/transfer) "stI" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 8 @@ -54753,30 +54903,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"stR" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners{ - dir = 1 - }, -/obj/machinery/requests_console/directional/east{ - department = "Research Lab"; - name = "Research Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/upgraded, -/turf/open/floor/iron/checker, -/area/station/science/lab) -"stU" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/light/directional/west, -/obj/structure/chair/sofa/bench/right, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +"stK" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/lawoffice) "sue" = ( /obj/machinery/cryopod{ dir = 8 @@ -54801,11 +54931,6 @@ dir = 4 }, /area/station/service/hydroponics) -"sux" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron/dark, -/area/station/service/janitor) "suC" = ( /obj/machinery/conveyor{ dir = 4; @@ -54817,11 +54942,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"suE" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "suH" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat_interior) @@ -54831,49 +54951,6 @@ dir = 8 }, /area/station/commons/fitness/recreation) -"suW" = ( -/obj/machinery/requests_console/directional/west{ - department = "Quartermaster's Desk"; - name = "Quartermaster's Desk Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Quartermaster's Office"; - name = "Quartermaster's Fax Machine" - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) -"suX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/maintenance{ - name = "Law Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/lawyer, -/turf/open/floor/plating, -/area/station/service/lawoffice) -"svc" = ( -/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, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) "svg" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/extinguisher_cabinet/directional/north, @@ -54881,6 +54958,20 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/dark, /area/station/science/robotics/mechbay) +"svh" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) +"svm" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "svo" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -54896,16 +54987,33 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/exit/departure_lounge) -"svK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"svr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/area/station/science/xenobiology) +"svs" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/mirror/directional/east, +/obj/structure/sink/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"svx" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/obj/machinery/station_map/directional/north, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"svD" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/medbay/central) "svN" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -54920,6 +55028,16 @@ dir = 1 }, /area/station/commons/fitness) +"svU" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"svX" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible, +/turf/closed/wall/r_wall, +/area/station/maintenance/starboard/aft) "swd" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -54934,6 +55052,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"swf" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/break_room) +"swg" = ( +/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, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) "swp" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/black, @@ -54947,126 +55088,78 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"swz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"swJ" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/computer/station_alert, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/atmos/office) +"swv" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "swR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/holding_cell) -"swY" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = 9 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"sxf" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/structure/table, -/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 = 6 - }, -/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 = 6 - }, -/obj/item/storage/pill_bottle/mannitol, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_y = -4 - }, -/turf/open/floor/iron/white, -/area/station/medical/cryo) -"sxi" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "sxo" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, /obj/effect/turf_decal/tile/neutral/half{ - dir = 4 - }, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 4 - }, -/area/station/command/gateway) -"sxJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/break_room) -"sxS" = ( -/turf/closed/wall, -/area/station/medical/storage) -"syu" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/table, -/obj/item/analyzer, -/obj/item/assembly/signaler{ - pixel_y = 11; - pixel_x = -6 - }, -/obj/item/assembly/signaler{ - pixel_y = 11; - pixel_x = 6 + dir = 4 }, -/obj/item/healthanalyzer, -/obj/item/plant_analyzer{ - pixel_y = 3; - pixel_x = 3 +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/command/gateway) +"sxB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"syM" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, /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, +/obj/machinery/door/airlock/maintenance{ + name = "Service Hall Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/hallway/secondary/service) +"sxF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "bridge_blast_doors"; + name = "Bridge Access Blast Door" + }, +/turf/open/floor/plating, +/area/station/command/bridge) +"sxU" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port) +"sxZ" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/light/small/directional/south, +/obj/machinery/ticket_machine/directional/south, +/obj/structure/table, +/turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"syQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"syR" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "syW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, @@ -55084,6 +55177,40 @@ }, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/service) +"szl" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + id = "prison_release"; + name = "Labor Camp Shuttle Lockdown"; + req_access = list("security"); + pixel_y = 6 + }, +/obj/machinery/computer/shuttle/labor{ + dir = 4 + }, +/obj/machinery/button/door/directional/west{ + id = "labor_dock_bolt"; + name = "Labor Camp Shuttle Dock Airlock Control"; + req_access = list("security"); + pixel_y = -6 + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"szm" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/atmospherics/pipe/smart/simple/violet/visible, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) +"szA" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "szQ" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 @@ -55109,12 +55236,6 @@ /obj/effect/landmark/navigate_destination/gateway, /turf/open/floor/iron/textured, /area/station/command/gateway) -"szY" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/light/directional/east, -/obj/structure/sign/departments/engineering/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) "sAh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -55130,6 +55251,22 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"sAk" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/structure/table, +/obj/item/radio/off{ + pixel_x = -6 + }, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 6 + }, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "sAq" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 1 @@ -55138,77 +55275,98 @@ dir = 1 }, /area/station/cargo/storage) -"sAH" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/status_display/evac/directional/west, +"sAs" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/iron, -/area/station/engineering/main) -"sAJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "genetics_shutters"; - name = "Genetics Shutters" +/area/station/maintenance/disposal/incinerator) +"sAz" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/lockers) +"sAH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/science/genetics) +/turf/open/floor/iron/sepia, +/area/station/service/library/artgallery) +"sAM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "sAN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"sAT" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "sAY" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"sBi" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/south, +/obj/structure/table, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_y = 7; + pixel_x = 3 + }, +/obj/item/storage/box/lights/mixed, +/obj/item/crowbar/large, +/obj/item/tank/internals/oxygen/yellow{ + pixel_x = 4; + pixel_y = -3 + }, +/turf/open/floor/iron, +/area/station/engineering/main) +"sBl" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/item/pen, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"sBp" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/smartfridge/chemistry/preloaded, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "sBx" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted, /turf/open/floor/iron/dark/corner{ dir = 1 }, /area/station/service/hydroponics) -"sBM" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"sBO" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"sBN" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/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, -/obj/machinery/door/airlock/maintenance{ - name = "Detective Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/detective, -/turf/open/floor/plating, -/area/station/security/detectives_office) +/turf/open/floor/iron/white, +/area/station/science/research) "sBS" = ( /turf/closed/wall, /area/station/tcommsat/computer) -"sBT" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/science) +"sBZ" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 6 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "sCj" = ( /obj/machinery/status_display/evac/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ @@ -55216,22 +55374,42 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) +"sCk" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "sCt" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/cable, /obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 12 - }, -/obj/item/storage/toolbox/electrical{ - pixel_y = 6 +/obj/item/papercutter, +/obj/item/hand_labeler, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) +"sDc" = ( +/obj/machinery/button/door/directional/south{ + id = "apothecary_sec_desk_shutters"; + name = "Secondary Desk Shutters Control"; + req_access = list("pharmacy") }, -/obj/item/storage/toolbox/electrical, -/obj/item/multitool, -/obj/item/clothing/glasses/welding{ - pixel_y = 12 +/obj/machinery/chem_dispenser, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"sDg" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "sDi" = ( /obj/item/radio/intercom/directional/east{ freerange = 1; @@ -55268,67 +55446,52 @@ /obj/structure/filingcabinet, /turf/open/floor/carpet/red, /area/station/security/detectives_office) -"sDq" = ( -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/structure/table, -/obj/item/toy/plush/carpplushie{ - name = "Jeff"; - desc = "An adorable stuffed toy that resembles a space carp. The warden was given Jeff to soothe rampant anger issues" - }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) -"sDr" = ( -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side, -/area/station/service/hydroponics) "sDz" = ( /turf/closed/wall, /area/station/commons/locker) -"sDC" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot_white/right, -/obj/structure/filingcabinet, -/obj/item/folder/documents, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"sEf" = ( -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/service/janitor) -"sEm" = ( +"sDT" = ( /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=EVA2"; - location = "Dorm" +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"sDY" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/closet/emcloset, +/obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"sEd" = ( +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "sEr" = ( /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/security/execution) -"sEA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/hobo_squat, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"sEG" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/requests_console/directional/south{ + department = "Genetics"; + name = "Genetics Requests console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white, +/area/station/science/genetics) "sEO" = ( /turf/closed/wall/r_wall, /area/station/science/xenobiology/hallway) +"sER" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "sFb" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -55355,16 +55518,10 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"sFv" = ( -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"sFE" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"sFs" = ( +/obj/structure/displaycase/captain, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) "sFH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55374,6 +55531,16 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"sFQ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate, +/obj/item/stack/ore/silver, +/obj/item/stack/ore/silver, +/obj/item/stack/ore/silver, +/obj/item/stack/ore/silver, +/obj/item/stack/ore/silver, +/turf/open/floor/plating, +/area/station/maintenance/port) "sFS" = ( /obj/machinery/light/directional/south, /obj/structure/dresser, @@ -55381,44 +55548,83 @@ dir = 6 }, /area/station/service/theater) -"sGk" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ +"sFZ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ dir = 4 }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/obj/effect/turf_decal/stripes/line, +/obj/structure/sign/warning/vacuum/external/directional/south, +/obj/machinery/camera/autoname/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"sGh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/warden) "sGm" = ( /obj/structure/sign/poster/random/directional/east, /turf/open/floor/iron, /area/station/cargo/warehouse) -"sGp" = ( -/obj/machinery/door/window/right/directional/north, -/obj/structure/table/wood/fancy/blue, -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"sGF" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"sGq" = ( /obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/aft) -"sGP" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"sGT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/wood, -/obj/item/storage/photo_album/prison, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"sGY" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Security - Armory, East"; + name = "security camera" + }, +/obj/machinery/button/door/directional/east{ + id = "armory_side_access"; + name = "Armory Side Access"; + req_access = list("armory"); + pixel_y = -6 + }, +/obj/machinery/button/door/directional/east{ + id = "armory_desk"; + name = "Armory Desk Shutters Control"; + req_access = list("armory"); + pixel_y = 6 + }, +/obj/machinery/button/door/directional/east{ + id = "armory_window_shutters"; + name = "Armory Window Shutters Control"; + req_access = list("armory"); + pixel_y = 6; + pixel_x = 38 + }, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -9 + }, +/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_x = 9 + }, +/obj/item/toy/figure/warden{ + pixel_y = 14 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) +"sHk" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark/side, +/area/station/commons/locker) "sHl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55434,12 +55640,6 @@ /obj/effect/turf_decal/bot_white/left, /turf/open/floor/plating/airless, /area/space/nearstation) -"sHP" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "sHR" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 8 @@ -55449,6 +55649,13 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"sIc" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/machinery/vending/wardrobe/viro_wardrobe, +/turf/open/floor/iron/white, +/area/station/medical/virology) "sIr" = ( /obj/structure/cable, /obj/structure/chair{ @@ -55470,60 +55677,19 @@ /obj/machinery/portable_atmospherics/pump, /turf/open/floor/iron, /area/station/science/ordnance) -"sIK" = ( -/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/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"sIW" = ( -/obj/effect/turf_decal/siding/wood{ +"sIV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/stone, -/area/station/smithing) -"sJa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"sJi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/shower/directional/north, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) -"sJl" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/crate, -/obj/item/stack/ore/glass/basalt, -/obj/item/stack/ore/glass/basalt, -/obj/item/stack/ore/glass/basalt, -/obj/item/stack/ore/glass/basalt, -/obj/item/stack/ore/glass/basalt, -/turf/open/floor/plating, -/area/station/maintenance/port) +/area/station/engineering/break_room) "sJm" = ( /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"sJq" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/newscaster/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "sJH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55550,21 +55716,6 @@ /obj/item/pickaxe, /turf/open/floor/plating, /area/station/maintenance/port) -"sKd" = ( -/obj/machinery/electrolyzer, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"sKg" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/item/gun/energy/ionrifle{ - pixel_y = 3 - }, -/obj/item/gun/energy/temperature/security{ - pixel_y = -3 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "sKj" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -55583,21 +55734,22 @@ }, /turf/open/space/basic, /area/space/nearstation) -"sKs" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"sKC" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/vending/drugs, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"sKN" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"sKM" = ( +/obj/effect/turf_decal/vg_decals/atmos/mix, +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) +"sKP" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "sKX" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ @@ -55612,14 +55764,6 @@ /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"sLa" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "sLg" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -55630,49 +55774,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat_interior) -"sLh" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/engine, -/area/station/security/execution) -"sLn" = ( -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) +"sLk" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/break_room) "sLo" = ( /obj/structure/table, /turf/open/floor/iron/dark/side{ dir = 4 }, /area/station/commons/dorms) -"sLz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/corner, -/obj/machinery/medical_kiosk, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"sLA" = ( -/obj/machinery/light_switch/directional/south{ - pixel_x = 8 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/vending/hydroseeds{ - slogan_delay = 700 +"sLM" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) -"sLG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/railing, -/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) +/obj/structure/sign/warning/no_smoking/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron/dark/corner, +/area/station/maintenance/starboard/aft) "sLP" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -55686,12 +55806,26 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"sMe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/west, -/obj/effect/spawner/random/trash/graffiti, +"sMi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/maintenance/port) +"sMj" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "sMk" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 4 @@ -55705,30 +55839,6 @@ }, /turf/open/space, /area/space/nearstation) -"sMv" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) -"sMw" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/small/directional/south, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/cryo) -"sMx" = ( -/obj/structure/disposalpipe/junction{ - 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/white, -/area/station/medical/medbay/central) "sMy" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning, /obj/effect/turf_decal/trimline/neutral/warning{ @@ -55739,9 +55849,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"sMI" = ( -/turf/open/floor/carpet/black, -/area/station/security/bitden) +"sMG" = ( +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"sML" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/cargo/drone_bay) "sMO" = ( /obj/machinery/computer/message_monitor{ dir = 4 @@ -55751,20 +55865,12 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"sMS" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"sMY" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/small/directional/north, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ +"sNb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/structure/closet/emcloset, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) +/turf/open/floor/iron/white, +/area/station/medical/virology) "sNf" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ @@ -55781,176 +55887,144 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/sorting) -"sNm" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5 - }, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) -"sNp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, +"sNr" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 6 }, -/obj/structure/cable/layer1, /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/main) +/area/station/cargo/drone_bay) +"sNx" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/carpet, +/area/station/service/chapel) +"sNA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) "sNK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table/wood, +/obj/structure/cassette_rack/prefilled{ + pixel_y = 8 + }, /turf/open/floor/iron/vaporwave, /area/station/service/library/printer) -"sNO" = ( -/obj/effect/turf_decal/stripes/line{ +"sNV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) +"sOo" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"sOx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Morgue" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/effect/mapping_helpers/airlock/access/any/medical/morgue, -/turf/open/floor/iron/dark/textured, -/area/station/medical/morgue) -"sNZ" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, +/obj/item/flashlight/flare, /turf/open/floor/plating, -/area/station/maintenance/port/fore) -"sOa" = ( +/area/station/maintenance/department/engine) +"sPc" = ( /obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ pixel_x = -5 }, -/obj/effect/turf_decal/box, -/obj/structure/closet/crate, -/obj/effect/spawner/random/contraband/prison, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/turf/open/floor/iron/dark/side{ - dir = 9 +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 }, -/area/station/security/prison/work) -"sOh" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/delivery, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/checker{ +/obj/machinery/vending/games, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"sPj" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/area/station/command/heads_quarters/cmo) -"sOm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/newscaster/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"sPA" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/door/airlock/highsecurity{ - name = "Secure Tech Storage" +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/tech_storage, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/storage/tech) -"sOo" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/directional/north, +/obj/machinery/light/directional/east, +/obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, -/area/station/service/chapel) -"sOH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet/red, -/area/station/security/courtroom) -"sPm" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/auxlab) -"sPy" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"sPz" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/obj/machinery/skill_station, -/turf/open/floor/wood, -/area/station/service/library/lounge) +/area/station/hallway/primary/fore) "sPC" = ( /obj/structure/flora/grass/jungle/b/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"sPM" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/machinery/door/airlock/security/glass{ + name = "Security Checkpoint - Arrivals" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured, +/area/station/security/checkpoint/customs/auxiliary) "sPR" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/department/science) -"sPW" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/medical/virology) +"sPS" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/prison) +"sPT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/main) "sPX" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/structure/sign/warning/cold_temp/directional/west, /turf/open/floor/plating/reinforced, /area/station/science/research) -"sPY" = ( -/obj/machinery/computer/operating{ - dir = 8 +"sQn" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"sQf" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/carpet/blue, -/area/station/commons/vacant_room/office) -"sQo" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/obj/structure/chair, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"sQu" = ( /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 = 10 + dir = 6 }, /turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/hallway/primary/central) "sQv" = ( /obj/effect/turf_decal/trimline/brown/line{ dir = 8 @@ -55961,6 +56035,11 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"sQx" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/iron, +/area/station/maintenance/disposal) "sQz" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -55978,6 +56057,17 @@ dir = 8 }, /area/station/cargo/storage) +"sQE" = ( +/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, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) "sQF" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance, @@ -55992,6 +56082,19 @@ dir = 1 }, /area/station/commons/storage/primary) +"sQJ" = ( +/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/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "sQL" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -56014,26 +56117,25 @@ /turf/open/space/basic, /area/space) "sQW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/poddoor/shutters{ - id = "library_desk_shutters"; - name = "Library Desk Shutters"; - dir = 1 +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/table/wood, -/obj/structure/desk_bell{ - pixel_y = 7; - pixel_x = 7 +/obj/structure/cable, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Head of Personnel's Office"; + name = "Head of Personnel's Fax Machine" }, -/obj/item/pen, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/printer) +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"sRd" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "sRp" = ( /obj/structure/flora/rock/style_random, /turf/open/floor/grass, @@ -56054,31 +56156,35 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"sRA" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/obj/structure/disposalpipe/trunk{ +"sRw" = ( +/obj/structure/chair/comfy/brown, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/break_room) +"sRO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"sRJ" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/cryopod{ +/obj/structure/cable, +/obj/machinery/modular_computer/preset/id{ dir = 4 }, /turf/open/floor/iron/dark/side{ dir = 8 }, -/area/station/hallway/secondary/exit/departure_lounge) +/area/station/command/heads_quarters/ce) +"sRR" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/airalarm/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) "sRU" = ( /obj/machinery/conveyor{ dir = 1; @@ -56087,9 +56193,30 @@ /obj/structure/plasticflaps, /turf/open/floor/plating, /area/station/cargo/storage) +"sRV" = ( +/obj/structure/disposalpipe/junction/flip, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"sRY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/molten_object/large, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/smithing) "sRZ" = ( /turf/closed/wall, /area/station/engineering/storage/tech) +"sSa" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "sSc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56103,15 +56230,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/explab) -"sSr" = ( -/obj/structure/disposalpipe/segment{ - 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/wood, -/area/station/command/meeting_room) "sSA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -56120,24 +56238,42 @@ dir = 8 }, /area/station/commons/fitness) -"sSM" = ( -/obj/machinery/telecomms/message_server/preset, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) +"sSD" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/chair/sofa/bench/right{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"sSE" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/chair/sofa/left/maroon{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/commons/fitness) "sSP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"sTj" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"sTi" = ( -/obj/effect/turf_decal/tile/purple/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/breakroom) +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) +"sTk" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "sTD" = ( /obj/effect/turf_decal/delivery, /obj/structure/window/reinforced/spawner/directional/west, @@ -56159,16 +56295,55 @@ /turf/open/floor/iron/dark/side{ dir = 1 }, -/area/station/cargo/storage) -"sTW" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/table/glass, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/spawner/random/aimodule/harmless, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +/area/station/cargo/storage) +"sTK" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/structure/filingcabinet, +/turf/open/floor/iron, +/area/station/science/ordnance/office) +"sTR" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) +"sTW" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/table/glass, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/spawner/random/aimodule/harmless, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) +"sUa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Morgue" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/obj/effect/mapping_helpers/airlock/access/any/medical/morgue, +/turf/open/floor/iron/dark/textured, +/area/station/medical/morgue) "sUf" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -56177,6 +56352,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"sUg" = ( +/obj/machinery/station_map/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "sUl" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -56197,18 +56377,20 @@ dir = 1 }, /area/station/cargo/miningoffice) -"sUx" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +"sUJ" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Atmospherics Incinerator"; + name = "engineering camera" }, -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/west, -/obj/structure/chair/sofa/corp{ - dir = 4 +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/machinery/atmospherics/components/tank/plasma, +/obj/machinery/light_switch/directional/west{ + pixel_y = -5 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "sUK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56217,12 +56399,26 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"sVg" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/firealarm/directional/south, +"sUW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/chair/sofa/corp/left{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron/white, -/area/station/science/research) +/area/station/medical/medbay/lobby) +"sUZ" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"sVf" = ( +/obj/item/radio/intercom/prison/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/security/prison) "sVp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -56235,33 +56431,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"sVB" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"sVK" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"sVO" = ( -/obj/machinery/light/directional/west, -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/stock_parts/cell/high{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) "sVP" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -56292,24 +56461,16 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/station/solars/starboard/fore) -"sWl" = ( -/obj/structure/table, -/obj/effect/spawner/random/entertainment/toy_figure, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/disposal) -"sWm" = ( -/obj/structure/disposalpipe/segment, +"sWh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"sWq" = ( -/obj/machinery/telecomms/processor/preset_two, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=EVA2"; + location = "Dorm" + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "sWt" = ( /obj/structure/table/reinforced, /obj/item/assembly/timer, @@ -56323,86 +56484,84 @@ /obj/item/gps, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"sWv" = ( -/obj/structure/destructible/cult/item_dispenser/archives/library, -/obj/item/book/codex_gigas, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"sWx" = ( -/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/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/janitor) +"sWu" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "sWy" = ( /turf/open/floor/iron, /area/station/engineering/storage_shared) -"sWE" = ( -/obj/item/radio/intercom/directional/west, -/obj/structure/chair/sofa/left/maroon{ - dir = 4 +"sWB" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/area/station/commons/fitness) +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) "sWF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/easel, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"sWO" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Command - CMO's Quarters"; - name = "command camera" +"sWM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"sWN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/carpet/blue, -/area/station/command/heads_quarters/cmo) -"sWP" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/photocopier, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/cargo/office) -"sWS" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/east, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "sWX" = ( /obj/machinery/holopad, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"sXd" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +"sWZ" = ( +/obj/effect/turf_decal/siding/thinplating{ dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Science - Genetics, Cloning Lab"; - network = list("ss13","rd"); - name = "science camera" - }, -/obj/machinery/computer/cloning{ +/obj/structure/chair/sofa/bench/left{ dir = 8 }, -/turf/open/floor/iron/white, -/area/station/science/genetics/cloning) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "sXe" = ( /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"sXi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/south{ + name = "Reception" + }, +/obj/machinery/door/window/right/directional/north{ + name = "RaD Desk"; + req_access = list("science") + }, +/obj/machinery/door/poddoor/shutters{ + id = "rad_shutters"; + name = "RaD Shutters" + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/turf/open/floor/iron/dark/textured, +/area/station/science/lab) "sXl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56411,16 +56570,19 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"sXm" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/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 +"sXr" = ( +/obj/machinery/light/built/directional/east, +/obj/structure/table/wood, +/obj/item/storage/dice, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"sXt" = ( +/obj/structure/chair/comfy/black{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/medical/paramedic) +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood, +/area/station/service/library) "sXx" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 @@ -56440,33 +56602,25 @@ }, /turf/open/floor/engine/o2, /area/station/engineering/atmos) -"sXL" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/chemistry) -"sXO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "atmos"; - name = "Atmospherics Blast Door" +"sXP" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 }, -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "atmos_rad_shutters"; - name = "Radiation Shutters" +/obj/effect/turf_decal/trimline/green/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"sXS" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/computer/apc_control{ +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"sYb" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "sYe" = ( /obj/effect/turf_decal/trimline/dark_red/warning{ dir = 8 @@ -56474,21 +56628,21 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"sYi" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/obj/structure/sign/departments/psychology/directional/east, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +"sYg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) "sYk" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating/reinforced, /area/station/science/research) +"sYm" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) "sYs" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering - Atmospherics Mix Chamber"; @@ -56496,24 +56650,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"sYt" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"sYv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - 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/dark, -/area/station/engineering/storage/tech) "sYw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -56529,25 +56665,24 @@ /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) "sYD" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/storage/box/lights/mixed{ - pixel_y = 6; - pixel_x = -6 - }, -/obj/item/storage/box/lights/mixed{ - pixel_y = 6; - pixel_x = 6 +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=CHE"; + location = "AIE" }, -/obj/item/lightreplacer{ - pixel_y = 10 +/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 = 5 }, -/turf/open/floor/iron/dark/side{ +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"sYG" = ( +/obj/effect/turf_decal/siding/thinplating{ dir = 1 }, -/area/station/engineering/storage_shared) +/turf/open/floor/iron, +/area/station/engineering/main) "sYH" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -56565,6 +56700,14 @@ /obj/structure/curtain/cloth, /turf/open/floor/iron/white/textured, /area/station/science/robotics/lab) +"sYK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "sYV" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -56576,32 +56719,35 @@ dir = 4 }, /area/station/cargo/sorting) +"sZi" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "sZj" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/directional{ - dir = 10 - }, -/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"sZt" = ( -/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{ +/area/station/maintenance/starboard/aft) +"sZl" = ( +/obj/structure/chair/office{ dir = 4 }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) +"sZA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "law_office_shutters"; + name = "Law Office Shutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/service/lawoffice) +"sZG" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /turf/open/floor/iron/white/smooth_large, -/area/station/science/explab) -"sZC" = ( -/obj/machinery/light/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/recharge_station, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +/area/station/medical/pharmacy) "sZI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56612,38 +56758,6 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"sZN" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"sZR" = ( -/obj/effect/turf_decal/tile/purple/full, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/breakroom) -"sZV" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"sZY" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "tar" = ( /obj/machinery/duct, /turf/open/floor/iron, @@ -56654,36 +56768,70 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"taA" = ( +"taC" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/structure/closet/secure_closet/bar, +/turf/open/floor/wood, +/area/station/service/bar/backroom) +"taF" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"taM" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/small/directional/south, -/obj/structure/rack, -/obj/item/extinguisher, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) +/obj/machinery/atmospherics/pipe/smart/simple/violet/visible, +/obj/machinery/button/door/directional/west{ + id = "ord_freezer_bolt"; + name = "Ordnance Freezer Chamber Bolt Control"; + req_access = list("ordnance"); + pixel_y = 5; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/button/door/directional/west{ + id = "ord_freezer_vent"; + name = "Ordnance Freezer Chamber Vent Control"; + req_access = list("ordnance"); + pixel_y = -5 + }, +/obj/machinery/door/airlock/research/glass{ + name = "Freeze Chamber Interior Airlock"; + id_tag = "ord_freezer_bolt" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/engine, +/area/station/science/ordnance/freezerchamber) "taN" = ( /obj/structure/table, /obj/item/radio/off, /obj/item/screwdriver, /turf/open/floor/iron/dark, /area/station/security/office) -"tbb" = ( -/obj/effect/turf_decal/trimline/green/filled/corner, -/obj/structure/disposalpipe/segment{ - dir = 9 +"taQ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/chair/stool/bar/directional/south, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"taR" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 4 }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) +"taU" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, -/area/station/medical/virology) +/area/station/medical/chemistry) "tbc" = ( /obj/effect/turf_decal/tile/neutral/half{ dir = 8 @@ -56696,19 +56844,25 @@ dir = 8 }, /area/station/command/gateway) -"tbe" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "tbg" = ( /turf/open/floor/wood, /area/station/security/detectives_office) +"tbi" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"tbl" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "tbo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -56722,59 +56876,32 @@ "tbp" = ( /turf/closed/wall, /area/station/hallway/primary/aft) -"tbw" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/neutral/corner, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/sign/warning/vacuum/external/directional/north, -/obj/machinery/camera/autoname/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"tbI" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"tbO" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"tbT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/food_or_drink/booze{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = -5; - pixel_y = 6 +"tbL" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 5 }, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/maintenance/starboard/aft) +"tbO" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "tbY" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/five, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tcb" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/bar) "tcg" = ( /obj/structure/bed{ dir = 4 @@ -56785,49 +56912,27 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/carpet/orange, /area/station/security/prison/safe) +"tcl" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/hallway/primary/aft) +"tcq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "tcw" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tcF" = ( -/obj/effect/turf_decal/bot, -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/main) -"tcH" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/office) -"tcI" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"tcJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/cart, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) -"tcM" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "hos_office"; - name = "HoS Office Shutters" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hos) "tcO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56837,49 +56942,82 @@ "tcP" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance) -"tcY" = ( -/turf/closed/wall, -/area/station/security/interrogation) -"tcZ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +"tcR" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"tcV" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/item/radio/intercom/directional/west, +/obj/machinery/computer/records/security{ dir = 4 }, -/obj/effect/turf_decal/stripes/corner{ +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) +"tcX" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/cable, +/obj/machinery/computer/operating{ dir = 8 }, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"tds" = ( +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"tcY" = ( +/turf/closed/wall, +/area/station/security/interrogation) +"tdo" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/tcomms_all, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"tdv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"tdz" = ( -/obj/effect/spawner/structure/window/reinforced, +/area/station/hallway/primary/central) +"tdq" = ( +/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/shutters{ - id = "cap_privacy"; - dir = 1 +/obj/machinery/atmospherics/components/binary/pump, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"tdw" = ( +/obj/machinery/button/door/directional/west{ + id = "bs_desk"; + name = "Blueshield Desk Shutters Control"; + pixel_y = 5 }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/captain) +/obj/machinery/button/door/directional/west{ + id = "bs_bolt"; + name = "Blueshield Office Bolt Control"; + pixel_y = -5; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/machinery/modular_computer/preset/command{ + dir = 1; + pixel_y = -3 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "tdR" = ( /obj/structure/cable, /obj/machinery/power/energy_accumulator/tesla_coil/anchored, /turf/open/floor/plating/airless, /area/space/nearstation) +"tdT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "tdV" = ( /obj/machinery/conveyor{ dir = 10; @@ -56888,15 +57026,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"tef" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 8 - }, -/obj/structure/chair{ - dir = 4 - }, +"tdW" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/lockers) +"tdZ" = ( +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/dark, -/area/station/security/courtroom) +/area/station/engineering/atmos) "tei" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, @@ -56923,6 +57062,17 @@ }, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/hfr_room) +"tez" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "teE" = ( /obj/structure/cable, /obj/machinery/power/smes{ @@ -56931,6 +57081,14 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai) +"teG" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "teQ" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -56943,41 +57101,26 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/science/robotics/lab) -"teS" = ( -/obj/machinery/announcement_system, -/turf/open/floor/iron/dark, -/area/station/tcommsat/computer) "tfb" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark/side{ dir = 8 }, /area/station/commons/fitness/recreation) -"tfi" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/box, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"tfo" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Science - Genetics, Monkey Pen"; - network = list("ss13","rd"); - name = "science camera" +"tfs" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/grass, -/area/station/science/genetics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "tfF" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"tfN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/iron, -/area/station/engineering/main) "tfS" = ( /obj/machinery/airalarm/directional/west, /obj/effect/spawner/random/structure/chair_flipped{ @@ -56986,9 +57129,12 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "tfZ" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/virology) "tgl" = ( @@ -56998,14 +57144,24 @@ /obj/machinery/duct, /turf/open/floor/stone, /area/station/science/xenobiology) -"tgq" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 +"tgm" = ( +/obj/structure/chair/office{ + dir = 8 }, -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/window/right/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library/private) +"tgE" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/camera/directional/east{ + c_tag = "Medical - Office"; + network = list("ss13","medbay"); + name = "medical camera" + }, +/obj/structure/closet/secure_closet/medical3, +/obj/item/wrench/medical, +/turf/open/floor/iron/white, +/area/station/medical/office) "tgG" = ( /turf/closed/wall, /area/station/maintenance/department/engine/atmos) @@ -57020,41 +57176,85 @@ /obj/machinery/door/poddoor/massdriver_trash, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"tgW" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/ordnance/testlab) +"tgY" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/station/medical/virology) +"thc" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Arrivals - Escape Pod Bay 2"; + name = "arrivals camera" + }, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) "thf" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"thA" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 1 - }, +"thj" = ( +/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"thT" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/manifold, -/obj/machinery/air_sensor/ordnance_freezer_chamber, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) +/area/station/engineering/atmos/storage) +"thw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/frame/machine, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"thQ" = ( +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/main) +"thR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"tic" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/machinery/door/airlock/command{ + name = "Meeting Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/turf/open/floor/iron/dark/textured, +/area/station/command/meeting_room) "tir" = ( +/turf/closed/wall/r_wall, +/area/station/medical/virology) +"tit" = ( /obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 + dir = 9 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/airalarm/directional/west, +/obj/machinery/computer/security/labor{ + dir = 4 }, -/obj/effect/turf_decal/trimline/red/line, -/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"tiN" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) +/area/station/security/processing) +"tiH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "tiT" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -57062,23 +57262,17 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/white, /area/station/science/research) -"tiV" = ( -/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/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"tiY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Dock" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured, -/area/station/security/processing) +/turf/open/floor/iron, +/area/station/engineering/break_room) +"tjz" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) "tjB" = ( /obj/machinery/duct, /obj/effect/turf_decal/stripes/line{ @@ -57104,93 +57298,64 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"tjL" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"tjO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/medical/exam_room) -"tjP" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"tku" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"tkQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 }, -/obj/machinery/camera/directional/east{ - c_tag = "Central Hallway East - Teleporter Access"; - name = "hallway camera" - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"tjW" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/camera/directional/east{ - c_tag = "Command - CMO's Office"; - network = list("ss13","medbay"); - name = "command camera" - }, -/turf/open/floor/iron/checker{ - dir = 1 +/obj/effect/turf_decal/trimline/blue/warning{ + dir = 4 }, -/area/station/command/heads_quarters/cmo) -"tkc" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/east, -/obj/machinery/stasis, +/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) -"tkC" = ( -/obj/effect/turf_decal/stripes/end, -/obj/machinery/light/small/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/disposaloutlet{ +/area/station/medical/medbay/aft) +"tkU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/station_map/directional/south, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"tkY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/sorting) -"tkE" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/power/apc/auto_name/directional/west, +/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/plating, -/area/station/maintenance/solars/port/fore) -"tkP" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/structure/table, -/obj/item/reagent_containers/spray/plantbgone, -/obj/item/reagent_containers/spray/pestspray{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/bottle/nutrient/ez, -/obj/item/reagent_containers/cup/bottle/nutrient/rh{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/service/hydroponics/garden) -"tkR" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/radio/intercom/directional/north, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 10 +/obj/machinery/duct, +/obj/machinery/door_buttons/access_button{ + idDoor = "pathology_airlock_interior"; + idSelf = "pathology_airlock_control"; + name = "Pathology Access Button"; + pixel_y = 6; + req_access = list("pathology"); + pixel_x = -24 }, -/obj/item/assembly/igniter{ - pixel_y = -3 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "pathology_airlock_interior"; + name = "Pathology Interior Airlock" }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/iron/white/textured, +/area/station/medical/virology) "tlg" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 @@ -57203,19 +57368,6 @@ dir = 6 }, /area/station/cargo/storage) -"tln" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/detectives_office) -"tlp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/warden) "tlz" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57233,22 +57385,42 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"tlA" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/money{ - pixel_y = 8 +"tlI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/spawner/random/entertainment/money, -/turf/open/floor/carpet/green, -/area/station/service/abandoned_gambling_den) -"tlL" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/iron/white, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "testlab"; + name = "Xenobiology Secure Chamber Blast Door" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/machinery/door/window/left/directional/north{ + name = "Test Chamber"; + req_access = list("xenobiology") + }, +/obj/structure/liquid_barrier, +/turf/open/floor/engine, /area/station/science/xenobiology) "tlO" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/computer) +"tlT" = ( +/obj/structure/closet/l3closet/virology, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/virology) +"tlV" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "cmo_desk_shutters"; + name = "Desk Shutters"; + dir = 1 + }, +/obj/structure/table, +/obj/item/stamp/head/cmo, +/turf/open/floor/iron/dark/side, +/area/station/command/heads_quarters/cmo) "tlW" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -57261,53 +57433,43 @@ /obj/item/pai_card, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"tmt" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/effect/spawner/random/vending/colavend, -/turf/open/floor/iron/white, -/area/station/medical/break_room) -"tmB" = ( -/obj/structure/cable, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"tmI" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/flora/bush/jungle/b/style_random, -/turf/open/floor/grass, -/area/station/hallway/primary/aft) -"tmP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/obj/effect/turf_decal/trimline/yellow/warning{ +"tmw" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 2 +/obj/effect/turf_decal/trimline/red/line, +/obj/machinery/atmospherics/pipe/smart/simple/pink/hidden/layer4{ + dir = 4 }, -/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/mail_sorting/service/hop_office, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"tmQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/side{ dir = 1 }, -/obj/structure/disposalpipe/segment, +/area/station/hallway/primary/aft) +"tmC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/iron/dark/side{ - dir = 1 +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/abandoned_gambling_den) +"tmE" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/area/station/engineering/storage_shared) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"tmI" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/jungle/b/style_random, +/turf/open/floor/grass, +/area/station/hallway/primary/aft) "tmR" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/clothing/costume, @@ -57326,6 +57488,17 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"tnp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"tnt" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "tnu" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -57333,21 +57506,6 @@ /obj/effect/turf_decal/trimline/green/line, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"tnv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library/private) -"tnK" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "tnN" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -57355,56 +57513,61 @@ /obj/machinery/food_cart, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"tnQ" = ( -/obj/effect/turf_decal/trimline/yellow/line{ +"tnS" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/cable, +/obj/structure/chair/office{ dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) +/obj/effect/landmark/start/captain, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "tnW" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/cargo/warehouse) -"toc" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 +"toa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/item/storage/medkit/fire{ - pixel_x = 3; - pixel_y = 3 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/item/storage/medkit/fire, -/obj/item/storage/medkit/fire{ - pixel_x = -3; - pixel_y = -3 +/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/machinery/door/airlock/grunge{ + name = "Bitrunner Den" }, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"tod" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"toh" = ( -/obj/structure/kitchenspike, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/effect/landmark/navigate_destination/common/bitrunner, +/turf/open/floor/iron/dark/textured, +/area/station/security/bitden) "tom" = ( /obj/machinery/light/small/directional/south, /obj/machinery/duct, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"ton" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/machinery/door/airlock/medical{ + name = "Psychology Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, +/turf/open/floor/iron/dark/textured, +/area/station/medical/psychology) "tos" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/east, @@ -57426,6 +57589,11 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"toE" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/four, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "toY" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 8 @@ -57435,10 +57603,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"tpf" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port) "tpk" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, @@ -57452,6 +57616,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tpo" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/security/glass{ + name = "Isolation Cell"; + id_tag = "iso_cell_hall_bolt" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "tpr" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -57461,26 +57644,33 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/dark, /area/station/science/robotics/mechbay) -"tpz" = ( -/obj/structure/closet/secure_closet/personal/patient, -/turf/open/floor/iron/white, -/area/station/medical/virology) +"tpt" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/closet/firecloset{ + anchored = 1 + }, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "tpC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"tpE" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/warning, -/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, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +"tpG" = ( +/obj/effect/turf_decal/bot_red, +/obj/machinery/light/directional/west, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/large, +/area/station/ai_monitored/command/storage/eva) "tpO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -57497,20 +57687,6 @@ /obj/effect/landmark/navigate_destination/kitchen, /turf/open/floor/iron/dark/textured, /area/station/service/kitchen) -"tpU" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/item/folder/red, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"tqd" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/transit_tube) "tqj" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/light/small/directional/east, @@ -57518,6 +57694,14 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/auxlab) +"tqo" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/photocopier, +/obj/machinery/computer/security/telescreen/vault{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "tqy" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -57554,36 +57738,21 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/holding_cell) -"tqT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"tri" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"trn" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/turf_decal/stripes/line, /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/maintenance{ - name = "Engineering Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/machinery/duct, -/turf/open/floor/plating, -/area/station/engineering/main) -"trh" = ( -/obj/structure/sign/departments/engineering/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"trn" = ( -/obj/structure/table, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/construction/plumbing, -/obj/item/plunger, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "trv" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -57597,22 +57766,6 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"trF" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/requests_console/directional/south{ - department = "Kitchen"; - name = "Kitchen Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"trQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/wood, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) "trS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -57660,26 +57813,25 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos/storage) -"tsi" = ( -/obj/structure/sink/directional/east, -/turf/open/floor/iron/showroomfloor, -/area/station/science/xenobiology/hallway) "tsp" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/command/heads_quarters/ce) +"tsq" = ( +/obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/department/engine/atmos) "tsw" = ( /obj/structure/table, /obj/item/storage/dice, /obj/effect/spawner/random/entertainment/coin, /turf/open/floor/iron, /area/station/commons/dorms) -"tsD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/caution_sign, -/turf/open/floor/plating, -/area/station/maintenance/port) "tsL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -57695,90 +57847,44 @@ "tsN" = ( /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/exit/departure_lounge) -"tsP" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/item/clothing/suit/armor/riot{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/clothing/suit/armor/riot{ - pixel_x = 6 - }, -/obj/item/clothing/suit/armor/riot{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/shield/riot{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/shield/riot{ - pixel_x = -6 - }, -/obj/item/shield/riot{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/clothing/head/helmet/toggleable/riot, -/obj/item/clothing/head/helmet/toggleable/riot{ - pixel_y = 3 - }, -/obj/item/clothing/head/helmet/toggleable/riot{ - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"tsV" = ( -/obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/duct, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) -"ttr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/white/textured, -/area/station/medical/storage) "ttt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/security/prison/workout) -"ttC" = ( -/obj/structure/window/reinforced/tinted/spawner/directional/east, -/obj/item/kirbyplants/random/dead, -/turf/open/floor/iron/vaporwave, -/area/station/command/heads_quarters/rd) "ttD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"ttK" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/light/small/directional/south, -/obj/structure/chair/sofa/bench/left{ - dir = 8 +"ttG" = ( +/obj/machinery/button/door/directional/south{ + id = "dorm_6"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = 5 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5; + pixel_y = -34 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) +"ttL" = ( +/obj/structure/table/wood/fancy/black, +/obj/item/storage/photo_album/chapel, +/obj/item/camera, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "ttO" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -57794,6 +57900,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"ttS" = ( +/obj/machinery/shower/directional/north, +/obj/structure/drain, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/exam_room) "tum" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/chair_maintenance{ @@ -57801,41 +57912,49 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tun" = ( +/obj/structure/table, +/obj/item/paper_bin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tuu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tux" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/effect/spawner/random/bureaucracy/folder{ - pixel_y = 6 - }, -/obj/effect/spawner/random/bureaucracy/pen{ - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) -"tuK" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/structure/table, -/obj/item/airlock_painter/decal/tile{ - pixel_y = 9 - }, -/obj/item/airlock_painter{ - pixel_y = 3 +"tuv" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/item/kirbyplants/photosynthetic, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) +"tuI" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/obj/item/airlock_painter/decal{ - pixel_y = -3 +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"tuJ" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/east, +/obj/structure/liquid_pump, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"tuW" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark/side{ - dir = 5 +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ + dir = 1 }, -/area/station/engineering/storage_shared) +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/engineering) "tvc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57843,13 +57962,6 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/security/prison/rec) -"tve" = ( -/obj/structure/chair/sofa/corp/right{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/blue, -/area/station/ai_monitored/turret_protected/ai_upload) "tvh" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -57865,15 +57977,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"tvk" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/mineral_door/wood, -/obj/machinery/duct, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) "tvo" = ( /obj/effect/spawner/random/structure/chair_flipped{ dir = 4 @@ -57889,16 +57992,20 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution) -"tvs" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/bot, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - location = "Medbay" +"tvr" = ( +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -5 }, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/white/smooth_large, -/area/station/maintenance/starboard/aft) +/obj/machinery/recharger{ + pixel_x = 5 + }, +/obj/item/gun_maintenance_supplies{ + pixel_y = 10 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "tvt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -57920,29 +58027,23 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "tvQ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/table/reinforced/rglass, -/obj/item/clothing/glasses/science, -/obj/item/clothing/glasses/science{ - pixel_x = 2; - pixel_y = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/item/reagent_containers/cup/beaker/large, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = -3; - pixel_y = 3 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 8; - pixel_y = 2 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Art Gallery" }, -/obj/item/reagent_containers/dropper, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/turf/open/floor/iron/dark/textured, +/area/station/service/library/artgallery) +"tvS" = ( +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/engineering/break_room) "tvV" = ( /obj/effect/turf_decal/trimline/purple/filled/corner, /turf/open/floor/iron/white, @@ -57956,10 +58057,6 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/smooth_large, /area/station/security/prison) -"tvY" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "tvZ" = ( /obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57967,23 +58064,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/commons/locker) -"twb" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/central) -"twi" = ( -/obj/effect/turf_decal/tile/red/full, -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/window/left/directional/west{ - name = "Security Delivery"; - req_access = list("security") +"twj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "medical_security_post"; + name = "Security Post Shutters"; + dir = 1 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/office) +/turf/open/floor/plating, +/area/station/security/checkpoint/medical) "twl" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -57996,41 +58086,29 @@ dir = 1 }, /turf/open/floor/iron/dark, -/area/station/construction/mining/aux_base) +/area/station/construction/mining/aux_base) +"twt" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/firealarm/directional/south, +/obj/structure/sign/departments/maint/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) "twv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Captain's Office"; - name = "Captain's Fax Machine" - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +/obj/item/paper_bin/carbon, +/obj/item/folder/white, +/obj/item/pen, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "twN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/modular_computer/preset/id{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/command/heads_quarters/ce) -"twO" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Deliveries"; - name = "engineering camera" - }, -/turf/open/floor/iron/large, -/area/station/engineering/storage) -"twQ" = ( -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "twS" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58045,29 +58123,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"twU" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Service - Custodial Closet"; - name = "service camera" - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clipboard{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/pen{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/toy/figure/janitor{ - pixel_x = 9 - }, -/turf/open/floor/iron/dark, -/area/station/service/janitor) "twW" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark/side{ @@ -58080,18 +58135,45 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"txx" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ +"txi" = ( +/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, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"txs" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/service/library) +"txy" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/light/directional/east, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/dark, -/area/station/science/server) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/duct, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance Closet" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "txI" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) +"tyd" = ( +/obj/structure/cable, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "tyq" = ( /obj/effect/turf_decal/stripes/end{ dir = 1 @@ -58100,11 +58182,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) -"tyt" = ( -/obj/machinery/exodrone_launcher, -/obj/item/exodrone, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) +"tyr" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/folder/blue, +/obj/item/pen, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "tyC" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/airalarm/directional/west, @@ -58127,110 +58212,48 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"tyX" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/book/manual/botanical_lexicon, -/obj/item/seeds/tree, -/obj/effect/spawner/random/contraband/prison, -/obj/item/seeds/pumpkin, -/obj/item/seeds/wheat, -/obj/item/seeds/ambrosia, -/obj/item/seeds/grass, -/obj/item/seeds/carrot, -/obj/item/seeds/tomato, -/obj/item/seeds/potato, -/obj/item/seeds/garlic, -/obj/item/seeds/onion, -/obj/item/paper/guides/jobs/hydroponics, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) "tzc" = ( /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "tzf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/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, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Chief Engineer's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/ce) -"tzi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/commons/dorms/room4) -"tzk" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 6 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/server) +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "tzm" = ( /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/hop) -"tzs" = ( -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/official/state_laws/directional/east, -/obj/machinery/recharge_station, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"tzN" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"tzT" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/closet/toolcloset, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"tzU" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +"tzv" = ( +/obj/effect/turf_decal/trimline/green/line{ dir = 1 }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/structure/sign/poster/official/random/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 + dir = 1 }, -/area/station/security/interrogation) -"tzV" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/firealarm/directional/west, -/obj/machinery/status_display/ai/directional/north, -/obj/structure/table/reinforced/rglass, -/turf/open/floor/iron/checker{ +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) +"tzD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/area/station/command/heads_quarters/cmo) +/obj/structure/cable, +/turf/open/floor/carpet/black, +/area/station/security/bitden) +"tzQ" = ( +/obj/structure/noticeboard/directional/west, +/obj/structure/table/wood, +/obj/item/storage/photo_album/library, +/obj/item/taperecorder, +/obj/item/camera_film, +/obj/item/camera, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "tzZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -58250,38 +58273,32 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"tAf" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) -"tAI" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) -"tAK" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +"tAw" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"tAZ" = ( +/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, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ - dir = 5 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Office" }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/break_room) +"tAF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/service/library) +"tBb" = ( +/obj/effect/turf_decal/bot_red, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/large, +/area/station/ai_monitored/command/storage/eva) "tBh" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -58289,88 +58306,29 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"tBl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/sand/plating, -/obj/structure/door_assembly/door_assembly_mai{ - anchored = 1 - }, -/turf/open/floor/plating/airless, -/area/station/asteroid) "tBn" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/science/robotics/lab) -"tBp" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/closet/secure_closet{ - req_access = list("security"); - name = "Ammo Locker - Lethal" - }, -/obj/item/storage/box/lethalshot{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/ammo_box/magazine/m35{ - pixel_y = -6; - pixel_x = -6 - }, -/obj/item/ammo_box/magazine/m35{ - pixel_y = -3; - pixel_x = -3 - }, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/ammo_box/magazine/m35{ - pixel_y = 6; - pixel_x = 6 - }, -/obj/item/ammo_box/magazine/m35{ - pixel_y = -6; - pixel_x = -6 - }, -/obj/item/ammo_box/magazine/m35{ - pixel_y = -3; - pixel_x = -3 - }, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/ammo_box/magazine/m35{ - pixel_y = 6; - pixel_x = 6 +"tBr" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"tBq" = ( -/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/structure/cable, -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/random{ +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"tBv" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/effect/landmark/start/janitor, /turf/open/floor/iron/dark, -/area/station/service/janitor) +/area/station/security/prison) "tBy" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -58384,18 +58342,64 @@ /obj/structure/cable, /turf/open/space, /area/station/solars/port/fore) -"tBI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"tBE" = ( +/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=Security"; + location = "EVA2" }, /turf/open/floor/iron/dark, -/area/station/service/chapel) -"tCb" = ( -/obj/machinery/chem_master/condimaster{ - name = "CondiMaster Neo" +/area/station/hallway/primary/central) +"tCl" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/machinery/newscaster/directional/south, +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5 + }, +/turf/open/floor/iron/dark/side, +/area/station/cargo/office) +"tCv" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/north{ + name = "Apothecary Desk"; + req_access = list("pharmacy") + }, +/obj/machinery/door/window/left/directional/south{ + name = "Apothecary Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "apothecary_sec_desk_shutters"; + name = "Apothecary Secodary Desk Shutters" + }, +/obj/structure/desk_bell{ + pixel_x = 6 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"tCw" = ( +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) +"tCE" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/computer/atmos_control/oxygen_tank{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "tCM" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/side{ @@ -58411,37 +58415,71 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"tDO" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +"tDg" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/blueshield) +"tDq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/science/research) +"tDr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet/black, +/area/station/security/bitden) +"tDD" = ( +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/obj/item/radio/intercom/directional/north, +/obj/structure/table/wood, +/obj/effect/spawner/random/bureaucracy/briefcase{ + spawn_loot_count = 2; + spawn_random_offset = 1 + }, +/turf/open/floor/wood, +/area/station/service/library/private) +"tDE" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"tDV" = ( -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/prison) +/area/station/security/office) "tEg" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"tEm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 +"tEi" = ( +/obj/structure/closet/secure_closet/psychology, +/turf/open/floor/wood, +/area/station/medical/psychology) +"tEw" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/vending/mechcomp, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white, +/area/station/medical/storage) "tEB" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/iron, /area/station/cargo/storage) -"tEF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/service/library) "tEK" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -58452,18 +58490,6 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"tEP" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/aft) "tET" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 @@ -58475,6 +58501,15 @@ dir = 6 }, /area/station/cargo/miningoffice) +"tEW" = ( +/obj/structure/mirror/directional/west, +/obj/structure/sink/directional/east, +/obj/structure/toilet{ + pixel_y = 8 + }, +/obj/effect/landmark/start/blueshield, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/blueshield) "tEZ" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 @@ -58500,13 +58535,34 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"tFs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"tFl" = ( +/obj/structure/closet/secure_closet{ + req_access = list("bar") }, -/obj/machinery/firealarm/directional/south, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5 + }, +/obj/item/stack/cable_coil, +/obj/effect/spawner/random/entertainment/money, +/obj/effect/spawner/random/entertainment/money, /turf/open/floor/wood, -/area/station/security/detectives_office) +/area/station/service/bar/backroom) +"tFr" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/delivery_chute{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "tFK" = ( /turf/closed/wall/r_wall, /area/station/security/prison/garden) @@ -58515,62 +58571,70 @@ dir = 4 }, /turf/open/floor/iron/dark, -/area/station/security/processing) -"tGq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Equipment Storage"; - name = "engineering camera" +/area/station/security/processing) +"tFX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/smithing) +"tFY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron, -/area/station/engineering/storage) -"tGA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/area/station/engineering/main) +"tGi" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/bot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + location = "Research Division" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/duct, +/obj/structure/plasticflaps/opaque, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/department/science) +"tGr" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/button/door/directional/north{ + pixel_x = -6; + id = "hop_queue"; + name = "Queue Shutters Control"; + req_access = list("hop") }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/east{ - name = "Hydroponics Desk"; - req_access = list("kitchen") +/obj/machinery/button/door/directional/north{ + pixel_x = 6; + id = "hop"; + name = "Privacy Shutters Control"; + req_access = list("hop") }, -/obj/machinery/door/window/left/directional/west{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") +/obj/machinery/button/ticket_machine{ + pixel_x = -6; + pixel_y = 34 }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydro_kitchen_shutters"; - name = "Hydro-Kitchen Shutters"; - dir = 4 +/obj/machinery/button/flasher{ + id = "hopflash"; + pixel_x = 6; + pixel_y = 34 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/hydroponics) -"tGC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced, -/obj/item/forging/billow, +/obj/machinery/pdapainter, /turf/open/floor/wood, -/area/station/smithing) -"tGD" = ( -/obj/effect/turf_decal/trimline/purple/line, -/obj/effect/turf_decal/trimline/purple/filled/line{ +/area/station/command/heads_quarters/hop) +"tGB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "cap_privacy"; dir = 1 }, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - Central, Northeast"; - name = "hallway camera" - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/turf/open/floor/plating, +/area/station/command/heads_quarters/captain) +"tGH" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "tGK" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -58586,72 +58650,65 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/service/hydroponics) -"tGW" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, +"tHj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) -"tHc" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/trimline/red/line, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, -/obj/structure/chair, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"tHe" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) +"tHo" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, -/obj/machinery/status_display/ai/directional/north, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/table, -/obj/item/phone{ - pixel_x = -6 - }, +/obj/item/toy/figure/miner, /turf/open/floor/iron/dark/side{ dir = 1 }, -/area/station/engineering/break_room) -"tHl" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/area/station/cargo/miningoffice) "tHx" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 9 }, /turf/open/floor/iron, /area/station/engineering/main) -"tHM" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/prison/workout) -"tIw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"tHK" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/hallway/primary/aft) +"tHP" = ( +/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/science/xenobiology) +"tIf" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/machinery/light/small/directional/north, -/obj/item/radio/intercom/directional/north, -/obj/machinery/chem_dispenser, -/obj/machinery/button/door/directional/west{ - id = "apothecary_ter_desk_shutters"; - name = "Tertiary Desk Shutters Control"; - req_access = list("pharmacy") +/obj/structure/table, +/obj/structure/reagent_dispensers/wall/peppertank/directional/north, +/obj/machinery/recharger{ + pixel_x = -5 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/directional/north, +/obj/machinery/recharger{ + pixel_x = 5 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/warden) +"tIh" = ( +/obj/structure/reagent_dispensers/plumbed, +/turf/open/floor/plating, +/area/station/maintenance/central) "tIF" = ( /obj/effect/turf_decal/trimline/dark_red/filled/line, /obj/effect/turf_decal/trimline/dark_red/corner{ @@ -58667,10 +58724,28 @@ "tIU" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/department/security) -"tJc" = ( -/obj/effect/turf_decal/vg_decals/atmos/nitrous_oxide, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) +"tJa" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals - Docking Bay 3"; + name = "arrivals camera" + }, +/obj/structure/chair, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) +"tJe" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "tJu" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/structure/cable, @@ -58712,6 +58787,27 @@ /obj/structure/flora/bush/jungle/c/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"tJO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/white/textured, +/area/station/medical/office) +"tJQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos) "tJS" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 1 @@ -58719,45 +58815,49 @@ /obj/effect/turf_decal/trimline/green/warning, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"tJU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/carpet/red, +/area/station/commons/dorms/room6) "tJX" = ( -/obj/machinery/light/directional/west, -/obj/structure/table/reinforced/rglass, -/obj/item/wrench/medical, -/obj/item/storage/pill_bottle/epinephrine{ - pixel_x = 8; - pixel_y = 5 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/item/reagent_containers/cup/beaker/large, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/hypospray/medipen/morphine{ - pixel_y = 12 +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) +"tKg" = ( +/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/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/aft) +"tKh" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 }, -/obj/item/reagent_containers/hypospray/medipen/morphine{ - pixel_y = 6 +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Science - Genetics, Cloning Lab"; + network = list("ss13","rd"); + name = "science camera" + }, +/obj/machinery/computer/cloning{ + dir = 8 }, /turf/open/floor/iron/white, -/area/station/medical/exam_room) -"tJZ" = ( -/obj/effect/decal/cleanable/dirt, +/area/station/science/genetics/cloning) +"tKm" = ( +/obj/structure/lattice/catwalk, /obj/structure/cable, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/stone, -/area/station/smithing) -"tKe" = ( -/obj/effect/spawner/structure/window, +/obj/structure/transit_tube/crossing, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/service/library/lounge) -"tKp" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/dark_red/corner, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +/turf/open/space, +/area/space/nearstation) "tKr" = ( /obj/structure/chair{ dir = 1 @@ -58765,6 +58865,13 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"tKC" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "tKL" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -58773,6 +58880,10 @@ dir = 4 }, /area/station/cargo/storage) +"tKN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "tKW" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -58792,6 +58903,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, /area/station/service/bar) +"tLk" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "tLo" = ( /turf/open/floor/iron/kitchen, /area/station/security/prison/mess) @@ -58812,48 +58932,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"tLM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"tLN" = ( -/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, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, +"tMq" = ( +/obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"tLT" = ( -/obj/machinery/firealarm/directional/east, -/obj/structure/sink/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) -"tMe" = ( -/obj/machinery/light/directional/east, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"tMn" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/side{ - dir = 4 - }, -/area/station/engineering/break_room) "tMr" = ( /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark, @@ -58865,68 +58947,27 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"tMu" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/item/stack/cable_coil, -/turf/open/space/basic, -/area/station/solars/port/aft) -"tMy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/structure/disposalpipe/sorting/mail{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/science/xenobiology, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"tMU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "qm_office_shutters"; - name = "QM's Office Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) -"tMY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/abandoned_gambling_den) -"tNd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/machinery/door/poddoor/shutters{ - id = "ce_office_shutters"; - name = "CE's Office Shutters"; +"tMw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) +/turf/open/floor/iron/dark, +/area/station/security/warden) "tNr" = ( /turf/open/misc/asteroid/airless, /area/station/asteroid) -"tNE" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) +"tNy" = ( +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "tNG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"tNI" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "tNK" = ( /obj/machinery/artifact_xray, /turf/open/floor/engine, @@ -58942,22 +58983,29 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"tNO" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Security - Detective's Office"; - name = "security camera" +"tOa" = ( +/obj/machinery/button/door/directional/north{ + id = "bsq_to_cq"; + name = "Quarters Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet/red, -/area/station/security/detectives_office) -"tNW" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) +/obj/structure/closet/secure_closet/blueshield, +/obj/item/storage/backpack/blueshield, +/obj/item/storage/backpack/duffelbag/blueshield, +/obj/item/storage/backpack/satchel/blueshield, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "tOb" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/office) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "tOj" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/effect/turf_decal/trimline/blue/warning{ @@ -58969,35 +59017,23 @@ /obj/structure/grille, /turf/open/floor/plating/airless, /area/space/nearstation) -"tOw" = ( +"tOE" = ( +/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, -/area/station/engineering/atmos/office) -"tOB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/airlock/maintenance{ - name = "Custodial Closet Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/janitor, -/turf/open/floor/plating, -/area/station/service/janitor) +/area/station/engineering/main) "tOJ" = ( /turf/closed/wall/r_wall, /area/station/science/lab) +"tOP" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + name = "freezer passive vent"; + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/science/xenobiology) "tPs" = ( /obj/effect/turf_decal/trimline/brown/filled/warning, /obj/machinery/conveyor/inverted{ @@ -59006,108 +59042,60 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/storage) -"tPv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ +"tPD" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"tPw" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 8 }, -/obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/airlock/grunge{ - name = "Gambling Den" - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) -"tPP" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/rd) -"tPZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/door/poddoor/preopen{ + id = "execution_fireblast" }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor/heavy, /obj/machinery/door/airlock/security/glass{ - name = "Visitation" + name = "Justice Chamber Exterior" }, /obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/visit) -"tQg" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/construction/mining/aux_base) -"tQl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/open/floor/iron/white, -/area/station/medical/cryo) -"tQo" = ( -/obj/machinery/light/directional/west, -/obj/machinery/gibber, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"tQt" = ( -/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/break_room) -"tQC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/obj/structure/disposalpipe/junction, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +/turf/open/floor/engine, +/area/station/security/execution) +"tPF" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/delivery, /obj/machinery/duct, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) +"tQa" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/station/engineering/transit_tube) "tQD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/department/cargo) "tQI" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/computer/security{ - dir = 1 +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/obj/structure/mirror/directional/west, +/obj/structure/sink/directional/east, +/obj/machinery/iv_drip, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "tQJ" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/iron, /area/station/service/hydroponics) -"tQM" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/vending/security, -/turf/open/floor/iron/dark, -/area/station/security/lockers) "tQS" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -59116,43 +59104,36 @@ dir = 1 }, /area/station/commons/fitness) +"tRc" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Engineering Lobby"; + name = "Engineering Lobby Fax Machine" + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/break_room) "tRg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"tRj" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/directional/east, -/obj/item/kirbyplants/photosynthetic, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) -"tRo" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Chapel Office Maintenance" - }, -/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/service/chapel_office, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/chapel/office) "tRs" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Air to Mix" }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"tRD" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) +"tRz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "tRE" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -59163,21 +59144,50 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"tRU" = ( +"tRL" = ( /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/side{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/area/station/security/prison/safe) -"tRW" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/computer/exodrone_control_console, -/turf/open/floor/iron, +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) +"tRN" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/firealarm/directional/west{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5; + pixel_x = 8 + }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, +/obj/item/gps, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) +"tRR" = ( +/turf/open/floor/plating, /area/station/cargo/drone_bay) +"tRV" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/aft) "tRX" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -59190,6 +59200,13 @@ /obj/structure/closet/l3closet/scientist, /turf/open/floor/iron/white, /area/station/science/research) +"tSa" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) "tSd" = ( /obj/machinery/light/neon_lining{ dir = 4 @@ -59204,15 +59221,12 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"tSA" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/small/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) +"tSo" = ( +/obj/structure/sign/poster/random/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/gary, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "tSE" = ( /obj/structure/cable/layer1, /turf/open/floor/iron/dark/smooth_large, @@ -59242,6 +59256,11 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science) +"tTl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "tTo" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/light/directional/south, @@ -59257,6 +59276,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) +"tTz" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/cargo/storage) "tTR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59266,6 +59290,31 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"tTS" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/requests_console/directional/south{ + department = "Cargo Bay"; + name = "Cargo Bay Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/autolathe, +/turf/open/floor/iron/dark/side, +/area/station/cargo/office) +"tTY" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/twentythree_twentythree, +/turf/open/floor/iron/dark/side, +/area/station/commons/fitness/recreation) +"tUb" = ( +/obj/machinery/light/directional/west, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "tUg" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -59277,12 +59326,21 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/science/robotics/lab) -"tUl" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"tUk" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"tUn" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) "tUz" = ( /obj/docking_port/stationary/random{ name = "lavaland"; @@ -59291,36 +59349,23 @@ }, /turf/open/space, /area/space) -"tUA" = ( +"tUB" = ( /obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/filingcabinet, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) -"tUG" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/obj/machinery/firealarm/directional/west{ - pixel_y = -5 +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/bodycontainer/morgue, /turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/hallway/primary/fore) "tUH" = ( /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/hallway/secondary/entry) -"tUK" = ( -/obj/effect/turf_decal/tile/purple/anticorner/contrasted, -/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "tUV" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -59328,10 +59373,19 @@ /obj/effect/turf_decal/trimline/dark_red/corner, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"tUZ" = ( -/obj/machinery/vending/wardrobe/curator_wardrobe, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +"tVp" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/poster/official/random/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/medical/paramedic) "tVz" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -59357,35 +59411,25 @@ }, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) -"tVY" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"tWc" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "med_priv_1"; - name = "Privacy Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/patients_rooms/room_a) -"tWp" = ( -/obj/effect/turf_decal/siding/wood{ +"tVT" = ( +/obj/effect/turf_decal/stripes/end{ dir = 8 }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 6 +/obj/machinery/door/window/left/directional/west{ + name = "Holy Mass Driver"; + req_access = list("chapel_office") }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -4 +/obj/machinery/mass_driver/chapelgun{ + dir = 4 }, +/obj/item/gps, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/chapel/funeral) +"tWm" = ( +/obj/machinery/light/directional/east, +/obj/item/kirbyplants/random, /turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/area/station/security/prison/rec) "tWv" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -59401,14 +59445,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig) -"tWy" = ( -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"tWK" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +"tWN" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "tWP" = ( /obj/machinery/duct, /obj/effect/turf_decal/stripes/line{ @@ -59429,26 +59475,39 @@ /obj/item/kirbyplants/random, /turf/open/floor/carpet, /area/station/service/chapel) +"tWW" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Hallway - West, Central, 2"; + name = "hallway camera" + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) "tWX" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, /turf/open/space/basic, /area/station/solars/starboard/aft) -"tXa" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/line, -/obj/machinery/camera/autoname/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/table, -/obj/item/storage/briefcase/lawyer, -/turf/open/floor/iron/dark, -/area/station/security/brig) "tXj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/ordnance/office) +"tXl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) +"tXo" = ( +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "tXu" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ @@ -59456,6 +59515,26 @@ }, /turf/open/space/basic, /area/space/nearstation) +"tXw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/airlock/maintenance{ + name = "Departures Medical Post 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/treatment_center) "tXM" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -59466,6 +59545,12 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"tXV" = ( +/obj/machinery/light/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "tYb" = ( /obj/effect/turf_decal/trimline/neutral/warning, /obj/effect/turf_decal/trimline/neutral/filled/warning{ @@ -59473,6 +59558,14 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) +"tYh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "tYj" = ( /obj/machinery/light/floor/has_bulb, /obj/structure/flora/bush/sparsegrass/style_random, @@ -59482,38 +59575,11 @@ "tYl" = ( /turf/open/floor/iron/dark/corner, /area/station/commons/dorms) -"tYy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"tYz" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) -"tYG" = ( -/obj/machinery/firealarm/directional/west, +"tYp" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"tYH" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/paper_bin, -/obj/item/folder/white, -/obj/item/pen, -/turf/open/floor/iron/white, -/area/station/medical/office) +/obj/effect/landmark/start/gary/uncommon, +/turf/open/floor/stone, +/area/station/smithing) "tYO" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 4 @@ -59523,54 +59589,54 @@ "tYU" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/office) -"tZd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"tZe" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/aft) +"tYY" = ( +/obj/machinery/airalarm/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/structure/table/wood, +/obj/item/toy/figure/curator, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "tZi" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tZl" = ( -/obj/structure/chair/plastic{ - dir = 8 +"tZk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "Courtroom Maintenance" }, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/obj/effect/mapping_helpers/airlock/access/all/security/court, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/department/science) +"tZn" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 + }, +/obj/machinery/status_display/ai/directional/south, +/obj/machinery/computer/records/security{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "tZr" = ( /turf/closed/wall, /area/station/smithing) -"tZy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"tZE" = ( -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"tZH" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ +"tZM" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/storage) +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "tZU" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -59580,17 +59646,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"uaf" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 +"uae" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 }, -/area/station/hallway/primary/aft) +/turf/open/floor/wood, +/area/station/command/meeting_room) "uan" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59615,33 +59679,100 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"uaC" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/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/checker{ +"uaJ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/item/stack/cable_coil, +/turf/open/space, +/area/station/solars/starboard/fore) +"uaQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"uaV" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Science - Genetics, Monkey Pen"; + network = list("ss13","rd"); + name = "science camera" + }, +/turf/open/floor/grass, +/area/station/science/genetics) +"uaZ" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/area/station/command/heads_quarters/cmo) +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) +"ubi" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/tcommsat/computer) "ubp" = ( /obj/structure/table, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"ubE" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/dark/side{ - dir = 1 +"ubz" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/records/medical, +/turf/open/floor/iron, +/area/station/medical/paramedic) +"ubD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/area/station/commons/fitness/recreation) -"ubF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - dir = 1 +/turf/open/floor/iron/white, +/area/station/medical/virology) +"ubP" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/table/reinforced/rglass, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_y = 7; + pixel_x = 3 + }, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/timer, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/assembly/igniter, +/obj/item/grenade/chem_grenade{ + pixel_x = 8 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = 8 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = 8 + }, +/obj/item/screwdriver{ + pixel_x = 2; + pixel_y = 15 + }, +/obj/item/integrated_circuit/chemical, +/obj/item/integrated_circuit/chemical, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/item/multitool, +/obj/item/multitool, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"ubT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "bridge_exterior_blast_doors"; + name = "Bridge Exterior Access Blast Door" }, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/area/station/command/bridge) "uck" = ( /obj/machinery/corral_corner{ mapping_id = "3" @@ -59654,11 +59785,14 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"ucn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mob_spawn/corpse/human/assistant, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"ucl" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/structure/reagent_dispensers/wall/virusfood/directional/south, +/obj/machinery/disease2/diseaseanalyser, +/turf/open/floor/iron/white, +/area/station/medical/virology) "ucr" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -59674,14 +59808,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"ucG" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/official/random/directional/east, -/obj/structure/closet/secure_closet/medical3, -/obj/item/wrench/medical, -/turf/open/floor/iron/white, -/area/station/medical/office) "ucJ" = ( /turf/closed/wall, /area/station/maintenance/disposal) @@ -59697,14 +59823,6 @@ "ucP" = ( /turf/closed/wall, /area/station/cargo/office) -"ucY" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/modular_computer/preset/civilian{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "udb" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -59731,16 +59849,13 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"udk" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"udl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"udf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "udm" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering - Atmospherics, External HFR Room, West"; @@ -59749,18 +59864,32 @@ /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"udB" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/airalarm/directional/west, -/obj/machinery/computer/security/labor{ - dir = 4 - }, +"udz" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/reagent_dispensers/plumbed, +/turf/open/floor/plating, +/area/station/maintenance/port) +"udQ" = ( +/obj/machinery/duct, /turf/open/floor/iron/dark, -/area/station/security/processing) +/area/station/medical/morgue) +"uea" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "hos_office"; + name = "HoS Office Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hos) +"uec" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/chemistry) "uet" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -59770,26 +59899,39 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"uey" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, +"ueG" = ( /obj/effect/turf_decal/bot, -/obj/machinery/vending/modularpc, +/obj/machinery/status_display/evac/directional/south, +/obj/machinery/power/port_gen/pacman/pre_loaded, +/turf/open/floor/iron/large, +/area/station/engineering/gravity_generator) +"ueX" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/cable, +/obj/machinery/vending/boozeomat/all_access, /turf/open/floor/iron/dark, -/area/station/commons/storage/primary) -"ueH" = ( -/obj/structure/disposalpipe/segment, +/area/station/ai_monitored/turret_protected/ai_upload) +"ufc" = ( +/obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/virology) "ufg" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{ dir = 8 }, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"ufh" = ( +/obj/machinery/button/door/directional/north{ + id = "secondary_shop" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "ufk" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron/dark, @@ -59799,6 +59941,17 @@ dir = 1 }, /area/station/commons/dorms) +"ufm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/engineering/break_room) +"ufn" = ( +/turf/closed/wall, +/area/station/medical/paramedic) "ufq" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -59818,31 +59971,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/stone, /area/station/science/xenobiology) -"ufA" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/machinery/door/window/right/directional/north{ - name = "Hydroponics Desk" - }, -/obj/machinery/door/poddoor/shutters{ - id = "hydroponics_shutters"; - name = "Hydroponics Shutters"; - dir = 1 - }, -/obj/structure/desk_bell{ - pixel_x = 7; - pixel_y = 7 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/hydroponics) "ufQ" = ( /obj/effect/turf_decal/box/red, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -59870,58 +59998,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"ugm" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/warning{ - 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/white, -/area/station/medical/medbay/aft) -"ugn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/security/glass{ - name = "Isolation Cell"; - id_tag = "iso_cell_hall_bolt" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) -"ugt" = ( -/obj/structure/lattice, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/space, -/area/space/nearstation) -"ugC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/directional/south, -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_y = 7 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -3 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) "ugD" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -59941,41 +60017,59 @@ /obj/effect/landmark/navigate_destination/eva, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/command/storage/eva) -"ugM" = ( -/turf/closed/wall, -/area/station/commons/dorms/room4) -"ugZ" = ( -/obj/machinery/requests_console/directional/east{ - department = "Telecomms Admin"; - name = "Telecomms Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/iron/dark/side{ - dir = 4 +"ugL" = ( +/obj/machinery/status_display/evac/directional/south, +/obj/structure/table, +/obj/item/toy/foamblade, +/obj/item/toy/sword{ + pixel_x = 3; + pixel_y = 12 }, -/area/station/tcommsat/computer) +/turf/open/floor/iron/dark/side, +/area/station/commons/fitness/recreation) "uha" = ( /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/atmos/hfr_room) +"uhb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/computer/cargo{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "uhe" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron, /area/station/command/gateway) +"uhj" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/machinery/computer/records/pathology{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "uho" = ( /turf/closed/wall, /area/station/hallway/secondary/entry) -"uhv" = ( -/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, -/area/station/hallway/primary/aft) +"uhx" = ( +/obj/structure/lattice, +/obj/machinery/camera/directional/south{ + c_tag = "AI Sat - External, Northeast"; + network = list("minisat"); + start_active = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "uhz" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /turf/closed/wall/r_wall, @@ -59995,26 +60089,28 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"uhG" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 +"uhC" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 }, -/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/trimline/neutral/corner{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/structure/sign/warning/pods/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "uhY" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/pharmacy) +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/service/library/private) "uib" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -60031,32 +60127,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/brig/entrance) -"uim" = ( -/obj/machinery/light/neon_lining{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Science - Xenobiology, Pen 5"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"uio" = ( -/obj/structure/closet/emcloset, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"uir" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos/office) "uis" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -60075,28 +60145,15 @@ /obj/item/food/grown/banana, /turf/open/floor/grass, /area/station/hallway/primary/central) -"uiJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/structure/closet/secure_closet/personal/patient, +"uiG" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/vending/drugs, /turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) -"uiM" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/reagent_dispensers/wall/peppertank/directional/north, -/obj/structure/closet/secure_closet/security/engine/blueshirt, +/area/station/medical/storage) +"uiJ" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/area/station/command/bridge) "uiW" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -60105,17 +60162,19 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/cargo/lobby) -"uiX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) +"ujc" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/modular_computer/preset/cargochat/engineering, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) "ujk" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/hfr_room) -"ujm" = ( -/obj/machinery/telecomms/processor/preset_one, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) "ujt" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -60126,6 +60185,21 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"ujF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) +"ujG" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) "ujN" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -60143,16 +60217,24 @@ /obj/effect/landmark/navigate_destination/common/portquartersolar, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"ujV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"ujQ" = ( +/obj/machinery/light/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=AIE"; - location = "AftH" +/obj/structure/closet/l3closet/scientist, +/obj/item/extinguisher, +/turf/open/floor/iron/showroomfloor, +/area/station/science/xenobiology/hallway) +"ujU" = ( +/obj/machinery/plumbing/ooze_sucker{ + mapping_id = "5" }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/turf/open/floor/engine, +/area/station/science/xenobiology) +"ujW" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "ujY" = ( /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) @@ -60171,32 +60253,17 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) +"uka" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/station/service/library/private) "uki" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input{ dir = 8 }, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"ukr" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"ukt" = ( -/obj/effect/turf_decal/trimline/red/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/structure/chair, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "ukC" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -60214,14 +60281,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"ukI" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/airalarm/directional/south, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/item/kirbyplants/random, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) "ukT" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -60244,25 +60303,36 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"ukY" = ( -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"ula" = ( +"ule" = ( /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"ulb" = ( -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/structure/window/spawner/directional/east, +/obj/machinery/chem_master, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"ulh" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"ulf" = ( +/obj/effect/turf_decal/trimline/blue/line, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"ulm" = ( +/turf/open/floor/carpet, +/area/station/maintenance/starboard/fore) +"ulz" = ( +/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/warden) +"ulD" = ( +/obj/machinery/telecomms/bus/preset_one, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"ulE" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -60273,14 +60343,25 @@ /obj/structure/cable, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Break Room" + name = "Engineering Shared Storage" }, /obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engi-shared-storage" + }, /turf/open/floor/iron/dark/textured, -/area/station/engineering/break_room) -"ulm" = ( -/turf/open/floor/carpet, -/area/station/maintenance/starboard/fore) +/area/station/engineering/storage_shared) +"ulM" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/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/dark, +/area/station/hallway/primary/central) "ulO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -60297,29 +60378,19 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"ulT" = ( -/obj/machinery/light/neon_lining{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Science - Xenobiology, Pen 6"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"umd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"ulS" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/main) +"ulY" = ( +/obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +/obj/machinery/holopad, +/turf/open/floor/iron/large, +/area/station/engineering/atmos/office) "ume" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -60346,6 +60417,10 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"umC" = ( +/obj/machinery/telecomms/server/presets/command, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) "umJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -60360,13 +60435,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/prison) -"umO" = ( -/obj/structure/chair/sofa/right/brown, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) "umP" = ( /obj/structure/sign/poster/official/do_not_question/directional/east, /obj/machinery/cryopod{ @@ -60380,16 +60448,37 @@ /obj/effect/mapping_helpers/iannewyear, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/hop) +"uni" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/abandoned_gambling_den) "unj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"unN" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/firealarm/directional/east, +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/main) "unQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/wood, /area/station/security/prison/rec) +"unU" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "unV" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -60410,30 +60499,28 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"uol" = ( -/turf/open/floor/iron/dark, -/area/station/security/lockers) "uoo" = ( /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"uoq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"uop" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, +/obj/effect/turf_decal/trimline/purple/line, +/obj/machinery/atm/directional/north, +/obj/machinery/vending/modularpc, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"uot" = ( +/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/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/catwalk_floor/iron_dark, /area/station/maintenance/starboard/aft) -"uou" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos) "uov" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -60442,67 +60529,67 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/iron, /area/station/science/ordnance) -"uoE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) -"uoF" = ( -/obj/machinery/space_heater, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/security/prison) -"uoH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"uoA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/structure/bookcase/manuals/engineering, +/turf/open/floor/iron/dark/side{ + dir = 9 }, -/obj/structure/fans/tiny, -/obj/machinery/door/poddoor/massdriver_chapel, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/chapel/funeral) +/area/station/engineering/break_room) "uoX" = ( -/obj/structure/foamedmetal, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"upb" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 5 }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"upb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/morgue{ - name = "Curator's Study"; - req_access = list("library") +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library) +"upm" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/printer) -"upt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_flipped{ +/obj/machinery/requests_console/directional/west{ + department = "Hydroponics"; + name = "Hydroponics Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/closet/crate/hydroponics, +/obj/item/wirecutters, +/obj/item/wrench, +/obj/item/shovel/spade, +/turf/open/floor/iron/dark/side{ dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"uqh" = ( -/obj/machinery/light/small/built/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"uql" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/computer/atmos_alert{ - dir = 1 +/area/station/service/hydroponics) +"upp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"uqd" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/effect/spawner/random/medical/medkit, +/turf/open/floor/iron/white, +/area/station/medical/break_room) +"uqj" = ( +/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/atmos/office) +/area/station/engineering/break_room) "uqn" = ( /obj/machinery/atmospherics/components/binary/pump/off/supply/hidden{ dir = 1 @@ -60520,27 +60607,28 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"uqz" = ( -/obj/effect/turf_decal/trimline/brown/line{ +"uqv" = ( +/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/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/trimline/brown/filled/line{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"uqE" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/medbay/central) -"uqM" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/reagent_dispensers/plumbed, -/turf/open/floor/plating, -/area/station/maintenance/port) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Dock" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured, +/area/station/security/processing) +"uqO" = ( +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) "uqS" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -60552,97 +60640,75 @@ dir = 4 }, /area/station/service/hydroponics/garden) -"urb" = ( -/obj/effect/turf_decal/stripes/line{ +"uqV" = ( +/obj/structure/chair/comfy/brown{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ - dir = 8 +/obj/effect/landmark/start/assistant, +/turf/open/floor/carpet, +/area/station/hallway/secondary/entry) +"urc" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/effect/turf_decal/trimline/blue/line, +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"urt" = ( +/obj/item/shard{ + icon_state = "medium" }, -/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/maintenance/disposal/incinerator) -"ure" = ( -/obj/machinery/station_map/directional/east, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"urk" = ( -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_x = 8; - pixel_y = 10 +/obj/item/circuitboard/computer/operating, +/turf/open/floor/iron/white, +/area/station/maintenance/port/fore) +"urM" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 }, -/obj/item/flashlight/lamp{ - pixel_y = 3 +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"urN" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "N2 to Pure" }, -/turf/open/floor/carpet/red, -/area/station/commons/vacant_room/office) -"urm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"urn" = ( -/obj/machinery/status_display/ai/directional/east, -/obj/structure/rack, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, /turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"urs" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 +/area/station/engineering/atmos) +"urS" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/command/heads_quarters/ce) +"urT" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) -"urt" = ( -/obj/item/shard{ - icon_state = "medium" +/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/item/circuitboard/computer/operating, -/turf/open/floor/iron/white, -/area/station/maintenance/port/fore) -"uru" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"urK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/small/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/chair{ - dir = 1 +/obj/machinery/door/airlock/maintenance{ + name = "Theater Backstage Maintenance" }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/iron/white, -/area/station/medical/cryo) -"urM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_flipped, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/service/theater) "urV" = ( /obj/structure/table/reinforced, /obj/item/food/piedough, @@ -60654,31 +60720,53 @@ "urW" = ( /turf/open/floor/iron/dark, /area/station/security/prison/workout) -"usd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) -"usg" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"uso" = ( -/obj/machinery/light/directional/south, -/obj/structure/bookcase/random/reference, -/turf/open/floor/wood, -/area/station/service/library) "usv" = ( /obj/effect/turf_decal/trimline/brown/filled/warning, /turf/open/floor/iron/dark/side, /area/station/cargo/lobby) +"usy" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Shared Storage" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engi-shared-storage" + }, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/storage_shared) +"usC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/button/door/directional/north{ + id = "engi_office_shutters"; + name = "Engineering Shutters Control"; + req_access = list("engineering") + }, +/obj/machinery/modular_computer/preset/civilian, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/engineering/break_room) +"usQ" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "usR" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -60686,22 +60774,12 @@ /obj/structure/cable/layer3, /turf/open/floor/engine, /area/station/ai_monitored/command/storage/satellite) -"utc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, +"ute" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"uth" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/directional/west, -/obj/machinery/flasher/directional/west{ - id = "AI" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +/area/station/maintenance/department/engine) "utj" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -60710,16 +60788,34 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/security/brig) +"utl" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "utm" = ( /obj/structure/table, /obj/item/stack/sheet/plasteel/fifty, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"utw" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/computer/records/medical, -/turf/open/floor/iron, -/area/station/medical/paramedic) +"utp" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/aft) +"uts" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "utE" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /obj/machinery/light/directional/north, @@ -60742,24 +60838,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"utT" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "uuh" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/guillotine, /turf/open/floor/iron/dark, /area/station/security/execution) -"uui" = ( -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "uuj" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -60769,111 +60852,80 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"uum" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/camera/directional/west{ - c_tag = "Security - Checkpoint, Departures"; - name = "security camera" - }, -/obj/machinery/requests_console/directional/west{ - department = "Theatre"; - name = "Theater Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/machinery/vending/wardrobe/sec_wardrobe, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"uut" = ( -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"uuA" = ( -/obj/machinery/doppler_array{ - dir = 4 +"uuk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) -"uuD" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - id_tag = "dorm_6"; - name = "Dorm 6" +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/left/directional/east{ + name = "Blueshield Desk"; + req_access = list("captain") + }, +/obj/machinery/door/window/right/directional/west{ + name = "Reception" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bs_desk"; + name = "Desk Shutters"; + dir = 8 }, -/obj/structure/cable, /turf/open/floor/iron/dark/textured, -/area/station/commons/dorms/room6) +/area/station/command/heads_quarters/blueshield) "uuG" = ( /turf/open/floor/eighties/red, /area/station/service/theater) -"uuZ" = ( -/obj/effect/spawner/random/structure/chair_maintenance{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"uvm" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor, +"uuP" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters{ - id = "cmo_desk_shutters"; - name = "Desk Shutters"; + id = "detective_office_shutters"; + name = "Detective Office Shutters"; dir = 1 }, -/obj/structure/table, -/obj/item/folder/blue{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/folder/white, -/obj/item/folder/blue{ - pixel_x = -3; - pixel_y = -3 - }, -/turf/open/floor/iron/dark/side, -/area/station/command/heads_quarters/cmo) -"uvI" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/machinery/door/window/left/directional/south{ - name = "Miscellaneous Medical Supplies"; - req_access = list("medical") - }, -/obj/item/emergency_bed{ - pixel_y = 7; - pixel_x = -9 +/turf/open/floor/plating, +/area/station/security/detectives_office) +"uuR" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 }, -/obj/item/emergency_bed{ - pixel_y = 14; - pixel_x = -9 +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 }, -/obj/item/emergency_bed{ - pixel_y = 21; - pixel_x = -9 +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 }, -/obj/item/wheelchair{ - pixel_x = 9 +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"uuZ" = ( +/obj/effect/spawner/random/structure/chair_maintenance{ + dir = 1 }, -/obj/item/wheelchair{ - pixel_x = 9; - pixel_y = 5 +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"uvq" = ( +/obj/machinery/telecomms/broadcaster/preset_right, +/turf/open/floor/circuit/telecomms, +/area/station/tcommsat/server) +"uvE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 }, -/obj/item/wheelchair{ - pixel_x = 9; - pixel_y = 10 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"uvR" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) "uvU" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -60883,11 +60935,6 @@ /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"uvW" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) "uwd" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60946,17 +60993,6 @@ }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) -"uww" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/airlock/maintenance{ - name = "Curator's Study Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/library, -/turf/open/floor/plating, -/area/station/service/library/printer) "uwJ" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted, /obj/structure/table, @@ -60964,80 +61000,168 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/iron, /area/station/maintenance/port) -"uwY" = ( +"uwM" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"uwP" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/service/library) +"uwT" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/window/right/directional/north{ + name = "Science Deliveries"; + req_access = list("research") + }, +/obj/machinery/duct, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/breakroom) +"uxa" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 10 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"uxx" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/item/reagent_containers/cup/glass/mug/coco{ - pixel_x = 8; - pixel_y = 8 - }, /turf/open/floor/iron/dark, -/area/station/security/checkpoint/escape) -"uxF" = ( -/obj/structure/reagent_dispensers/plumbed{ +/area/station/security/office) +"uxB" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/iron/white, +/area/station/science/explab) +"uxC" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 }, -/area/station/security/prison) -"uxM" = ( -/obj/effect/turf_decal/tile/red{ +/obj/machinery/camera/directional/west{ + c_tag = "Medical - Pathology, Hallway, West"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "N2O Outlet Pump" +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"uxW" = ( +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 2 }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"uyr" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/rack, -/obj/effect/spawner/random/engineering/toolbox, -/turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"uxZ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair/office/light, +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "uyw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"uyC" = ( +"uyB" = ( +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/no_smoking/directional/north, +/obj/structure/cable, +/obj/structure/closet/radiation, /obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal/incinerator) +"uyF" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/line{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Arrivals - Hallway" + }, +/obj/structure/sign/directions/medical/directional/east{ + pixel_y = 9 + }, +/obj/structure/sign/directions/science/directional/east, +/obj/structure/sign/directions/vault/directional/east{ + pixel_y = -9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"uyN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/structure/table, +/obj/item/airlock_painter/decal/tile{ + pixel_y = 9 + }, +/obj/item/airlock_painter{ + pixel_y = 3 + }, +/obj/item/airlock_painter/decal{ + pixel_y = -3 + }, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/engineering/storage_shared) "uyP" = ( /obj/structure/lattice, /obj/structure/sign/warning/secure_area/directional/south, /turf/open/space, /area/space/nearstation) -"uyR" = ( -/obj/structure/cable, +"uyQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/defibrillator_mount/directional/south, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, /turf/open/floor/iron/white, -/area/station/medical/exam_room) +/area/station/medical/medbay/lobby) "uyU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"uyZ" = ( +/obj/structure/cable, +/obj/structure/chair/plastic, +/turf/open/floor/wood, +/area/station/security/prison/rec) "uza" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -61047,42 +61171,55 @@ /obj/machinery/space_heater, /turf/open/floor/iron/dark, /area/station/security/execution) -"uzl" = ( -/obj/machinery/holopad, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) +"uzi" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Library Lounge" + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/library/lounge) "uzn" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"uzs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +"uzL" = ( +/obj/machinery/status_display/evac/directional/east, +/obj/structure/rack, +/obj/item/crowbar/red, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) +"uzZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"uzN" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, +/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/apc/cell_5k, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"uzT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"uAb" = ( -/obj/structure/mirror/directional/north, -/obj/structure/sink/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) +/obj/structure/table, +/obj/item/book/manual/wiki/engineering_guide{ + pixel_x = -7 + }, +/obj/item/book/manual/wiki/engineering_construction{ + pixel_x = 7 + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "uAg" = ( /obj/machinery/the_singularitygen/tesla, /turf/open/floor/plating, /area/station/engineering/main) +"uAp" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/line, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/office) "uAu" = ( /obj/machinery/power/terminal{ dir = 4 @@ -61101,45 +61238,70 @@ /obj/machinery/vending/cigarette, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"uAy" = ( -/obj/machinery/telecomms/broadcaster/preset_right, -/turf/open/floor/circuit/telecomms, -/area/station/tcommsat/server) "uAC" = ( +/obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/structure/sign/departments/aisat/directional/east, +/obj/item/kirbyplants/photosynthetic, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) "uAL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/item/storage/crayons, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"uAM" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/turf/open/floor/iron/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) "uAP" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/engine, /area/station/science/xenobiology) +"uBs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "uBt" = ( /obj/structure/sign/poster/random/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science) -"uBC" = ( -/turf/open/floor/iron, -/area/station/cargo/lobby) -"uBD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"uBu" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 + }, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - 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/security/processing) +"uBz" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) +"uBC" = ( /turf/open/floor/iron, -/area/station/security/prison/work) +/area/station/cargo/lobby) "uBE" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -61154,28 +61316,37 @@ /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "uBG" = ( -/obj/machinery/light/directional/east, -/obj/machinery/button/door/directional/east{ - id = "atmos"; - name = "Atmospherics Lockdown"; - req_access = list("atmospherics"); - pixel_y = 6 +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 }, -/obj/machinery/button/door/directional/east{ - id = "atmos_rad_shutters"; - name = "Atmospherics Radiation Shutters Control"; - req_access = list("atmospherics"); - pixel_y = -6 +/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/mail_sorting/science/ordnance, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/department/science) +"uBS" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/dark/side{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) +"uBV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/area/station/engineering/atmos/office) -"uBT" = ( -/turf/open/floor/iron/dark/corner{ +/obj/structure/cable, +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/storage/box, +/obj/item/storage/box, +/turf/open/floor/iron/dark/side{ dir = 4 }, -/area/station/hallway/secondary/exit/departure_lounge) +/area/station/engineering/break_room) "uBX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61211,13 +61382,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/mess) -"uCo" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"uCB" = ( -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/blueshield) "uDj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -61237,6 +61401,16 @@ dir = 8 }, /area/station/commons/fitness/recreation) +"uDo" = ( +/obj/structure/closet/emcloset/wall/directional/west, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"uDs" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/landmark/start/gary, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/abandoned_gambling_den) "uDB" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/structure/table/glass, @@ -61250,150 +61424,62 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"uEE" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) -"uEU" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark/telecomms, +"uDJ" = ( +/obj/machinery/telecomms/processor/preset_one, +/turf/open/floor/circuit/green/telecomms, /area/station/tcommsat/server) -"uEZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +"uDW" = ( +/obj/machinery/telecomms/processor/preset_three, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"uDX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "rad_shutters"; + name = "RaD Shutters" }, -/obj/machinery/light/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/turf/open/floor/plating, +/area/station/science/lab) +"uEp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, /turf/open/floor/iron/white, -/area/station/medical/patients_rooms/room_a) -"uFl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/secondary/exit/departure_lounge) -"uFo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/entertainment/coin, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"uFv" = ( -/obj/effect/turf_decal/tile/green/anticorner/contrasted, -/obj/structure/table, -/obj/item/book/manual/hydroponics_pod_people, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/grenade/chem_grenade/antiweed{ - pixel_x = -9; - pixel_y = 10 - }, -/obj/item/grenade/chem_grenade/antiweed{ - pixel_x = -9; - pixel_y = 5 - }, -/obj/item/toy/figure/botanist{ - pixel_x = 9; - pixel_y = 17 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 +/area/station/medical/medbay/lobby) +"uEz" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 8 }, -/area/station/service/hydroponics) -"uFw" = ( -/obj/machinery/telecomms/bus/preset_four, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"uFH" = ( -/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/pharmacy) -"uFK" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5 - }, -/obj/structure/table/wood, -/obj/item/skub, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"uFM" = ( -/obj/machinery/light/broken/directional/east, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "uFU" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"uGd" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"uGk" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/directional{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"uGA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +"uFZ" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/closet/secure_closet/captains, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) +"uGb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/vending_restock, /turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"uGD" = ( -/obj/effect/turf_decal/siding/wood{ +/area/station/maintenance/port/aft) +"uGh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/red, +/area/station/security/courtroom) +"uGX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) -"uGL" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/paramedic, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, -/area/station/medical/paramedic) -"uGO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"uGS" = ( -/mob/living/basic/chicken, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"uHc" = ( -/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/side, -/area/station/engineering/atmos/office) +/area/station/engineering/storage) "uHf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61409,13 +61495,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/plating, /area/station/engineering/atmos) -"uHh" = ( -/obj/structure/cable, -/obj/structure/cable/layer1, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/storage) "uHo" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible/layer2, @@ -61433,15 +61512,15 @@ dir = 4 }, /area/station/cargo/storage) -"uHz" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/computer/prisoner/gulag_teleporter_computer{ - dir = 8 - }, +"uHx" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/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, +/obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/dark, -/area/station/security/processing) +/area/station/command/teleporter) "uHC" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/camera/autoname/directional/east, @@ -61457,117 +61536,78 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"uHN" = ( -/obj/effect/turf_decal/stripes/line{ +"uHV" = ( +/obj/machinery/light/built/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"uIi" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/lavendergrass/style_random, +/turf/open/floor/grass, +/area/station/hallway/primary/aft) +"uIl" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/light/small/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "bar_sec_shutters"; - name = "Bar Shutters"; +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark, +/area/station/science/breakroom) +"uIU" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, -/obj/structure/displaycase/forsale/kitchen, -/turf/open/floor/iron/dark/textured, -/area/station/service/bar) -"uHQ" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"uIh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 +/obj/structure/table/reinforced/rglass, +/obj/item/emergency_bed{ + pixel_y = 7 }, -/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, -/turf/open/floor/iron/dark/side{ - dir = 1 +/obj/item/emergency_bed{ + pixel_y = 14 }, -/area/station/engineering/break_room) -"uIi" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/flora/bush/lavendergrass/style_random, -/turf/open/floor/grass, -/area/station/hallway/primary/aft) -"uIk" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +/obj/item/emergency_bed{ + pixel_y = 21 }, -/obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark/side{ dir = 8 }, -/area/station/security/interrogation) -"uIl" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +/area/station/medical/paramedic) +"uJm" = ( +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"uJn" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/light/small/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark, -/area/station/science/breakroom) -"uII" = ( -/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 4 }, -/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, -/turf/open/floor/iron/white/textured, -/area/station/medical/exam_room) -"uIQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"uIU" = ( -/obj/structure/table/wood/fancy/royalblue, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = -9; - pixel_y = 9 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_y = 9 - }, -/obj/item/reagent_containers/cup/glass/bottle/wine{ - pixel_x = -7 - }, -/obj/item/reagent_containers/cup/glass/bottle/navy_rum{ - pixel_x = 7 - }, -/obj/item/reagent_containers/cup/glass/bottle/rum{ - pixel_y = -9 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Patient Room 2" }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) +/turf/open/floor/iron/white/textured, +/area/station/medical/patients_rooms/room_b) "uJu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"uJw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/lockers) "uJz" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -61584,52 +61624,50 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) -"uJP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"uJA" = ( +/obj/structure/kitchenspike, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"uJB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron, +/area/station/security/prison/work) +"uJC" = ( +/obj/machinery/light/small/broken/directional/north, +/obj/structure/toilet{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) -"uKb" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) +"uJD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "genetics_shutters"; + name = "Genetics Shutters" + }, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/science/genetics) +"uJX" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/prison/workout) "uKf" = ( /obj/structure/chair{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"uKm" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"uKp" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/north, -/obj/structure/closet/secure_closet/medical1, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"uKy" = ( -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"uKE" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/portable_atmospherics/pump, +"uKq" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/area/station/security/detectives_office) "uKL" = ( /obj/machinery/corral_corner{ mapping_id = "2" @@ -61658,17 +61696,14 @@ dir = 4 }, /area/station/service/hydroponics/garden) -"uLk" = ( -/obj/machinery/light/directional/south, -/obj/machinery/requests_console/directional/south{ - department = "Bridge"; - name = "Bridge Requests Console" +"uKV" = ( +/obj/structure/sign/painting/library{ + pixel_x = -32 }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, +/obj/structure/table/wood, +/obj/item/flashlight/lamp, /turf/open/floor/wood, -/area/station/command/meeting_room) +/area/station/service/library/private) "uLo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61678,6 +61713,29 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) +"uLq" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"uLs" = ( +/obj/machinery/light/directional/south, +/obj/machinery/status_display/ai/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"uLv" = ( +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/west, +/obj/structure/table/wood, +/obj/item/toy/figure/bartender, +/turf/open/floor/wood, +/area/station/service/bar/backroom) "uLz" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy{ @@ -61703,17 +61761,30 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"uLI" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ +"uLD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/camera/motion/directional/north{ + c_tag = "AI Sat - AI Chamber North"; + network = list("aicore"); + name = "ai camera" + }, +/turf/open/floor/engine, +/area/station/ai_monitored/turret_protected/ai) +"uLG" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/structure/sign/poster/official/random/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/medical/paramedic) "uLJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, @@ -61730,48 +61801,15 @@ /obj/item/electropack, /turf/open/floor/iron/dark, /area/station/security/execution) -"uLQ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/machinery/requests_console/directional/south{ - department = "Genetics"; - name = "Genetics Requests console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"uLS" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"uLX" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"uLZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/tank_holder, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"uMf" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +"uMc" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/office) -"uMg" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/processor, -/turf/open/floor/iron/kitchen, -/area/station/security/prison/mess) +/obj/machinery/light/directional/south, +/obj/machinery/station_map/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) "uMj" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 1 @@ -61781,20 +61819,37 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"uMr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/storage) "uMz" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, /area/station/cargo/sorting) +"uMF" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/commons/fitness) +"uMJ" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/structure/filingcabinet, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "uML" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -61807,15 +61862,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig) -"uMN" = ( -/turf/open/floor/carpet/red, -/area/station/commons/dorms/room6) -"uMO" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "uMT" = ( /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark/side, @@ -61836,53 +61882,48 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"uNa" = ( -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) -"uNj" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/machinery/light/small/directional/south, -/obj/structure/chair/sofa/bench/right{ +"uNl" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/processing) -"uNx" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"uNz" = ( /obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - 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/plating, +/area/station/maintenance/department/cargo) +"uNo" = ( +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/structure/disposalpipe/segment{ + dir = 9 }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"uNq" = ( +/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/structure/table/reinforced, -/obj/machinery/door/window/left/directional/north{ - name = "Robotics Desk"; - req_access = list("robotics") - }, -/obj/machinery/door/window/left/directional/south{ - name = "Reception" - }, -/obj/machinery/door/poddoor/shutters{ - id = "robotics_pub_shutters"; - name = "Robotics Shutters" - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron/textured, -/area/station/science/robotics/lab) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "uNE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, /turf/open/floor/wood, /area/station/service/chapel/funeral) +"uNH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"uNL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/reinforced, +/obj/item/forging/billow, +/turf/open/floor/wood, +/area/station/smithing) "uNM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61893,36 +61934,26 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"uOf" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder/red, -/obj/item/pen, -/obj/item/toy/figure/detective{ - pixel_x = 11; - pixel_y = 6 +"uOm" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/turf/open/floor/carpet/red, -/area/station/security/detectives_office) -"uOj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/station_map/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"uOy" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/north, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 10 }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Fuel to Incinerator" +/obj/item/assembly/igniter{ + pixel_y = -3 }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"uOm" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/service/library) -"uOw" = ( -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/no_smoking/directional/west, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) "uOF" = ( /obj/docking_port/stationary/random{ name = "lavaland"; @@ -61931,44 +61962,15 @@ }, /turf/open/space, /area/space) -"uOS" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) -"uOV" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/table, -/obj/item/assembly/flash/handheld{ - pixel_y = 12; - pixel_x = -9 - }, -/obj/item/assembly/flash/handheld{ - pixel_y = 12 +"uPf" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/obj/item/assembly/flash/handheld{ - pixel_y = 12; - pixel_x = 9 +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/obj/item/wirecutters, -/obj/item/screwdriver, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"uPa" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"uPg" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/machinery/light/small/built/directional/south, -/obj/effect/spawner/random/engineering/tank, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) +/area/station/cargo/office) "uPs" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -61996,13 +61998,21 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"uPZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - dir = 8 +"uPQ" = ( +/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 = 9 }, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) +"uQa" = ( +/obj/machinery/shower/directional/north, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/restrooms) "uQg" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner{ @@ -62018,56 +62028,46 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/engine, /area/station/ai_monitored/command/storage/satellite) -"uQh" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "uQk" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/space, /area/space/nearstation) -"uQl" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/button/door/directional/north{ - id = "teleporter_shutters"; - name = "Teleporter Room Shutters Control"; - req_access = list("teleporter") - }, -/obj/machinery/power/shieldwallgen, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) -"uQv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"uQm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/obj/structure/bed/dogbed{ - name = "Tom's Bed" +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 }, -/mob/living/basic/mouse/brown/tom, -/turf/open/floor/iron/dark, -/area/station/security/prison/work) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"uQp" = ( +/obj/effect/turf_decal/delivery/white, +/obj/structure/closet/crate/freezer, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"uQO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "uQP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/service/hydroponics) -"uQR" = ( -/obj/structure/sign/painting/library{ - pixel_x = -32 +"uQZ" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/turf/open/floor/wood, -/area/station/service/library/private) +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/machinery/light/directional/north, +/obj/structure/chair/sofa/bench/right, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "uRe" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/closet/radiation, @@ -62088,12 +62088,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"uRD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) "uRF" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/airalarm/directional/east, @@ -62116,28 +62110,56 @@ /obj/structure/closet/secure_closet/exile, /turf/open/floor/iron/dark/textured, /area/station/command/gateway) -"uRW" = ( -/obj/machinery/plumbing/ooze_sucker{ - mapping_id = "4"; - dir = 1 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"uSp" = ( +"uRM" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"uSA" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +/obj/machinery/ai_slipper{ + uses = 10 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) +"uRS" = ( +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/no_smoking/directional/west, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"uRU" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical{ + desc = "Danger. Very robust. Did someone change this?" + }, +/obj/item/crowbar/large{ + desc = "Sic semper tyrannis."; + name = "The One Free Engineer's crowbar" + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"uSb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/meter/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"uSq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"uSC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/textured, +/area/station/engineering/main) "uSG" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -62148,6 +62170,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"uSH" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/iv_drip, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"uSJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/warning, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "uSP" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -62155,41 +62192,23 @@ /obj/effect/mapping_helpers/mail_sorting/security/general, /turf/open/floor/iron/dark, /area/station/security/office) -"uTb" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/firealarm/directional/east, -/obj/structure/chair/sofa/bench/right{ +"uSZ" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/main) -"uTo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos/glass{ - name = "Distribution Loop" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/atmos/pumproom) -"uTq" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +/obj/machinery/camera/directional/south{ + c_tag = "Command - Head of Personnel's Office"; + name = "command camera" }, -/obj/machinery/button/door/directional/east{ - id = "apothecary_pri_desk_shutters"; - name = "Apothecary Primary Desk Shutters Control"; - req_access = list("pharmacy") +/obj/machinery/requests_console/directional/south{ + department = "Head of Personnel's Desk"; + name = "Head of Personnel's Requests Console" }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "uTw" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -62210,62 +62229,24 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"uTN" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) -"uTO" = ( -/obj/machinery/button/door/directional/north{ - id = "secondary_shop" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "uUa" = ( /turf/open/floor/iron/dark/side{ dir = 8 }, /area/station/commons/fitness/recreation) -"uUq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"uUs" = ( -/obj/machinery/light/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, +"uUp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"uUB" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/chair/sofa/bench/right{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) -"uUN" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/poddoor{ - id = "ord_freezer_vent"; - name = "Ordnance Freezer Chamber Vent" - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) -"uUY" = ( -/obj/machinery/light/built/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +/area/station/medical/paramedic) +"uUz" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/wood/tile, +/area/station/commons/dorms/room4) "uVf" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -62280,6 +62261,17 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/storage) +"uVj" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/engine, +/area/station/science/ordnance/storage) "uVl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -62300,6 +62292,20 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/service/hydroponics) +"uVm" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/cable, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "uVn" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -62316,14 +62322,14 @@ /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) "uVC" = ( -/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 = 6 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/machinery/bookbinder, +/turf/open/floor/wood, +/area/station/service/library/lounge) +"uVE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) "uVG" = ( /obj/machinery/light/directional/west, /obj/structure/table, @@ -62364,6 +62370,24 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) +"uVL" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/computer/pod/old/mass_driver_controller/trash{ + pixel_x = -6; + pixel_y = 24 + }, +/obj/machinery/button/door/directional/north{ + id = "disposal_exit"; + name = "Disposal Vent Control"; + req_access = list("maint_tunnels"); + pixel_x = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/iron, +/area/station/maintenance/disposal) "uVO" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/chair/sofa/bench/right{ @@ -62379,66 +62403,11 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/science/robotics/lab) -"uWn" = ( -/obj/machinery/button/door/directional/south{ - id = "dorm_3"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - pixel_x = 5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5; - pixel_y = -34 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) -"uWo" = ( -/obj/machinery/shower/directional/east, -/obj/structure/drain, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/storage) -"uWp" = ( -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"uWr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/aft) -"uWv" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/machinery/iv_drip, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) +"uWy" = ( +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/structure/sign/poster/official/cohiba_robusto_ad/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "uWB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62453,21 +62422,6 @@ dir = 4 }, /area/station/cargo/storage) -"uWF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - id_tag = "dorm_5"; - name = "Dorm 5" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms/room5) "uWJ" = ( /obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/iron/dark, @@ -62477,6 +62431,15 @@ /obj/item/toy/plush/beeplushie, /turf/open/floor/wood, /area/station/maintenance/starboard/fore) +"uXc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) "uXe" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -62491,27 +62454,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/detectives_office) -"uXH" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/head_of_security, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"uXN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ +"uXx" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/machinery/washing_machine, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "uXP" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; @@ -62520,17 +62469,46 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"uYe" = ( -/obj/effect/landmark/blobstart, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 +"uXS" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/item/pen/red, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/office) +"uYa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/starboard/aft) +"uYs" = ( +/obj/machinery/light/directional/north, +/obj/machinery/button/door/directional/north{ + id = "cap_privacy"; + name = "Privacy Shutters Control"; + req_access = list("command") }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"uYH" = ( +/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, -/area/station/maintenance/disposal/incinerator) -"uYf" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) +/area/station/hallway/primary/aft) "uYJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62544,14 +62522,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"uZf" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/sugar, -/obj/item/reagent_containers/condiment/enzyme, -/obj/item/kitchen/rollingpin, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"uZc" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Distro to Waste" + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) "uZj" = ( /obj/structure/closet/crate/wooden, /obj/item/instrument/accordion, @@ -62573,12 +62551,17 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/command/gateway) -"uZH" = ( +"uZL" = ( +/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, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/break_room) "uZR" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -62587,45 +62570,57 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/airless, /area/space/nearstation) -"vac" = ( -/obj/structure/closet/crate, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/micro_laser, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"vah" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 +"vad" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/obj/machinery/firealarm/directional/west{ - pixel_y = -5 +/obj/machinery/status_display/evac/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/obj/structure/closet/secure_closet/evidence, -/obj/machinery/light_switch/directional/west{ - pixel_y = 5 +/area/station/cargo/storage) +"vaf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible{ + dir = 8 }, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/security/evidence) +/area/station/engineering/atmos/pumproom) "val" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"vam" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"vau" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +"vao" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 }, /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, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"vat" = ( +/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/maintenance{ + name = "Atmospherics Office Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/catwalk_floor, /area/station/engineering/atmos/office) +"vaz" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/bz, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"vaB" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/effect/turf_decal/bot_white, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "vaG" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark/side{ @@ -62642,38 +62637,23 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/cargo/storage) -"vaR" = ( -/obj/effect/turf_decal/tile/green, -/obj/machinery/camera/autoname/directional/north, -/obj/structure/table, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_y = 3 - }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = -10; - pixel_y = 5 +"vaQ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 8; - pixel_y = 8 +/obj/structure/chair/sofa/bench{ + dir = 4 }, -/obj/item/watertank, -/obj/effect/spawner/random/food_or_drink/seed, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"vaX" = ( /obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/service/hydroponics) -"vaT" = ( /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, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"vaW" = ( -/turf/closed/wall, -/area/station/command/heads_quarters/cmo) +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "vbc" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -62681,32 +62661,26 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/station/science/research) -"vbi" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/bluespace_sender, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) +"vbe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/item/radio/intercom/directional/north, +/obj/machinery/chem_dispenser, +/obj/machinery/button/door/directional/west{ + id = "apothecary_ter_desk_shutters"; + name = "Tertiary Desk Shutters Control"; + req_access = list("pharmacy") + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) "vbl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) -"vbq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/locker) -"vbz" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/station_map/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/office) "vbB" = ( /obj/machinery/duct, /obj/machinery/light/neon_lining{ @@ -62730,41 +62704,39 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vbJ" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, +"vbP" = ( +/obj/machinery/light/built/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"vcf" = ( /obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/power/shieldwallgen, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) -"vbK" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 }, -/obj/machinery/atm/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/area/station/cargo/lobby) -"vbT" = ( -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/dark/textured, +/area/station/service/abandoned_gambling_den) +"vch" = ( +/obj/machinery/oven/range, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"vcv" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 5 }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/effect/turf_decal/trimline/dark_blue/corner{ + dir = 8 }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/atmospherics/components/tank, -/turf/open/floor/iron, -/area/station/science/ordnance) -"vcn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/obj/structure/chair{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "vcA" = ( /obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/bush/sparsegrass/style_random, @@ -62792,6 +62764,11 @@ "vcG" = ( /turf/closed/wall/r_wall, /area/station/engineering/engine_smes) +"vcQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) "vcW" = ( /obj/effect/spawner/random/structure/table, /obj/effect/spawner/random/maintenance, @@ -62799,20 +62776,17 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) -"vcY" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"vde" = ( -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/security/prison/work) "vdf" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"vdi" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "vdj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -62820,7 +62794,20 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/security/prison/mess) -"vdK" = ( +"vdB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + id = "iso_cell_hall_vent"; + name = "Isolation Cell Hall Vent" + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) +"vdD" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, @@ -62838,6 +62825,13 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) +"vdQ" = ( +/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, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "vdT" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron/dark, @@ -62847,59 +62841,50 @@ /obj/structure/sign/warning/cold_temp/directional/east, /turf/open/floor/plating/reinforced, /area/station/science/research) -"vej" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"vel" = ( +/obj/machinery/chem_master/condimaster{ + name = "CondiMaster Neo" }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Closet" +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"veo" = ( +/obj/structure/sign/painting/library{ + pixel_y = 32 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/structure/chair/comfy/black{ dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"vez" = ( -/obj/machinery/shower/directional/north, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/shower) -"veJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"veK" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library) +"vex" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/disease2/incubator, +/obj/structure/window/spawner/directional/south, +/obj/machinery/chem_mass_spec, /turf/open/floor/iron/white, -/area/station/medical/virology) -"veQ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters{ - id = "aux_base_shutters"; - name = "Auxiliary Base Shutters" - }, -/turf/open/floor/iron/dark/textured, -/area/station/construction/mining/aux_base) -"veV" = ( +/area/station/medical/pharmacy) +"veC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/carpet/green, +/area/station/commons/vacant_room/office) +"veG" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 + dir = 4 + }, +/obj/structure/window/spawner/directional/south, +/obj/machinery/computer/atmos_control/nocontrol/master{ + dir = 1 }, -/obj/item/kirbyplants/random, /turf/open/floor/iron/dark/side{ - dir = 10 + dir = 4 }, /area/station/engineering/break_room) "veX" = ( @@ -62913,6 +62898,16 @@ /obj/item/clothing/mask/balaclava, /turf/open/floor/iron/dark, /area/station/security/brig) +"vfe" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular, +/obj/item/toy/figure/md{ + pixel_y = 15; + pixel_x = -11 + }, +/turf/open/floor/iron/white, +/area/station/medical/office) "vfg" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -62921,23 +62916,85 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/fore) +"vfh" = ( +/obj/effect/turf_decal/trimline/dark_red/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "vfi" = ( /obj/structure/flora/rock/pile/jungle/large/style_random, /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) +"vfo" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo - Drone Bay"; + name = "cargo camera" + }, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/table, +/obj/item/stock_parts/scanning_module{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/stock_parts/scanning_module{ + pixel_x = -5 + }, +/obj/item/stock_parts/scanning_module{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/stock_parts/scanning_module{ + pixel_x = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"vfp" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/line, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/structure/chair, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "vfw" = ( /obj/machinery/light/directional/west, /turf/open/floor/engine, /area/station/science/xenobiology) -"vfE" = ( +"vfH" = ( +/obj/machinery/light/built/directional/north, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"vfK" = ( -/turf/closed/wall, /area/station/service/abandoned_gambling_den) +"vfJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/chair_flipped, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"vfO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/white/textured, +/area/station/medical/office) "vfV" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 10 @@ -62954,17 +63011,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"vfW" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/sign/departments/maint/directional/east, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "vfX" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -62974,11 +63020,55 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"vfY" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) +"vga" = ( +/obj/machinery/light/directional/north, +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/wood, +/area/station/service/library) +"vgi" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"vgs" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/south{ + c_tag = "Medical - Cryogenics"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/volume_pump/on{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"vgC" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"vgE" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/bed/pod{ + desc = "An old medical bed, just waiting for replacement with something up to date."; + name = "medical bed"; + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "vgG" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -62995,6 +63085,18 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron/white/textured, /area/station/command/heads_quarters/rd) +"vgL" = ( +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"vgY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "vhd" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 1 @@ -63006,163 +63108,54 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"vhh" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door_buttons/access_button{ - idDoor = "xeno_airlock_interior"; - idSelf = "xeno_airlock_control"; - name = "Access Button"; - pixel_x = 26; - pixel_y = -6; - req_access = list("xenobiology") - }, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "xeno_airlock_exterior"; - idInterior = "xeno_airlock_interior"; - idSelf = "xeno_airlock_control"; - name = "Access Console"; - pixel_x = 26; - req_access = list("xenobiology"); - pixel_y = 6 - }, -/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, -/obj/structure/liquid_barrier, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - autoclose = 0; - frequency = 1449; - id_tag = "xeno_airlock_interior"; - name = "Xenobiology Lab Internal Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/iron/white/textured, -/area/station/science/xenobiology/hallway) -"vho" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +"vhi" = ( +/obj/machinery/light/directional/west, +/obj/machinery/electroplater, +/turf/open/floor/wood, +/area/station/smithing) "vhu" = ( /turf/closed/wall, /area/station/security/prison/rec) -"vhx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"vhN" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/button/door/directional/north{ - id = "cargo_desk"; - name = "Cargo Desk Shutters Control"; - req_access = list("cargo") - }, -/obj/structure/table, -/obj/item/clipboard, -/obj/item/stamp{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/stamp/denied{ - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/cargo/office) +"vhW" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/airalarm/directional/south, +/obj/machinery/vending/wardrobe/medi_wardrobe, +/turf/open/floor/iron/white, +/area/station/medical/storage) "vhY" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/department/science) -"via" = ( +"vid" = ( +/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/catwalk_floor/iron_dark, -/area/station/service/abandoned_gambling_den) -"vib" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Command - Bridge, Hall, East"; - name = "command camera" - }, -/obj/structure/chair/sofa/bench/solo{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"vii" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/east{ - name = "Armory Desk"; - req_access = list("security") - }, -/obj/machinery/door/window/brigdoor/right/directional/west{ - name = "Armory Desk"; - req_access = list("armory") - }, -/obj/machinery/door/poddoor/shutters{ - id = "armory_desk"; - name = "Armory Desk Shutters"; - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "vip" = ( /obj/structure/lattice, /obj/structure/sign/departments/security/directional/south, /turf/open/space/basic, /area/space/nearstation) -"vir" = ( -/obj/machinery/telecomms/server/presets/science, -/turf/open/floor/circuit/green/telecomms, -/area/station/tcommsat/server) -"vje" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "medbay_foyer"; - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "med_lockdown"; - name = "Medbay Emergency Lockdown Shutters"; - dir = 1 +"viK" = ( +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/central) -"vjj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/wood{ - dir = 4 +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/obj/structure/cable/layer1, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"vjc" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/chair/comfy/brown, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/iron/white, +/area/station/medical/break_room) "vjs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/hobo_squat, @@ -63177,22 +63170,29 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"vjA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "vjD" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/maintenance/disposal) -"vjI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/machinery/computer/turbine_computer{ - dir = 1; - mapping_id = "main_turbine" +"vjK" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/maintenance/disposal/incinerator) -"vjR" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/obj/machinery/status_display/ai/directional/north, +/obj/structure/table, +/obj/item/phone{ + pixel_x = -6 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) "vjV" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 1 @@ -63205,6 +63205,13 @@ dir = 1 }, /area/station/cargo/sorting) +"vjX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) "vjY" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/extinguisher_cabinet/directional/west, @@ -63235,32 +63242,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) -"vkc" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/small/directional/east, -/obj/machinery/requests_console/directional/east{ - 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, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) -"vke" = ( -/obj/effect/turf_decal/vg_decals/atmos/plasma, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) -"vkg" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/entry) -"vki" = ( -/obj/effect/turf_decal/bot_red, -/obj/machinery/status_display/ai/directional/east, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/large, -/area/station/ai_monitored/command/storage/eva) "vkj" = ( /obj/structure/table/wood/fancy/black, /obj/item/flashlight/lantern{ @@ -63268,31 +63249,6 @@ }, /turf/open/floor/carpet, /area/station/service/chapel) -"vkp" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Medical - Pathology, Lab, Primary"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/structure/sink/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"vkz" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/item/clothing/gloves/color/fyellow, -/obj/item/clothing/gloves/color/fyellow, -/obj/item/clothing/gloves/color/fyellow, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) "vkB" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -63306,15 +63262,13 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"vkW" = ( -/obj/machinery/light/directional/west, -/obj/structure/table, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/construction/plumbing, -/obj/item/plunger, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +"vkR" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/computer/station_alert, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/atmos/office) "vkX" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -63329,60 +63283,42 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -10 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/suit_storage_unit/security, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"vlq" = ( -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"vlr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - id_tag = "dorm_1"; - name = "Dorm 1" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms/room1) -"vlG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"vlK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/light_switch/directional/east{ + pixel_y = -10 }, -/obj/machinery/door/airlock/maintenance{ - name = "Warehouse Maintenance" +/obj/machinery/firealarm/directional/east, +/obj/machinery/suit_storage_unit/security, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) +"vlj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"vlk" = ( +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/station/engineering/main) +"vll" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/bluespace_sender, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"vlt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/box, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"vlT" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/cargo/warehouse) +/turf/open/floor/iron, +/area/station/engineering/main) "vlU" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -63394,6 +63330,20 @@ dir = 4 }, /area/station/cargo/storage) +"vlY" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/vacuum/external/directional/east, +/obj/structure/tank_holder/oxygen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"vlZ" = ( +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/commons/dorms) "vmf" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -63404,26 +63354,29 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"vmh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/structure/table, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty{ +"vmj" = ( +/obj/machinery/button/door/directional/east{ + id = "med_break_bathroom"; + name = "Bathroom Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; pixel_y = 6 }, -/obj/item/construction/plumbing/engineering, -/obj/item/plunger, -/turf/open/floor/iron/dark/side{ - dir = 10 +/obj/machinery/shower/directional/north, +/obj/structure/drain, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/break_room) +"vmk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/area/station/engineering/storage_shared) -"vmq" = ( -/obj/effect/turf_decal/tile/green/fourcorners, -/obj/structure/sign/poster/official/high_class_martini/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/stone, +/area/station/smithing) "vmu" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, @@ -63438,61 +63391,54 @@ /obj/item/toy/plush/slimeplushie, /turf/open/floor/wood, /area/station/maintenance/starboard/fore) +"vmK" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/status_display/ai/directional/west, +/obj/structure/table, +/obj/item/storage/medkit/regular, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/commons/storage/primary) "vmV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"vnh" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "brig_post"; + name = "Security Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/security/brig/entrance) "vnO" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"vnP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vof" = ( /obj/structure/table/wood, /obj/item/taperecorder, /obj/item/tape/random, /turf/open/floor/wood, /area/station/service/lawoffice) +"vog" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "voi" = ( /obj/structure/anvil, /turf/open/floor/wood, /area/station/smithing) -"voo" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/table/reinforced/rglass, -/obj/item/toy/figure/paramedic, -/turf/open/floor/iron/dark, -/area/station/medical/paramedic) "voq" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"vot" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "vox" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/chair_maintenance{ @@ -63506,18 +63452,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/entry) -"voJ" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Medical - Exam Room, East"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/computer/operating{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) "voQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63527,27 +63461,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) -"voY" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot_white/left, -/obj/structure/filingcabinet, -/obj/item/folder/blue, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"voZ" = ( -/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, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/medical/paramedic) "vpb" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -63558,23 +63471,24 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"vpn" = ( -/turf/open/floor/carpet/green, -/area/station/service/abandoned_gambling_den) "vpp" = ( /obj/docking_port/stationary/public_mining_dock{ dir = 2 }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"vpu" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +"vpx" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Central Hallway, West - HoP Line"; + name = "hallway camera" }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "vpA" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ @@ -63591,15 +63505,47 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) +"vpD" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + 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/chair/sofa/bench/right, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "vpG" = ( /turf/closed/wall/r_wall, /area/station/security/prison/visit) "vpL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) +"vpN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"vpQ" = ( +/obj/machinery/button/door/directional/north{ + id = "library_desk_shutters"; + name = "Library Desk Shutters Control"; + req_access = list("library") + }, +/obj/machinery/newscaster/directional/east, +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "vpV" = ( /obj/effect/turf_decal/tile/green/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63607,45 +63553,23 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"vqb" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/chair/sofa/bench/right{ +"vqr" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"vqc" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/trimline/blue/warning{ dir = 4 }, /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) -"vqd" = ( -/obj/structure/cable, -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"vqk" = ( -/obj/structure/chair/sofa/left/maroon{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) -"vqo" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/departments/aisat/directional/east, -/obj/item/kirbyplants/photosynthetic, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"vqC" = ( +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) -"vqr" = ( -/obj/structure/table, -/obj/item/assembly/timer, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/engineering/atmos) "vqJ" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -63659,20 +63583,14 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"vqK" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "vqL" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/engineering_all, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/computer/monitor{ + dir = 1 + }, /turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/area/station/command/bridge) "vqP" = ( /obj/structure/filingcabinet, /turf/open/floor/carpet/red, @@ -63683,89 +63601,69 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"vrc" = ( -/obj/machinery/vending/games, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/commons/fitness/recreation) "vrf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vrm" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/corner, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/hallway/primary/aft) +"vrh" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "vro" = ( /obj/structure/frame/machine, /turf/open/floor/plating, /area/station/maintenance/department/science) -"vrG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/east{ - name = "Reception" - }, -/obj/machinery/door/window/brigdoor/right/directional/west{ - name = "Head of Personnel's Desk"; - req_access = list("hop") - }, -/obj/machinery/door/poddoor/shutters{ - id = "hop"; - name = "Privacy Shutters"; - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/hop) -"vsb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +"vrv" = ( +/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 = 5 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"vrD" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 4 }, /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 = "atmos"; - name = "Atmospherics Blast Door" +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Office" +/turf/open/floor/iron/dark/side{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/atmos/office) -"vse" = ( -/obj/machinery/plumbing/ooze_sucker{ - mapping_id = "2"; +/area/station/engineering/break_room) +"vrE" = ( +/obj/machinery/computer/security{ dir = 1 }, -/turf/open/floor/engine, -/area/station/science/xenobiology) +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/prison/visit) +"vsb" = ( +/obj/structure/foamedmetal, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"vsg" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"vsh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/start/gary/rare, +/turf/open/floor/iron/sepia, +/area/station/service/library/artgallery) +"vsj" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "vsk" = ( /obj/machinery/firealarm/directional/north, /obj/structure/chair/wood{ @@ -63773,6 +63671,11 @@ }, /turf/open/floor/wood, /area/station/service/chapel/funeral) +"vsn" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table/wood, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) "vss" = ( /obj/effect/turf_decal/bot, /obj/machinery/light/directional/east, @@ -63782,69 +63685,84 @@ dir = 4 }, /area/station/commons/fitness/recreation) -"vsB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/table/reinforced/rglass, -/obj/machinery/fax{ - fax_name = "Medical Office"; - name = "Medical Office Fax Machine" - }, +"vsD" = ( +/obj/structure/table/reinforced/plasmarglass, /turf/open/floor/iron/white, -/area/station/medical/office) +/area/station/science/xenobiology) "vsG" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/server) +"vsM" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) "vsU" = ( /obj/machinery/light/small/built/directional/east, /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"vtb" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/computer/exoscanner_control, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "vtc" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/service) -"vtd" = ( -/obj/structure/sign/departments/restroom/directional/west, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"vto" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark, -/area/station/medical/paramedic) -"vtr" = ( +"vte" = ( +/obj/effect/mapping_helpers/burnt_floor, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, -/area/station/maintenance/department/engine) -"vtD" = ( -/obj/machinery/requests_console/directional/west{ - department = "Janitorial"; - name = "Janitorial Requests Console" +/area/station/maintenance/starboard/aft) +"vtx" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/chair/sofa/bench/left{ + dir = 4 }, -/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/service/janitor) -"vtJ" = ( +/area/station/hallway/primary/central) +"vtC" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 + }, /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/plating, -/area/station/maintenance/port/fore) +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "vtP" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"vtV" = ( +/obj/structure/closet/emcloset/wall/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/main) +"vtW" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "vub" = ( /obj/effect/spawner/random_engines/box, /turf/open/space/basic, @@ -63858,84 +63776,60 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"vuu" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/effect/spawner/random/medical/medkit, -/turf/open/floor/iron/white, -/area/station/medical/break_room) -"vuw" = ( -/obj/structure/bodycontainer/morgue, +"vuv" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/vending/cigarette, /turf/open/floor/iron/dark, -/area/station/medical/morgue) -"vuz" = ( -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/iron, -/area/station/engineering/main) +/area/station/hallway/secondary/exit/departure_lounge) "vuA" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/eva) +"vuG" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white, +/area/station/science/genetics) "vuH" = ( /obj/effect/spawner/random/structure/chair_maintenance, /turf/open/floor/plating, -/area/station/maintenance/port/aft) -"vuT" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/closet/crate{ - name = "Telecomms Parts" - }, -/obj/item/stock_parts/subspace/transmitter, -/obj/item/stock_parts/subspace/transmitter, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/crystal, -/obj/item/stock_parts/subspace/crystal, -/obj/item/stock_parts/subspace/crystal, -/obj/item/stock_parts/subspace/amplifier, -/obj/item/stock_parts/subspace/amplifier, -/obj/item/stock_parts/subspace/amplifier, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"vuY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ - dir = 6 +/area/station/maintenance/port/aft) +"vuK" = ( +/obj/machinery/telecomms/processor/preset_four, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"vvl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"vuZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible/layer4{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"vvb" = ( -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/corporate{ + id_tag = "bs_bolt"; + name = "Blueshield's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/admin/general, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/blueshield) "vvu" = ( /obj/effect/turf_decal/stripes/box, /obj/machinery/mech_bay_recharge_port{ @@ -63950,16 +63844,35 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"vvM" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/button/door/directional/east{ - id = "dep_med_post"; - name = "Medical Post Shutters Control"; - req_access = list("medical") +"vvz" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/atm/directional/north, +/obj/structure/table/glass, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 }, -/obj/structure/sink/directional/west, /turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/area/station/medical/medbay/lobby) +"vvD" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark, +/area/station/construction/mining/aux_base) +"vvG" = ( +/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/structure/cable, +/obj/machinery/suit_storage_unit/security, +/turf/open/floor/iron/dark, +/area/station/security/warden) "vvQ" = ( /obj/structure/rack, /obj/item/storage/medkit/regular{ @@ -64006,26 +63919,12 @@ }, /turf/open/floor/eighties/red, /area/station/service/theater) -"vwl" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ +"vwr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/area/station/security/interrogation) -"vwp" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/turf/open/floor/wood, +/area/station/service/library/private) "vww" = ( /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -64035,32 +63934,65 @@ }, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"vwE" = ( +"vwz" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) +"vwI" = ( +/obj/effect/turf_decal/trimline/red/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"vwS" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, /obj/structure/sign/poster/random/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/cargo/storage) "vxd" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"vxg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "vxl" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Medical - Pathology, Lab, Primary"; + name = "medical camera"; + network = list("ss13","medbay") + }, +/obj/structure/sink/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"vxm" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/item/storage/box/lights/mixed, +/obj/effect/spawner/random/entertainment/plushie, /turf/open/floor/plating, -/area/station/maintenance/port/aft) +/area/station/maintenance/department/science/xenobiology) "vxs" = ( /obj/machinery/power/smes, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"vxA" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/computer/station_alert, +/turf/open/floor/iron, +/area/station/engineering/main) "vxD" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -64075,10 +64007,62 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"vxK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Security - Head of Security Room"; + name = "security camera" + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/bottle/whiskey{ + pixel_y = 14; + pixel_x = 7 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = 6 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = -3; + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"vxY" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/secure_closet/chemical, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "vyg" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/science) +"vyk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + 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/cable/layer1, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Main SMES Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/iron/textured, +/area/station/engineering/engine_smes) "vym" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -64087,23 +64071,57 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/hfr_room) -"vyt" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "vyC" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"vyE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/east{ + name = "Reception" + }, +/obj/machinery/door/window/brigdoor/right/directional/west{ + name = "Head of Personnel's Desk"; + req_access = list("hop") + }, +/obj/machinery/door/poddoor/shutters{ + id = "hop"; + name = "Privacy Shutters"; + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/hop) +"vyH" = ( +/obj/structure/chair/wood, +/turf/open/floor/carpet/green, +/area/station/commons/vacant_room/office) "vyJ" = ( /obj/machinery/duct, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) +"vyO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/camera/motion/directional/south{ + c_tag = "AI Sat - AI Chamber South"; + network = list("aicore"); + name = "ai camera" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/ai_monitored/turret_protected/ai) "vyP" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -64112,42 +64130,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space, /area/space/nearstation) -"vyX" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = -9; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = 9; - pixel_y = 3 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"vyY" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/item/restraints/handcuffs{ - pixel_x = -3; - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/security/processing) -"vyZ" = ( -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"vzc" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) "vzd" = ( /obj/machinery/duct, /turf/open/floor/carpet/blue, @@ -64162,61 +64144,27 @@ }, /turf/open/space/basic, /area/space) -"vzs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters{ - id = "library_desk_shutters"; - name = "Library Desk Shutters"; - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen/red, -/obj/item/pen/blue{ - pixel_x = 3; - pixel_y = 3 - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/printer) -"vzt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"vzr" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Medical - Pathology Pen"; + network = list("ss13","medbay"); + name = "medical camera" }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/science) -"vzx" = ( -/obj/structure/table/wood, -/obj/item/radio/radio_mic{ - pixel_y = 7 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) +/turf/open/floor/grass, +/area/station/medical/virology) "vzy" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/service/chapel) -"vzG" = ( -/obj/structure/flora/bush/sparsegrass/style_random, -/turf/open/floor/grass, -/area/station/medical/virology) "vzJ" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/machinery/seed_extractor, /turf/open/floor/iron/dark/side, /area/station/service/hydroponics/garden) -"vzK" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) "vzN" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -64225,56 +64173,56 @@ dir = 8 }, /area/station/commons/storage/primary) -"vzQ" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"vAj" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, -/turf/open/floor/iron/checker{ - dir = 1 +/obj/machinery/firealarm/directional/west{ + pixel_y = -5 }, -/area/station/command/heads_quarters/cmo) -"vAj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"vAm" = ( -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ - dir = 1 +/obj/structure/closet/secure_closet/evidence, +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 }, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ +/turf/open/floor/iron/dark, +/area/station/security/evidence) +"vAn" = ( +/obj/machinery/light/directional/east, +/obj/structure/sign/poster/official/random/directional/east, +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/robotics_cyborgs{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/storage/belt/utility, +/obj/item/crowbar/large, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) +"vAC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 4 }, -/obj/effect/turf_decal/siding/wideplating_new/dark/corner{ +/obj/effect/turf_decal/trimline/yellow/warning{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/passive_vent, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) -"vAH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms/room3) -"vAN" = ( -/obj/effect/turf_decal/siding/thinplating/corner, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/aft) +"vAD" = ( +/obj/effect/turf_decal/trimline/dark_red/filled/warning{ + dir = 4 + }, +/obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, -/area/station/engineering/main) -"vAP" = ( -/obj/effect/spawner/random/trash/box, -/obj/effect/spawner/random/engineering/toolbox, -/obj/effect/spawner/random/food_or_drink/booze, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"vAZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/area/station/maintenance/disposal/incinerator) +"vAS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 6 }, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/bar) +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "vBh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -64293,21 +64241,6 @@ /obj/machinery/biogenerator, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"vBv" = ( -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/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) "vBx" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -64340,15 +64273,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig) -"vBP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) "vBQ" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/chair, @@ -64361,6 +64285,19 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) +"vCm" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "vCn" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, @@ -64372,11 +64309,6 @@ /obj/machinery/light/floor/has_bulb, /turf/open/floor/iron/dark, /area/station/security/prison) -"vCq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "vCs" = ( /obj/machinery/door/window/left/directional/east{ name = "Brig Infirmary"; @@ -64388,105 +64320,102 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/security/medical) -"vCB" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/structure/table, -/obj/item/radio/intercom/directional/west, -/obj/item/stack/wrapping_paper{ - pixel_x = -3; - pixel_y = -6 - }, -/obj/item/stack/wrapping_paper, -/obj/item/stack/wrapping_paper{ - pixel_x = 3; - pixel_y = 6 - }, -/obj/item/stack/package_wrap{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = -3 - }, -/obj/item/stack/package_wrap{ - pixel_y = 3 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/cargo/sorting) "vCE" = ( /obj/machinery/light/small/directional/north, /obj/structure/closet/firecloset/full, /turf/open/floor/plating, /area/station/maintenance/port) -"vCQ" = ( -/obj/effect/spawner/random/engineering/tool, -/turf/open/floor/iron/dark, -/area/station/maintenance/port/fore) -"vCT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"vCH" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/machinery/door/poddoor/shutters{ - id = "eva_shutters"; - name = "EVA Shutters" +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/port) +"vCJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/command/storage/eva) -"vCZ" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 +/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/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/service/library/private) -"vDa" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "O2 to Pure" +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Paramedic Office" }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 8; - name = "O2 to Turbine" +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/dark/textured, +/area/station/medical/paramedic) +"vCO" = ( +/obj/machinery/holopad, +/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/box, +/turf/open/floor/iron/large, +/area/station/tcommsat/computer) +"vCQ" = ( +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) +"vDe" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/door/window/brigdoor/left/directional/north{ + name = "Chief Engineer's Desk"; + req_access = list("ce") }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"vDr" = ( +/area/station/command/bridge) +"vDj" = ( +/obj/structure/table/wood, +/obj/item/storage/photo_album{ + pixel_y = 2 + }, +/obj/item/clothing/head/helmet/skull{ + desc = "The skull of a Syndicate nuclear operatives commander flayed and displayed as a trophy."; + name = "Skull Trophy"; + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"vDo" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 + dir = 4 }, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/bed/dogbed{ - name = "Poly's Bed" +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 }, -/mob/living/basic/parrot/poly, +/obj/machinery/atmospherics/pipe/layer_manifold/pink/hidden, /turf/open/floor/iron/dark/side{ - dir = 5 + dir = 4 }, -/area/station/command/heads_quarters/ce) -"vDw" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +/area/station/hallway/primary/aft) +"vDu" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/effect/turf_decal/bot, -/obj/structure/closet/l3closet/security, -/obj/structure/sign/warning/secure_area/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/lockers) +/obj/machinery/airalarm/directional/west, +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/science/explab) "vDy" = ( /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"vDE" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/bookcase{ + name = "Forbidden Knowledge" + }, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "vDF" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -64509,6 +64438,12 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vDN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "vDO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -64525,111 +64460,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/port) -"vDV" = ( -/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/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"vDX" = ( -/obj/machinery/light/directional/east, -/obj/structure/bed/double, -/obj/item/bedsheet/captain/double, -/obj/effect/landmark/start/captain, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"vEc" = ( -/obj/effect/turf_decal/vg_decals/atmos/air, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) -"vEm" = ( -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/obj/structure/toilet{ - pixel_y = 8 - }, -/obj/effect/landmark/start/blueshield, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/blueshield) -"vEp" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/light/small/directional/west, -/obj/machinery/button/door/directional/west{ - id = "teleporter_shutters"; - name = "Teleporter Room Shutters Control"; - pixel_y = 5; - req_access = list("command") - }, -/obj/machinery/button/door/directional/west{ - id = "eva_shutters"; - name = "EVA Storage Shutters Control"; - pixel_y = -5; - req_access = list("command") - }, -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "bridge_windows"; - name = "Bridge View Blast doors"; - pixel_x = -6; - pixel_y = 8; - req_access = list("command") - }, -/obj/machinery/button/door{ - id = "bridge_blast_doors"; - name = "Bridge Access Blast doors"; - pixel_x = 6; - pixel_y = 8; - req_access = list("command") - }, -/obj/machinery/button/door{ - id = "bridge_exterior_blast_doors"; - name = "Bridge Exterior Access Blast doors"; - pixel_x = 6; - pixel_y = -2; - req_access = list("command") - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"vEu" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/computer/crew{ - dir = 8 - }, -/obj/machinery/button/door/directional/east{ - pixel_y = 6; - id = "cmo_office_shutters"; - name = "CMO Office Shutters Control"; - req_access = list("cmo") - }, -/obj/machinery/button/door/directional/east{ - pixel_y = -6; - id = "med_lockdown"; - name = "Medical Lockdown" - }, -/obj/machinery/button/door/directional/east{ - pixel_y = 6; - id = "cmo_desk_shutters"; - name = "Desk Shutters Control"; - req_access = list("cmo"); - pixel_x = 36 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) -"vEB" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/reagent_dispensers/beerkeg, -/turf/open/floor/wood, -/area/station/service/bar/backroom) -"vEH" = ( -/obj/machinery/shower/directional/west, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/medical/virology) "vEP" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -64637,6 +64467,26 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"vEQ" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 5 + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = -5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"vEU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "vEV" = ( /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron, @@ -64651,6 +64501,18 @@ /obj/machinery/atmospherics/miner/n2o, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"vFs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/tank, +/turf/open/floor/plating, +/area/station/maintenance/department/security/brig) +"vFx" = ( +/obj/structure/sink/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/medical/virology) "vFG" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -64668,12 +64530,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"vFJ" = ( -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/atmos/office) "vFV" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -64690,22 +64546,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"vGb" = ( -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/commons/storage/primary) "vGf" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -64724,10 +64564,17 @@ }, /turf/open/floor/iron/white/textured, /area/station/science/genetics/cloning) -"vGn" = ( -/obj/structure/reagent_dispensers/plumbed, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) +"vGp" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"vGu" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/white, +/area/station/science/research) "vGz" = ( /obj/structure/sign/warning/vacuum/external/directional/north, /obj/structure/cable, @@ -64742,81 +64589,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) -"vGM" = ( -/obj/effect/turf_decal/stripes/line{ +"vHa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"vGY" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/station_map/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/brig) -"vHb" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - name = "Labor Camp Shuttle Airlock"; - req_access = list("brig") - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/processing) +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) "vHc" = ( /obj/effect/turf_decal/trimline/red/filled/warning, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/brig) -"vHf" = ( -/obj/machinery/light/small/directional/south, -/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, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"vHk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"vHt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/door/airlock/bathroom{ - name = "Bathroom"; - id_tag = "med_break_bathroom" - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/break_room) "vHv" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -64825,26 +64609,45 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) -"vHT" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Apothecary Desk"; - req_access = list("pharmacy") +"vHM" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 }, -/obj/machinery/door/window/right/directional/west{ - name = "Apothecary Desk" +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"vId" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/camera/directional/west{ + c_tag = "Security - Checkpoint, Departures"; + name = "security camera" }, -/obj/machinery/door/poddoor/shutters{ - id = "apothecary_ter_desk_shutters"; - name = "Apothecary Tertiary Desk Shutters"; - dir = 8 +/obj/machinery/requests_console/directional/west{ + department = "Theatre"; + name = "Theater Requests Console" }, -/obj/structure/desk_bell{ - pixel_x = -6 +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/machinery/vending/wardrobe/sec_wardrobe, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) +"vIe" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/table/reinforced, +/obj/machinery/camera/directional/south{ + c_tag = "Science - Ordnance Launcher"; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "vIn" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -64863,22 +64666,34 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/execution) -"vIv" = ( +"vIB" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"vII" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/structure/closet/secure_closet/warden, +/obj/item/clothing/mask/gas/sechailer, +/obj/item/key/security, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -5 + }, +/obj/item/clothing/glasses/sunglasses{ + pixel_x = 8; + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/station/security/warden) +"vIR" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/iron, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"vIM" = ( -/obj/effect/turf_decal/trimline/green/filled/warning, -/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/virology) -"vIP" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/chair/plastic, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) "vJc" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -64892,47 +64707,41 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/main) -"vJe" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) -"vJk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos) -"vJw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +"vJp" = ( +/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) +"vJs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/chair/office, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) +"vJA" = ( +/obj/structure/cable, +/obj/machinery/light/directional/west, +/obj/machinery/status_display/ai/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "vJI" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vJJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "vJU" = ( -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"vJW" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/departments/restroom/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) +/obj/structure/closet/firecloset/full, +/turf/open/floor/plating, +/area/station/maintenance/port) "vJZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -64951,6 +64760,20 @@ }, /turf/open/space/basic, /area/space/nearstation) +"vKh" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"vKi" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "vKo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -64963,12 +64786,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"vKt" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) "vKu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64983,10 +64800,60 @@ }, /turf/open/floor/iron/dark/textured, /area/station/service/chapel/funeral) +"vKE" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/security/telescreen/cmo{ + dir = 4; + pixel_x = -30 + }, +/obj/machinery/modular_computer/preset/id{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"vKK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"vKL" = ( +/obj/machinery/light/directional/east, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/station/service/library) +"vKN" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central) +"vKZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/virology) "vLk" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vLq" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) +"vLw" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "vLC" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -64999,10 +64866,9 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/engine, /area/station/science/xenobiology) -"vLL" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/bar) +"vLM" = ( +/turf/open/floor/glass/reinforced, +/area/station/engineering/main) "vLQ" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 @@ -65020,51 +64886,53 @@ "vMt" = ( /turf/open/floor/wood, /area/station/maintenance/starboard/fore) -"vMB" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/window/reinforced/tinted, -/obj/structure/toilet{ +"vMx" = ( +/obj/structure/cable, +/obj/structure/chair{ dir = 4 }, +/obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron/dark, -/area/station/security/prison/safe) +/area/station/engineering/atmos/storage) "vMC" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/fore) -"vME" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/filingcabinet, -/turf/open/floor/iron/white, -/area/station/science/explab) -"vML" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/aft) "vMT" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, /turf/open/floor/iron/large, /area/station/cargo/sorting) -"vNq" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/chair/office/light{ - dir = 1 +"vMZ" = ( +/obj/structure/bed/dogbed/ian, +/mob/living/basic/pet/dog/corgi/ian{ + dir = 8 }, -/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) +"vNa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"vNc" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) +/area/station/security/brig) +"vNq" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/station/service/library/lounge) "vNr" = ( /obj/structure/sign/warning/vacuum/external/directional/south, /obj/structure/cable, @@ -65075,49 +64943,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"vNz" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/command/heads_quarters/ce) -"vNB" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/button/door/directional/west{ - id = "kitchen_sec_shutters"; - name = "Kitchen Shutters Control"; - req_access = list("kitchen") - }, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) -"vND" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/line{ +"vOf" = ( +/obj/structure/chair/plastic{ dir = 4 }, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"vNF" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/smithing) +/turf/open/floor/wood, +/area/station/security/prison/rec) "vOj" = ( /obj/effect/turf_decal/box, /obj/machinery/portable_atmospherics/pump, @@ -65134,71 +64965,65 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) +"vOv" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "vOB" = ( /obj/structure/window/reinforced/tinted/spawner/directional/north, /obj/machinery/computer/robotics, /turf/open/floor/carpet/purple, /area/station/command/heads_quarters/rd) -"vOP" = ( -/obj/effect/turf_decal/tile/purple/full, -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/starboard) -"vOS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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/door/firedoor, -/obj/machinery/door/airlock/mining/glass{ - name = "Delivery Office" +"vON" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Bar, Backroom"; + name = "service camera" }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/iron/dark/textured, -/area/station/cargo/sorting) +/turf/open/floor/wood, +/area/station/service/bar/backroom) "vOT" = ( /obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) "vOV" = ( -/obj/structure/bed/dogbed/runtime, -/mob/living/simple_animal/pet/cat/runtime, -/turf/open/floor/carpet/blue, -/area/station/command/heads_quarters/cmo) -"vOX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/sepia, -/area/station/service/library/artgallery) +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "vOY" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/delivery, /obj/machinery/light/small/directional/west, -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_y = 10 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 4 +/obj/machinery/camera/directional/west{ + c_tag = "Medical - Deliveries"; + name = "medical camera"; + network = list("ss13","medbay") }, -/obj/item/storage/belt/utility, -/obj/item/flashlight, -/obj/item/clothing/glasses/meson/engine{ - pixel_x = 4; - pixel_y = 8 +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/medbay/central) +"vOZ" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/port) +"vPc" = ( +/obj/structure/cable, +/obj/structure/table/wood/fancy/blue, +/obj/item/phone{ + desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; + pixel_x = -3; + pixel_y = -3 }, -/obj/item/pipe_dispenser, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/item/assembly/timer{ + pixel_y = 6; + pixel_x = 6 }, -/area/station/engineering/storage_shared) +/turf/open/floor/wood, +/area/station/command/meeting_room) "vPe" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -65224,28 +65049,36 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"vPL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"vPI" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/structure/table, +/obj/item/radio/off, +/obj/item/crowbar/red, +/obj/item/assembly/flash/handheld, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs/auxiliary) +"vPV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"vPR" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/crate, -/obj/item/stack/ore/silver, -/obj/item/stack/ore/silver, -/obj/item/stack/ore/silver, -/obj/item/stack/ore/silver, -/obj/item/stack/ore/silver, -/turf/open/floor/plating, -/area/station/maintenance/port) -"vPS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/shower/directional/south, -/obj/structure/drain, -/turf/open/floor/iron/showroomfloor, -/area/station/science/research) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "kitchen_sec_shutters"; + name = "Kitchen Shutters"; + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/kitchen) "vQg" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/effect/turf_decal/trimline/red/line{ @@ -65265,73 +65098,14 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) -"vQt" = ( -/obj/machinery/light/broken/directional/west, -/obj/structure/noticeboard/directional/west, -/obj/structure/closet/crate/coffin, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/fore) "vQw" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/plushie, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"vQD" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "Secure Gate"; - name = "Cell Shutters"; - pixel_x = 7; - pixel_y = -2; - req_access = list("brig") - }, -/obj/machinery/button/door{ - id = "prison_gate"; - name = "Prison Wing Lockdown"; - pixel_x = 7; - req_access = list("brig"); - pixel_y = 8 - }, -/obj/machinery/button/door{ - id = "BrigLock"; - name = "Cell Shutters"; - pixel_x = -7; - pixel_y = -2; - req_access = list("brig") - }, -/obj/machinery/button/door{ - id = "armory_shutters"; - name = "Armory Shutters"; - pixel_x = -7; - pixel_y = 8; - req_access = list("armory") - }, -/turf/open/floor/iron/dark, -/area/station/security/warden) -"vQE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"vQV" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Office" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/break_room) +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/exit/departure_lounge) +"vQB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) "vQY" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -65339,25 +65113,41 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"vRe" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 +"vRa" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/flask/gold{ + pixel_x = 3; + pixel_y = 11 }, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 +/obj/item/storage/box/matches{ + pixel_x = 4; + pixel_y = -2 }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/item/clothing/mask/cigarette/cigar{ + pixel_x = 4 }, -/area/station/medical/paramedic) -"vRh" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/item/razor{ + pixel_x = -8; + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) +"vRb" = ( +/obj/structure/disposalpipe/junction{ + 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/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"vRc" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/office) +/turf/open/space/basic, +/area/space/nearstation) "vRi" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 @@ -65371,6 +65161,11 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"vRj" = ( +/obj/structure/cable, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "vRl" = ( /obj/machinery/power/turbine/core_rotor{ dir = 8; @@ -65379,6 +65174,11 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"vRm" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "vRp" = ( /obj/machinery/camera/autoname/directional/west, /obj/machinery/firealarm/directional/west, @@ -65416,50 +65216,69 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port) -"vSc" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) -"vSo" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/structure/table, -/obj/item/disk/tech_disk{ - pixel_x = -4 - }, -/obj/item/disk/tech_disk, -/obj/item/clothing/glasses/welding{ - pixel_y = 4 +"vSa" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Hallway - Central, Park, West"; + name = "hallway camera" }, -/obj/item/toy/figure/scientist{ - pixel_x = 9 +/obj/machinery/light/small/directional/east, +/turf/open/floor/grass, +/area/station/hallway/primary/central) +"vSm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, -/area/station/science/lab) -"vSA" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_y = 5 +/area/station/medical/surgery) +"vSt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/folder/white{ +/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/cargo/drone_bay) +"vSu" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/science/research) +"vSy" = ( +/obj/structure/ghost_critter_spawn, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"vSE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/security/prison/rec) +"vSN" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/cable, +/obj/structure/table/reinforced/rglass, +/obj/item/emergency_bed{ pixel_y = 7 }, -/obj/item/pen{ - pixel_y = 7 +/obj/item/emergency_bed{ + pixel_y = 14 }, -/obj/item/stamp/head/rd{ - pixel_y = 10 +/obj/item/emergency_bed{ + pixel_y = 21 }, -/obj/item/toy/figure/rd{ - pixel_x = -13 +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"vSW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/turf/open/floor/carpet/purple, -/area/station/command/heads_quarters/rd) -"vSE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/obj/structure/closet/crate/freezer/surplus_limbs, +/turf/open/floor/iron/white, +/area/station/medical/surgery) "vTc" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 @@ -65468,6 +65287,15 @@ /obj/machinery/teleport/hub, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"vTj" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/computer/atmos_control/mix_tank{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) "vTl" = ( /obj/structure/cable, /obj/structure/chair{ @@ -65476,14 +65304,39 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"vTz" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, +"vTy" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) +"vTC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + 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/filingcabinet, -/turf/open/floor/iron/checker{ - dir = 1 +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/command/heads_quarters/cmo) +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/cargo/storage) +"vTJ" = ( +/obj/structure/weightmachine/stacklifter, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/commons/fitness/recreation) "vTL" = ( /obj/machinery/duct, /obj/effect/turf_decal/stripes/line, @@ -65506,15 +65359,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/science/robotics/mechbay) -"vTT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/aft) "vTX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -65527,12 +65371,57 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"vUf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"vUc" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Shared Storage"; + name = "engineering camera" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/table, +/obj/item/stack/rods/fifty{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/stack/rods/fifty{ + pixel_y = 6; + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"vUg" = ( +/obj/machinery/light/directional/north, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/secondary/service) +"vUl" = ( +/obj/structure/chair/sofa/left/maroon{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"vUn" = ( +/obj/structure/table, +/obj/item/paper/fluff/holodeck/disclaimer, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) +"vUo" = ( +/obj/structure/chair/sofa/left/maroon{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/commons/fitness) "vUq" = ( /obj/machinery/light_switch/directional/north, /obj/item/radio/intercom/directional/west, @@ -65551,24 +65440,6 @@ }, /turf/open/floor/plating/reinforced, /area/station/science/xenobiology) -"vUv" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/structure/cable, -/obj/machinery/door/window/left/directional/east{ - name = "Gateway Control"; - req_access = list("gateway") - }, -/turf/open/floor/iron/dark, -/area/station/command/gateway) -"vUx" = ( -/obj/machinery/keycard_auth/directional/east, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder/blue, -/obj/item/pen/fountain, -/obj/item/stamp/head/captain, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "vUA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -65590,49 +65461,39 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"vUY" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) -"vVk" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/north, +"vVb" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"vVt" = ( /obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"vVm" = ( -/obj/machinery/cryopod/prison{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/security/prison/safe) -"vVA" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 + dir = 9 }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"vVy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 9 }, -/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/yellow/corner, /turf/open/floor/iron/dark/side{ - dir = 8 + dir = 9 }, /area/station/hallway/primary/aft) -"vVG" = ( -/obj/effect/turf_decal/box, -/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/structure/disposalpipe/segment, -/turf/open/floor/iron/large, -/area/station/engineering/break_room) +"vVE" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/light/directional/west, +/obj/structure/chair/sofa/bench/right, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) "vVN" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /obj/machinery/newscaster/directional/north, @@ -65658,6 +65519,10 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"vVQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "vVY" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -65678,6 +65543,16 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark, /area/station/security/execution) +"vWg" = ( +/obj/machinery/light/directional/west, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/prison/workout) +"vWw" = ( +/obj/machinery/light/small/directional/east, +/mob/living/carbon/human/species/monkey, +/turf/open/floor/grass, +/area/station/medical/virology) "vWH" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/effect/turf_decal/box, @@ -65688,35 +65563,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/detectives_office) -"vXb" = ( -/obj/structure/table, -/obj/item/reagent_containers/pill/maintenance, -/obj/item/reagent_containers/pill/maintenance{ - pixel_y = 8; - pixel_x = -7 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"vXf" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/security/prison/safe) -"vXu" = ( -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -3; - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +"vXm" = ( +/obj/machinery/electrolyzer, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "vXz" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -65749,6 +65599,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"vXJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/engineering/main) "vXO" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 8 @@ -65762,96 +65622,45 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"vYa" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/library) -"vYd" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Front Desk"; - name = "engineering camera" - }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/computer/department_orders/engineering, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/break_room) -"vYg" = ( -/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{ +"vYo" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"vYl" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"vYy" = ( -/obj/machinery/power/port_gen/pacman/pre_loaded, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/machinery/power/shieldwallgen, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "vYB" = ( /turf/closed/wall, /area/station/solars/port/fore) -"vYE" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"vYF" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"vYH" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"vYY" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "vZb" = ( /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/side, /area/station/commons/dorms) -"vZd" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"vZe" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ +"vZc" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/morgue{ + name = "Curator's Study"; + req_access = list("library") + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/library/printer) +"vZk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 1 +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/random/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/side{ + dir = 6 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) +/area/station/command/heads_quarters/ce) "vZu" = ( /obj/machinery/light/directional/south, /obj/structure/easel, @@ -65860,12 +65669,6 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron/dark/side, /area/station/commons/fitness/recreation) -"vZw" = ( -/obj/structure/sign/plaques/kiddie/library{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/station/service/library/lounge) "waa" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/bot_white/right, @@ -65888,6 +65691,14 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"wap" = ( +/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, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "waq" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -65897,19 +65708,57 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"wau" = ( -/obj/structure/frame/machine, -/obj/item/circuitboard/machine/chem_master, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"waF" = ( -/obj/structure/disposalpipe/sorting/mail/flip, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"waD" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hop) +"waM" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/status_display/evac/directional/east, +/obj/structure/table, +/obj/item/storage/toolbox/electrical, +/obj/item/crowbar/red, +/obj/item/weldingtool, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/commons/storage/primary) +"waP" = ( +/obj/machinery/button/door/directional/south{ + id = "dorm_3"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5; + pixel_y = -34 + }, +/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/effect/mapping_helpers/mail_sorting/service/chapel, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +/obj/structure/chair/stool/directional/north, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms/room3) +"waR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/maintenance/port/fore) +"waV" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "wbe" = ( /obj/effect/turf_decal/trimline/neutral/warning, /obj/effect/turf_decal/trimline/neutral/filled/warning{ @@ -65926,6 +65775,29 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/evidence) +"wbu" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/door/window/left/directional/south{ + name = "First-Aid Supplies"; + req_access = list("medical") + }, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = 6 + }, +/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 + }, +/turf/open/floor/iron/white, +/area/station/medical/storage) "wbw" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -65946,6 +65818,19 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"wbC" = ( +/obj/machinery/light/directional/west, +/obj/machinery/gibber, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"wbG" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) "wbK" = ( /obj/structure/table, /obj/item/clothing/under/rank/prisoner{ @@ -65983,38 +65868,42 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"wce" = ( -/obj/effect/turf_decal/stripes/line{ +"wbP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/mirror/directional/east, +/obj/structure/sink/directional/west, +/obj/machinery/iv_drip, +/turf/open/floor/iron/white, +/area/station/medical/surgery) +"wbQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/disposalpipe/segment{ dir = 4 }, +/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/machinery/door/poddoor/preopen{ - id = "engineering"; - name = "Engineering Blast Door" - }, -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/west{ - name = "Engineering Desk" - }, -/obj/machinery/door/window/left/directional/east{ - name = "Engineering Desk"; - req_access = list("atmospherics","engineering") - }, -/obj/machinery/door/poddoor/shutters{ - id = "engi_office_shutters"; - name = "Engineering Shutters"; +/turf/open/floor/iron/dark/side{ dir = 8 }, -/obj/structure/desk_bell{ - pixel_y = 10; - pixel_x = -6 - }, -/turf/open/floor/iron/dark/textured, /area/station/engineering/break_room) +"wbX" = ( +/obj/effect/turf_decal/bot_white, +/obj/structure/cargo_shelf, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"wcc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/chair/office, +/obj/effect/landmark/start/depsec/engineering, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "wcj" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -66044,16 +65933,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"wcC" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/cargo/storage) "wcH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -66069,36 +65948,31 @@ "wdR" = ( /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"wei" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/obj/structure/table, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/storage/bag/plants/portaseeder, -/turf/open/floor/iron/dark/side{ - dir = 6 +"wdT" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/machinery/light/directional/south, +/obj/machinery/atm/directional/south, +/obj/structure/chair/sofa/bench{ + dir = 1 }, -/area/station/service/hydroponics/garden) -"wej" = ( -/obj/machinery/holopad, -/turf/open/floor/iron/sepia, -/area/station/service/library/artgallery) +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "wen" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"wev" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 4; - name = "freezer passive vent" +"weq" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"weB" = ( -/obj/structure/bookcase/random/religion, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"wet" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/mirror/directional/east, +/obj/structure/sink/directional/west, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "weD" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -66108,6 +65982,35 @@ /obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"weJ" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/structure/table, +/obj/item/radio/intercom/directional/west, +/obj/item/stack/wrapping_paper{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/stack/wrapping_paper, +/obj/item/stack/wrapping_paper{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/stack/package_wrap{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/stack/package_wrap{ + pixel_x = -3 + }, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/cargo/sorting) "weS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66120,14 +66023,6 @@ /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wfg" = ( -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/item/radio/intercom/directional/east, -/obj/machinery/modular_computer/preset/cargochat/medical{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/office) "wfh" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -66140,16 +66035,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wfv" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/surgery) "wfA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit, @@ -66158,12 +66043,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wfF" = ( -/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/lockers) "wfJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66192,13 +66071,11 @@ dir = 9 }, /area/station/hallway/secondary/exit/departure_lounge) -"wga" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/warning, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +"wgc" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/iron/white, +/area/station/medical/virology) "wgd" = ( /obj/machinery/light/directional/south, /obj/item/radio/intercom/directional/south, @@ -66217,128 +66094,50 @@ /obj/structure/table/reinforced/plasmarglass, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"wge" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/library/lounge) -"wgn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) -"wgv" = ( -/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, -/obj/machinery/duct, -/turf/open/floor/iron/checker, -/area/station/security/prison/shower) "wgw" = ( /obj/machinery/smartfridge, /turf/closed/wall, /area/station/security/prison/garden) -"wgM" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/closet/l3closet/scientist, -/obj/item/extinguisher, -/turf/open/floor/iron/showroomfloor, -/area/station/science/xenobiology/hallway) -"wgR" = ( -/obj/machinery/corral_corner{ - mapping_id = "2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/light/neon_lining{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"wgX" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port) -"wgZ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +"wgF" = ( +/turf/open/floor/iron/white/smooth_large, +/area/station/science/auxlab) +"wgG" = ( /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/machinery/door/airlock/medical{ - name = "Psychologist's Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, -/turf/open/floor/iron/dark/textured, -/area/station/medical/psychology) -"whh" = ( -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) +"wgH" = ( +/obj/effect/turf_decal/bot_red, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/dark/smooth_large, +/area/station/ai_monitored/command/storage/eva) +"wgQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/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/checkpoint/medical) -"whr" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sink/directional/west, /turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/cargo/storage) -"whv" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) -"whA" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/structure/table/reinforced/rglass, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/folder/white{ - pixel_x = -7; - pixel_y = 4 + dir = 4 }, -/obj/item/pen/red{ - pixel_x = -7; - pixel_y = 4 +/area/station/engineering/break_room) +"wgR" = ( +/obj/machinery/corral_corner{ + mapping_id = "2" }, -/obj/item/book/manual/wiki/medicine{ - pixel_x = 7 +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/obj/item/book/manual/wiki/infections{ - pixel_x = 7; - pixel_y = 3 +/obj/machinery/light/neon_lining{ + dir = 8 }, -/obj/item/hand_labeler, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/radio/headset/headset_med, -/obj/item/clothing/glasses/science, -/obj/item/extrapolator, -/obj/item/device/antibody_scanner, -/obj/item/device/antibody_scanner, -/obj/item/healthanalyzer, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/engine, +/area/station/science/xenobiology) +"wgX" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port) "whI" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -66353,113 +66152,30 @@ /obj/machinery/atmospherics/components/tank/air, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"whM" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Incinerator Output Pump"; - target_pressure = 4500 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"whN" = ( -/obj/effect/turf_decal/stripes/line{ +"wif" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/structure/table, -/obj/item/stock_parts/micro_laser{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/stock_parts/micro_laser{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stock_parts/micro_laser{ - pixel_x = 2 - }, -/obj/item/stock_parts/micro_laser{ - pixel_x = 6; - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"whU" = ( -/obj/effect/spawner/random/structure/table_or_rack, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"wic" = ( -/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/catwalk_floor, -/area/station/maintenance/starboard/fore) -"wig" = ( -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/restrooms) -"wii" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/entertainment/coin{ - pixel_x = 9; - pixel_y = 9 +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 }, -/obj/effect/spawner/random/entertainment/coin, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"wim" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, +/area/station/engineering/atmos) +"wiC" = ( /obj/structure/cable, -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron/dark, -/area/station/science/robotics/mechbay) -"wiD" = ( /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, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"wiI" = ( -/obj/structure/mop_bucket/janitorialcart{ - dir = 1 - }, -/obj/item/mop, /turf/open/floor/iron/dark, -/area/station/service/janitor) -"wiT" = ( -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/area/station/engineering/atmos) "wji" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/maintenance/port) -"wjs" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/medical_all, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"wju" = ( -/obj/effect/turf_decal/tile/purple/full, -/obj/effect/turf_decal/bot, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - location = "Research Division" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/machinery/duct, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/department/science) +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/aft) +"wjo" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "wjv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66468,6 +66184,13 @@ /obj/effect/spawner/random/entertainment/musical_instrument, /turf/open/floor/wood, /area/station/security/prison/rec) +"wjx" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable/layer1, +/turf/open/floor/iron, +/area/station/engineering/main) "wjA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66477,57 +66200,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"wjB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/status_display/ai/directional/north, -/obj/structure/closet/secure_closet/engineering_chief, -/obj/item/rcl/pre_loaded, -/obj/item/clothing/glasses/meson/engine, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/command/heads_quarters/ce) -"wjI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/tank/internals/oxygen, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"wjU" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/science) -"wjW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "departures_security_checkpoint"; - name = "Security Checkpoint Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/security/checkpoint/escape) -"wjY" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +"wjR" = ( +/obj/structure/chair{ dir = 1 }, /turf/open/floor/iron/white, -/area/station/medical/chemistry) -"wkb" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/computer/communications{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/area/station/medical/virology) "wkj" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -66537,86 +66215,55 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"wkn" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/obj/machinery/door/airlock/atmos{ - name = "Pathology Atmospherics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) -"wko" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"wkK" = ( -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/chair/sofa/middle/maroon{ +"wkw" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/turf/open/floor/iron/dark/side{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/area/station/commons/fitness) -"wkM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 +/turf/open/floor/wood, +/area/station/security/detectives_office) +"wkx" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 }, -/obj/structure/table/reinforced/rglass, -/obj/machinery/reagentgrinder{ - pixel_y = 8 +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 }, -/obj/item/toy/figure/chemist{ - pixel_x = -10; - pixel_y = 8 +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, /turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/area/station/medical/medbay/central) "wkO" = ( /obj/machinery/light/no_nightlight/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"wkS" = ( +"wkQ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/service/abandoned_gambling_den) +"wkR" = ( +/obj/machinery/telecomms/bus/preset_three, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"wkU" = ( /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/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/machinery/door/poddoor/preopen{ - id = "bridge_exterior_blast_doors"; - name = "Bridge Exterior Access Blast Door" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/bridge) -"wkX" = ( -/obj/machinery/requests_console/auto_name/directional/east, -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder/white, -/obj/item/pen, +/obj/machinery/duct, +/obj/machinery/holopad, /turf/open/floor/wood, -/area/station/medical/psychology) +/area/station/command/heads_quarters/captain/private) +"wlb" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) "wlm" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -66628,6 +66275,10 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/brig) +"wlw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "wlA" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -66666,21 +66317,14 @@ /turf/open/floor/iron/dark, /area/station/commons/fitness) "wlU" = ( -/obj/machinery/light/small/directional/west, -/mob/living/carbon/human/species/monkey, +/obj/structure/flora/bush/jungle/c/style_random, +/obj/item/food/grown/banana, /turf/open/floor/grass, /area/station/medical/virology) "wlX" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/port/aft) -"wmb" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "wml" = ( /obj/effect/turf_decal/stripes/end{ dir = 4 @@ -66691,51 +66335,31 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) -"wmn" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, +"wmF" = ( /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/hallway/primary/aft) -"wmy" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, +/obj/machinery/duct, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"wmO" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/table/wood, +/obj/effect/spawner/random/food_or_drink/snack, +/turf/open/floor/iron/white, +/area/station/medical/break_room) +"wmP" = ( +/obj/effect/turf_decal/bot, /obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/red, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) -"wmA" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 8 - }, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = -9 - }, -/obj/structure/sign/directions/engineering/directional/east{ - dir = 2 - }, -/obj/structure/sign/directions/supply/directional/east{ - pixel_y = 9; - dir = 8 +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 5; + pixel_x = -4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 5 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/turf/open/floor/iron, +/area/station/engineering/main) "wmY" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/masks, @@ -66744,6 +66368,11 @@ dir = 4 }, /area/station/commons/fitness/recreation) +"wna" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wnd" = ( /obj/structure/chair/sofa/bench, /turf/open/floor/plating, @@ -66766,39 +66395,25 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"wnF" = ( -/obj/effect/spawner/random/trash/box, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "wnQ" = ( /obj/machinery/mech_bay_recharge_port{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/warehouse) -"wnR" = ( -/obj/machinery/light/floor/has_bulb, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/processing) -"wol" = ( -/obj/effect/turf_decal/trimline/red/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"wnZ" = ( +/obj/effect/turf_decal/tile/green/half/contrasted, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/port) +"woa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"wom" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/structure/table, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/service/hydroponics/garden) +/area/station/commons/vacant_room/commissary) "woo" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -66807,76 +66422,151 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"wos" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot_white/right, +/obj/structure/filingcabinet, +/obj/item/folder/documents, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "woy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"woz" = ( +/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 = "Starboard Quarter Solar Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/effect/landmark/navigate_destination/common/starboardquartersolar, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/solars/starboard/aft) "woB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron, /area/station/cargo/sorting) -"woE" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"woV" = ( -/obj/structure/disposalpipe/segment{ +"woD" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/structure/table/reinforced/rglass, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"woN" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/mob/living/basic/chicken, +/turf/open/floor/grass, +/area/station/service/hydroponics) +"woR" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/hallway/primary/aft) +"woS" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"wpo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "law_office_shutters"; - name = "Law Office Shutters"; - dir = 1 +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) +"woT" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/service/lawoffice) -"wpG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + shuttledocked = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/processing) +"wpm" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 8 }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"wpp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/obj/structure/sign/poster/official/cleanliness/directional/south, +/obj/machinery/light/directional/south, /turf/open/floor/iron/white, -/area/station/medical/virology) +/area/station/medical/medbay/central) +"wpB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/north, +/obj/machinery/chem_heater/withbuffer, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) +"wpM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) "wpO" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /turf/open/floor/engine, /area/station/science/xenobiology) +"wpT" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "wpZ" = ( /obj/effect/spawner/random/structure/table, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wqc" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/empty, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/break_room) -"wql" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/closet/l3closet/scientist, -/turf/open/floor/iron/dark/textured, -/area/station/command/gateway) "wqm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -66887,9 +66577,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/office) -"wqq" = ( -/turf/open/floor/carpet/blue, -/area/station/command/heads_quarters/cmo) "wqv" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -66926,20 +66613,22 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"wqK" = ( -/obj/effect/turf_decal/bot_white, -/obj/machinery/button/door/directional/west{ - id = "qm_warehouse"; - name = "Warehouse Shutters Control"; - req_access = list("cargo") +"wqB" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/detectives_office) +"wqH" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 6 }, -/obj/structure/cargo_shelf, +/obj/item/storage/toolbox/mechanical, /turf/open/floor/iron, -/area/station/cargo/warehouse) -"wqW" = ( -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/area/station/science/ordnance/office) "wqY" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66948,21 +66637,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/security/prison) -"wrc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology/glass{ - name = "Primary Pathology Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/iron/white/textured, -/area/station/medical/virology) "wri" = ( /obj/structure/table_frame, /obj/item/stack/sheet/iron, @@ -66975,22 +66649,9 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) -"wrt" = ( -/obj/machinery/requests_console/directional/south{ - department = "Science"; - name = "Science Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/structure/table/reinforced/plasmarglass, -/obj/item/book/manual/wiki/cytology{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/book/manual/wiki/plumbing, -/obj/item/storage/box/petridish, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +"wrp" = ( +/turf/open/floor/wood, +/area/station/command/meeting_room) "wrA" = ( /obj/item/kirbyplants/random, /turf/open/floor/wood, @@ -67001,6 +66662,11 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"wrC" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/smartfridge/chemistry/preloaded, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "wrD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67011,25 +66677,76 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/research) -"wsc" = ( +"wrP" = ( /obj/effect/turf_decal/tile/dark_blue/full, -/obj/effect/turf_decal/loading_area/white{ - dir = 4 +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) +"wrT" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"wrV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "hop_queue"; - name = "HoP Queue Shutters" +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"wrX" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "cargo_desk"; + name = "Cargo Desk Shutters Control"; + req_access = list("cargo") + }, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/stamp{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/stamp/denied{ + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/cargo/office) +"wrY" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) -"wsn" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/computer/order_console/bitrunning, /turf/open/floor/iron/dark, -/area/station/security/bitden) +/area/station/security/lockers) +"wrZ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"wsd" = ( +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"wsj" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) "wsq" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -67042,40 +66759,64 @@ }, /turf/open/floor/engine, /area/station/security/execution) -"wsv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"wsr" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/atmospherics, +/obj/item/tank/internals/plasmaman/belt/empty{ + pixel_x = 9 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/door/airlock/grunge{ - name = "Gambling Den" +/obj/item/tank/internals/plasmaman/belt/empty{ + pixel_x = -11 }, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) +/obj/item/crowbar/red, +/obj/item/toy/figure/atmos{ + pixel_y = 16 + }, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/engineering/atmos/office) "wsy" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/reinforced, /area/station/science/ordnance) -"wsB" = ( -/obj/machinery/light/directional/east, -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/station/service/library/lounge) "wsE" = ( /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/science/circuits) -"wsT" = ( -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) +"wsQ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white, +/area/station/medical/office) +"wsW" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"wtb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/status_display/ai/directional/north, +/obj/structure/closet/secure_closet/engineering_chief, +/obj/item/rcl/pre_loaded, +/obj/item/clothing/glasses/meson/engine, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/command/heads_quarters/ce) +"wtf" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "wtn" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -67084,58 +66825,19 @@ /obj/machinery/atm/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"wtt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"wtv" = ( -/obj/structure/table, -/obj/item/secateurs, -/obj/item/secateurs{ - pixel_x = 8; - pixel_y = 8 +"wtz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/wood{ + dir = 1 }, /turf/open/floor/iron/dark, -/area/station/security/prison/garden) +/area/station/service/abandoned_gambling_den) "wtF" = ( /turf/closed/wall/r_wall, /area/station/science/xenobiology) -"wtM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"wtN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/window/left/directional/west, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) -"wtQ" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - name = "External Ports to Scrubbers"; - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer4{ - dir = 8; - name = "Supply to External Ports" - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/break_room) +"wtG" = ( +/turf/closed/wall/r_wall, +/area/station/medical/chemistry) "wtX" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 6 @@ -67146,41 +66848,23 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"wuf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"wui" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/bar) -"wuk" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/lights/mixed{ - pixel_y = 6; - pixel_x = 6 - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) -"wuE" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ +"wuj" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"wuB" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) +"wuF" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/entry) "wuH" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ @@ -67200,15 +66884,6 @@ dir = 8 }, /area/station/service/hydroponics) -"wvd" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "wvg" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/trimline/dark_blue/warning{ @@ -67226,25 +66901,79 @@ /obj/item/radio/off, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"wvp" = ( +/obj/machinery/status_display/ai/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"wvu" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"wvH" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 5 + }, +/obj/machinery/button/door/directional/east{ + id = "law_office_shutters"; + name = "Law Office Shutters Control"; + req_access = list("lawyer") + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) +"wvS" = ( +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/security/execution) "wvU" = ( /obj/machinery/light/small/directional/west, /obj/machinery/duct, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"wvX" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/folder/blue, -/obj/item/pen, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"wwm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"wwc" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/turf/open/floor/grass, -/area/station/medical/virology) +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) +"wwh" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/table, +/obj/machinery/button/door/directional/east{ + id = "bitrunner_den"; + name = "Bitrunner Den Shutters Control" + }, +/turf/open/floor/iron/dark, +/area/station/security/bitden) +"wwj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"wwo" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/effect/turf_decal/bot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + location = "Engineering" + }, +/obj/structure/plasticflaps/opaque, +/turf/open/floor/iron/large, +/area/station/maintenance/department/engine) "wwC" = ( /obj/structure/displaycase/labcage, /turf/open/floor/iron/vaporwave, @@ -67287,16 +67016,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"wxf" = ( -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/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/medbay/central) "wxl" = ( /obj/structure/closet/crate/secure/science{ req_access = list("robotics"); @@ -67313,12 +67032,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"wxo" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) "wxp" = ( /obj/machinery/corral_corner{ mapping_id = "1" @@ -67331,6 +67044,20 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"wxJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering{ + name = "Power Transmission Laser" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/construction, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/engine_smes) "wxL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67345,10 +67072,6 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/security/prison/safe) -"wxT" = ( -/obj/machinery/exodrone_launcher, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "wxU" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating/airless, @@ -67359,44 +67082,120 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/mess) -"wyb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white, -/area/station/medical/surgery) -"wyE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 +"wxZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/computer/station_alert, -/turf/open/floor/iron/dark/side{ +/obj/effect/turf_decal/stripes/line, +/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, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) +"wya" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/south, +/obj/structure/closet/secure_closet/security/science/blueshirt, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/science) +"wyi" = ( +/obj/structure/disposalpipe/segment{ dir = 5 }, -/area/station/engineering/break_room) -"wyL" = ( -/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, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) +"wyE" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/east{ + c_tag = "Command - Teleporter Room"; + name = "command camera" + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/clothing/mask/gas, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) +"wyN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/liquid_barrier, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/science/xenobio, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/port/aft) -"wzb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/area/station/science/xenobiology) +"wyO" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/iron/dark/side{ +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Brig Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/plating, +/area/station/security/brig) +"wyS" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"wyZ" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/warning, +/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/white, +/area/station/medical/medbay/central) +"wza" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"wzc" = ( +/obj/effect/turf_decal/box/corners{ dir = 8 }, -/area/station/engineering/storage_shared) +/obj/machinery/chem_heater, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "wzl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/eva) +"wzn" = ( +/obj/machinery/stasis{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "wzr" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -67424,26 +67223,16 @@ /obj/item/folder/yellow, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"wzz" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "wzA" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/service/library) -"wzI" = ( -/obj/structure/chair/plastic, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) -"wzL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "sci_west_win_shutters"; - name = "Research Division Shutters"; - dir = 8 - }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/science/research) +/area/station/maintenance/department/eva) "wzM" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 9 @@ -67457,93 +67246,68 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/turf/open/floor/iron/checker, -/area/station/science/lab) -"wzX" = ( -/obj/machinery/newscaster/directional/west, -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/library/private) +/turf/open/floor/iron/checker, +/area/station/science/lab) +"wzX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "wAd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/prison/mess) -"wAj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/small/directional/south, -/obj/machinery/iv_drip, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"wAm" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +"wAC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + 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/chair/sofa/bench, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "wAE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wAR" = ( -/obj/machinery/light_switch/directional/south{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/south{ - pixel_x = 5 +"wAH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/structure/disposalpipe/trunk{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/disposal/bin, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) +/obj/structure/cable, +/obj/machinery/door/airlock/highsecurity{ + name = "Secure Tech Storage" + }, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/tech_storage, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/storage/tech) "wAZ" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/machinery/door/firedoor/border_only, /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"wBm" = ( -/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_half{ - dir = 8 - }, -/area/station/service/chapel) -"wBu" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"wBy" = ( -/obj/machinery/atmospherics/components/trinary/mixer{ - dir = 1; - name = "plasma mixer" - }, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"wBB" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 +"wBD" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/trimline/green/line{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/newscaster/directional/north, +/obj/structure/railing{ dir = 4 }, -/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/security/courtroom) "wBF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/table_or_rack, @@ -67558,36 +67322,47 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/checker, /area/station/science/lab) -"wBY" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/engineering/main) +"wBS" = ( +/obj/machinery/telecomms/server/presets/engineering, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) "wCb" = ( /obj/effect/spawner/random/engineering/tool, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/port/fore) -"wCn" = ( -/obj/effect/turf_decal/stripes/line{ +"wCi" = ( +/obj/machinery/light/directional/east, +/obj/machinery/computer/atmos_control/nocontrol/incinerator{ dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/maintenance/disposal/incinerator) +"wCv" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 + }, +/obj/machinery/vending/wardrobe/science_wardrobe, +/turf/open/floor/iron/checker, +/area/station/science/lab) +"wCw" = ( /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 1 }, +/obj/effect/turf_decal/stripes/line, /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/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/cargo/storage) +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/aft) "wCx" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 6 @@ -67598,31 +67373,46 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"wCD" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/large, -/area/station/engineering/storage) -"wCX" = ( +"wCP" = ( /obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/stripes/line{ + 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/plating, +/area/station/maintenance/port) +"wCY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"wDe" = ( +/area/station/engineering/storage/tech) +"wCZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, /obj/machinery/light/small/directional/north, /obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"wDg" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/chair/sofa/corp/left{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/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/main) +"wDi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/small/directional/south, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "wDy" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/camera/autoname/directional/east, @@ -67640,6 +67430,10 @@ /obj/effect/turf_decal/trimline/red/warning, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"wDQ" = ( +/obj/item/wrench, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "wDR" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ @@ -67652,6 +67446,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) +"wDV" = ( +/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 = 10 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "wDY" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8 @@ -67672,17 +67475,6 @@ }, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"wEv" = ( -/obj/machinery/light/directional/west, -/obj/structure/bed/double{ - dir = 4 - }, -/obj/item/bedsheet/dorms_double{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) "wEy" = ( /obj/effect/turf_decal/bot, /obj/machinery/camera/directional/west{ @@ -67706,6 +67498,25 @@ dir = 4 }, /area/station/commons/dorms) +"wEI" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/modular_computer/preset/command{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"wEQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"wEZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/grass, +/area/station/medical/virology) "wFf" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -67714,6 +67525,14 @@ /obj/machinery/dna_scannernew, /turf/open/floor/iron/white, /area/station/science/genetics) +"wFh" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/structure/chair/sofa/middle/maroon, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/commons/fitness) "wFn" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/light/directional/east, @@ -67722,41 +67541,33 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/office) -"wFu" = ( -/obj/structure/chair/comfy/brown, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet, -/area/station/hallway/secondary/entry) +"wFy" = ( +/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, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) "wFB" = ( /obj/structure/grille, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"wFZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"wGc" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = -9; - pixel_y = 3 +"wFR" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 }, -/obj/item/reagent_containers/dropper{ - pixel_y = -4 +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + req_access = list("brig") }, -/turf/open/floor/wood, -/area/station/service/bar) -"wGe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/processing) "wGf" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning, /obj/effect/turf_decal/trimline/neutral/warning{ @@ -67784,25 +67595,20 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark/side, /area/station/commons/fitness) -"wGk" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "wGm" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box/amber, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"wGs" = ( -/obj/machinery/power/apc/auto_name/directional/north, +"wGu" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/obj/machinery/duct, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/security/interrogation) "wGw" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -67810,6 +67616,10 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"wGC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "wGD" = ( /obj/effect/turf_decal/bot_red, /obj/structure/cable, @@ -67826,21 +67636,82 @@ /obj/machinery/growing/tray, /turf/open/floor/iron/dark/side, /area/station/service/hydroponics) -"wGI" = ( -/obj/machinery/shower/directional/south, -/obj/structure/drain, -/obj/item/soap/homemade, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/shower) +"wGL" = ( +/obj/structure/table/wood/fancy/black, +/obj/item/toy/figure/chaplain{ + pixel_y = -9 + }, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) +"wGM" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/effect/turf_decal/bot, +/obj/structure/liquid_pump, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/atmos) "wGT" = ( /obj/machinery/computer/records/medical, /turf/open/floor/wood, /area/station/security/detectives_office) -"wHt" = ( -/obj/machinery/light/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/security/prison/rec) +"wGW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"wHa" = ( +/obj/item/toy/basketball, +/turf/open/floor/glass/reinforced, +/area/station/security/prison/workout) +"wHb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/patients_rooms/room_a) +"wHh" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"wHj" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/structure/reagent_dispensers/plumbed{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"wHo" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/button/door/directional/west{ + id = "med_front_desk_shutters"; + name = "Front Desk Shutters Control"; + req_access = list("medical"); + pixel_y = -5 + }, +/obj/machinery/button/door/directional/west{ + id = "medbay_foyer"; + name = "Medbay Doors Bolt Control"; + req_access = list("medical"); + pixel_y = 5; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/structure/filingcabinet, +/turf/open/floor/iron/white, +/area/station/medical/office) +"wHB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) "wHD" = ( /obj/machinery/light/small/directional/west, /obj/machinery/button/door/directional/west{ @@ -67852,23 +67723,11 @@ /obj/machinery/recharge_station, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"wHG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"wHE" = ( /obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters{ - id = "teleporter_shutters"; - name = "Teleporter Room Shutters"; - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/teleporter) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/wood, +/area/station/command/meeting_room) "wHJ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -67894,28 +67753,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wHW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, +"wHV" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/spawner/random/clothing/gloves, +/obj/effect/spawner/random/clothing/gloves, +/obj/effect/spawner/random/clothing/gloves, /turf/open/floor/plating, -/area/station/maintenance/department/engine) -"wId" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 +/area/station/maintenance/department/engine/atmos) +"wIf" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 }, -/obj/structure/chair/comfy/black, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/button/door/directional/south{ + id = "chem_factory_shutters"; + req_access = list("pharmacy") + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wIi" = ( /obj/structure/flora/bush/flowers_pp/style_random, /obj/structure/flora/bush/sunny/style_random, @@ -67923,10 +67778,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/ai_monitored/security/armory) -"wIn" = ( -/obj/structure/table, -/turf/open/floor/wood, -/area/station/smithing) "wIr" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -67938,11 +67789,13 @@ "wIv" = ( /turf/closed/wall, /area/station/maintenance/department/security/brig) -"wID" = ( -/obj/effect/turf_decal/trimline/blue/filled/warning{ +"wIx" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/blue/warning, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/departments/exam_room/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "wIG" = ( @@ -67955,6 +67808,19 @@ /obj/structure/sign/warning/secure_area/directional/north, /turf/open/space/basic, /area/space/nearstation) +"wIP" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) +"wIQ" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/station/maintenance/department/security/brig) "wIU" = ( /obj/machinery/button/door/directional/west{ id = "detective_office_shutters"; @@ -67968,102 +67834,88 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) -"wJa" = ( -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"wJe" = ( -/turf/open/floor/iron/dark/smooth_corner{ +"wJc" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"wJk" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 }, -/area/station/service/chapel) -"wJm" = ( -/obj/structure/cable, -/obj/machinery/power/floodlight, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"wJo" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side{ +/obj/structure/table, +/obj/item/storage/box{ + pixel_y = 20 + }, +/obj/item/storage/box{ + pixel_y = 10 + }, +/obj/item/storage/box, +/turf/open/floor/iron/dark/corner{ dir = 1 }, -/area/station/security/interrogation) -"wJA" = ( +/area/station/cargo/sorting) +"wJG" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/bed/dogbed, +/mob/living/basic/pet/dog/bullterrier{ + name = "Walter"; + real_name = "Walter"; + desc = "It's Walter!" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) +"wJJ" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/bonfire, +/obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"wJK" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/closet/emcloset, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"wJW" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/commons/dorms) -"wKi" = ( -/obj/machinery/nuclearbomb/selfdestruct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"wKr" = ( -/obj/machinery/door/firedoor/border_only, -/obj/structure/window/reinforced/spawner/directional/south, -/mob/living/basic/chicken, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"wKv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/area/station/maintenance/department/engine) +"wJU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/miningoffice) -"wKE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering - Break Room"; - name = "engineering camera" - }, -/turf/open/floor/iron/dark/side, -/area/station/engineering/break_room) -"wKF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) +"wJW" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark/side{ + dir = 6 }, +/area/station/commons/dorms) +"wKa" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"wKk" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms/room2) +"wKD" = ( /obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/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, -/turf/open/floor/iron/white/textured, -/area/station/medical/cryo) -"wKG" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 8 + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/maintenance{ + name = "Forging Lab Maintenance" }, -/turf/open/floor/iron/dark, -/area/station/tcommsat/computer) +/obj/effect/mapping_helpers/airlock/access/any/science/general, +/obj/effect/mapping_helpers/airlock/access/any/supply/general, +/turf/open/floor/plating, +/area/station/maintenance/department/science) +"wKJ" = ( +/obj/machinery/light/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/wood, +/area/station/security/prison/rec) "wKV" = ( /obj/machinery/door/firedoor/border_only{ dir = 1 @@ -68074,37 +67926,6 @@ }, /turf/open/floor/grass, /area/station/service/hydroponics) -"wLa" = ( -/obj/effect/turf_decal/siding/wood/corner{ - 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/wood, -/area/station/commons/vacant_room/office) -"wLb" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/security/interrogation) -"wLd" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology/glass{ - name = "Isolation 2" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/iron/white/textured, -/area/station/medical/virology) "wLm" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -68127,14 +67948,34 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wLx" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ +"wLA" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/port) +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/window/right/directional/north{ + name = "Medical Deliveries"; + req_access = list("medical") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "med_lockdown"; + name = "Medbay Emergency Lockdown Shutters" + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/medbay/central) +"wLI" = ( +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating_new/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "wLQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -68161,44 +68002,19 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"wMs" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/south, -/obj/structure/table, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil{ - pixel_y = 7; - pixel_x = 3 - }, -/obj/item/storage/box/lights/mixed, -/obj/item/crowbar/large, -/obj/item/tank/internals/oxygen/yellow{ - pixel_x = 4; - pixel_y = -3 - }, -/turf/open/floor/iron, -/area/station/engineering/main) -"wMu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"wMq" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/wrench, +/obj/item/shovel/spade, +/obj/item/hatchet, +/turf/open/floor/grass, +/area/station/hallway/primary/central) +"wMJ" = ( +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/commons/dorms) -"wMD" = ( -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/rd) "wMK" = ( /obj/effect/turf_decal/box, /obj/machinery/holopad, @@ -68213,32 +68029,38 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"wMO" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Prison Cryogenic Lounge" +"wMU" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) -"wNr" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +/obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, +/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/dark/side{ - dir = 10 + dir = 4 }, -/area/station/security/interrogation) +/area/station/hallway/primary/aft) +"wNc" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"wNe" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/chair/plastic, +/turf/open/floor/iron/dark, +/area/station/security/prison/mess) +"wNl" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "wNw" = ( /obj/machinery/door/firedoor/border_only, /obj/machinery/door/window/left/directional/south{ @@ -68255,6 +68077,12 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white, /area/station/science/research) +"wNA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "wND" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, @@ -68274,12 +68102,17 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/entry) -"wNL" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 +"wNO" = ( +/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, -/area/station/engineering/atmos/pumproom) +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/explab) "wOd" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -68289,6 +68122,18 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"wOe" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library) +"wOn" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood, +/area/station/service/library) "wOt" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/machinery/duct, @@ -68300,87 +68145,42 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"wOy" = ( -/obj/structure/cable, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/iron/dark, -/area/station/security/prison/mess) -"wOC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/dark/side, -/area/station/command/heads_quarters/ce) -"wOD" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"wOJ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/machinery/button/door/directional/south{ - id = "justice_chamber"; - name = "Airlock Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/structure/table, -/obj/item/storage/box/bodybags{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/storage/box/bodybags{ - pixel_x = 5; - pixel_y = 10 - }, -/turf/open/floor/iron/dark, -/area/station/security/execution) -"wOK" = ( -/obj/machinery/newscaster/directional/north, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"wOS" = ( -/obj/effect/spawner/random/structure/table, -/obj/effect/spawner/random/food_or_drink/booze{ - pixel_x = -8; - pixel_y = 6 - }, -/obj/effect/spawner/random/food_or_drink/booze{ - pixel_x = 4; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/station/maintenance/port/fore) -"wPc" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, +"wOv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/duct, /turf/open/floor/iron/dark, -/area/station/command/bridge) -"wPy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +/area/station/service/janitor) +"wOM" = ( +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) +"wOW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/service/abandoned_gambling_den) +"wPk" = ( +/obj/structure/sign/departments/engineering/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"wPE" = ( +/obj/effect/turf_decal/box, +/obj/machinery/ai_slipper{ + uses = 10 }, -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"wPA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair{ - dir = 1 +/obj/machinery/camera/directional/south{ + c_tag = "AI Chamber - Secondary Core"; + name = "core camera"; + network = list("aicore") }, -/obj/effect/landmark/start/scientist, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/obj/machinery/flasher/directional/north{ + id = "AI"; + name = "Meatbag Pacifier" + }, +/turf/open/floor/engine, +/area/station/ai_monitored/turret_protected/ai) "wPK" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/canister, @@ -68392,56 +68192,19 @@ }, /turf/open/floor/carpet/green, /area/station/commons/locker) -"wPR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Prison Wing" - }, -/obj/machinery/door/poddoor/preopen{ - id = "perma_lockdown"; - name = "Lockdown Blast Door" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "perma-entrance" - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/execution/transfer) -"wPT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "wPX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/storage) -"wQa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"wQk" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/machinery/door/airlock/grunge{ - name = "Prison Showers" +"wQc" = ( +/obj/structure/closet/wardrobe/pjs, +/obj/effect/landmark/start/hangover/closet, +/turf/open/floor/iron/dark/side{ + dir = 6 }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/shower) +/area/station/commons/dorms) "wQr" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -68466,41 +68229,44 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wQO" = ( +"wQL" = ( /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, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/aft) +/obj/machinery/holopad, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "wRs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wRJ" = ( -/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/maintenance{ - name = "Paramedic Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/medical/paramedic) "wRN" = ( /turf/closed/wall, /area/station/science/ordnance/bomb) -"wRW" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ +"wRO" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"wSd" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"wSi" = ( +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/closet/firecloset/full, -/obj/effect/landmark/start/hangover/closet, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, /turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/tcommsat/computer) "wSk" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall, @@ -68519,27 +68285,42 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"wSn" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/pipedispenser/disposal, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos) -"wSs" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ +"wSp" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/effect/turf_decal/trimline/dark_blue/line{ +/obj/effect/turf_decal/trimline/red/line{ dir = 4 }, -/obj/machinery/station_map/directional/west, +/obj/machinery/light/directional/west, +/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/hallway/primary/central) +/area/station/security/brig) +"wSr" = ( +/obj/structure/table/wood, +/obj/machinery/computer/records/medical/laptop, +/turf/open/floor/carpet/blue, +/area/station/medical/psychology) +"wSs" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/vending/wardrobe/bar_wardrobe, +/turf/open/floor/wood, +/area/station/service/bar/backroom) "wSt" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/clothing/costume, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"wSx" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/side, +/area/station/engineering/break_room) "wSz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -68553,6 +68334,32 @@ /obj/item/kirbyplants/random, /turf/open/floor/carpet, /area/station/service/chapel) +"wSD" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Telecomms Monitoring"; + network = list("tcomms") + }, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/tcommsat/computer) +"wSH" = ( +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/floor/iron/white, +/area/station/medical/cryo) +"wSK" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/librarian, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) "wSN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68565,17 +68372,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"wSQ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/north, -/obj/machinery/vending/tool, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) -"wSR" = ( -/obj/effect/spawner/random/vending/colavend, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "wTy" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -68601,36 +68397,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/atmos) -"wTD" = ( -/obj/structure/cable, -/obj/machinery/light/directional/west, -/obj/machinery/status_display/ai/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"wUn" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/carpet/red, -/area/station/commons/vacant_room/office) -"wUo" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 +"wTM" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, /turf/open/floor/iron/white, -/area/station/medical/office) -"wUr" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/computer/security/telescreen/cmo{ - dir = 4; - pixel_x = -30 - }, -/obj/machinery/modular_computer/preset/id{ +/area/station/medical/surgery) +"wTY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) +"wUd" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood/tile, +/area/station/service/chapel/office) "wUx" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/closet/crate/secure/weapon{ @@ -68641,42 +68423,87 @@ /obj/item/ammo_box/a762/surplus, /turf/open/floor/iron/dark, /area/station/security/execution) +"wUz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) +"wUH" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/transit_tube/station/dispenser/reverse/flipped{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/engineering/transit_tube) "wVk" = ( /obj/machinery/computer/upload/ai{ dir = 8 }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"wVm" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/machinery/light/directional/south, -/obj/structure/sign/poster/official/random/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/research) "wVp" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"wVV" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/table/reinforced, -/obj/item/aicard, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"wWd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) +"wVt" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/nineteen_nineteen, +/turf/open/floor/wood, +/area/station/service/library/lounge) "wWh" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron/dark/side{ dir = 9 }, /area/station/hallway/secondary/service) +"wWn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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/machinery/door/airlock/medical/glass{ + name = "Departures Medical Post" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/dark/textured, +/area/station/medical/treatment_center) +"wWt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/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/machinery/door/airlock/medical{ + name = "Patient Room 1" + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/patients_rooms/room_a) "wWv" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -68691,19 +68518,24 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"wWx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +"wWI" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) "wWJ" = ( /obj/effect/turf_decal/trimline/dark_blue/warning{ dir = 4 }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"wWP" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "wXi" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -68722,29 +68554,6 @@ /obj/item/reagent_containers/cup/watering_can, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"wXA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/machinery/door/airlock/mining{ - name = "Drone Bay" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/effect/landmark/navigate_destination{ - location = "Drone Bay" - }, -/turf/open/floor/iron/textured, -/area/station/cargo/drone_bay) "wXC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -68760,6 +68569,11 @@ }, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/aisat/foyer) +"wXF" = ( +/obj/machinery/light/built/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "wXM" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -68774,28 +68588,33 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"wXR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +"wYn" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/office) +"wYo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/department/engineering/central) -"wXX" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"wYc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance{ - name = "Crematorium Maintenance" + name = "Cargo Bay Maintenance" }, -/obj/effect/mapping_helpers/airlock/access/all/service/crematorium, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/chapel/office) +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/cargo/storage) +"wYy" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/random/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "wYC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -68819,20 +68638,52 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/brig) -"wZh" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Hydroponics" +"wYH" = ( +/obj/item/radio/intercom/prison/directional/south, +/obj/structure/punching_bag, +/turf/open/floor/iron/dark, +/area/station/security/prison/workout) +"wZf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "qm_office_shutters"; + name = "QM's Office Shutters"; + dir = 4 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/service) +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "wZk" = ( /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/service/hydroponics/garden) +"wZl" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/storage) +"wZn" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/plate_press, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/security/prison/work) +"wZs" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "wZv" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron/dark, @@ -68840,6 +68691,13 @@ "wZx" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"wZy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/science) "wZF" = ( /turf/open/floor/plating, /area/station/construction/mining/aux_base) @@ -68853,6 +68711,22 @@ dir = 8 }, /area/station/commons/fitness) +"wZS" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/main) +"xaj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "xak" = ( /obj/structure/sign/departments/engineering/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -68873,27 +68747,37 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"xaD" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, +"xaG" = ( +/obj/machinery/status_display/evac/directional/east, +/obj/structure/sign/warning/biohazard/directional/north, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/tank, -/turf/open/floor/iron/dark/corner, -/area/station/maintenance/starboard/aft) -"xaE" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/machinery/plumbing/pill_press, +/obj/structure/chair, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"xaK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/white, -/area/station/medical/chemistry) -"xaF" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/effect/spawner/random/structure/table_or_rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/medical/cryo) +"xaR" = ( +/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/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/science/research) +"xaV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/bar) "xaW" = ( /obj/machinery/rnd/server/master, /turf/open/floor/circuit/telecomms/server, @@ -68906,15 +68790,16 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) +"xbA" = ( +/obj/effect/turf_decal/box, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/supply) "xbH" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"xbJ" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/spawner/random/vending/colavend, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) "xbP" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -68923,20 +68808,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/security/brig) -"xbV" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 +"xbX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/module_duplicator, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/white, -/area/station/science/circuits) +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "xcb" = ( /obj/machinery/status_display/ai/directional/east, /obj/structure/chair/pew/left{ @@ -68945,16 +68822,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/service/chapel) -"xcd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +"xcv" = ( +/obj/item/radio/intercom/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/maintenance/starboard/aft) "xcx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68964,16 +68836,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"xcL" = ( -/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 = 9 +"xcz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"xcA" = ( +/obj/structure/chair/wood, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library/lounge) "xcO" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, @@ -68989,49 +68864,19 @@ /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, /area/station/security/execution) -"xdw" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "hop"; - name = "Privacy Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hop) -"xdx" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/command/bridge) -"xdD" = ( -/obj/machinery/firealarm/directional/east, +"xdr" = ( +/obj/structure/sign/poster/random/directional/south, +/obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"xdI" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, -/turf/open/floor/plating, -/area/station/medical/cryo) +/area/station/maintenance/department/engine) "xdJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/dark/side, /area/station/commons/fitness) -"xdK" = ( -/obj/structure/displaycase/captain, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"xdM" = ( -/obj/structure/table, -/obj/item/paper/fluff/holodeck/disclaimer, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "xdR" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -69049,40 +68894,90 @@ /obj/structure/sign/departments/cargo/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"xdV" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/line{ +"xdX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/structure/table, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_y = 3; + pixel_x = 3 + }, +/turf/open/floor/iron, +/area/station/engineering/storage) +"xel" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/station_map/directional/south, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port) +"xeo" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/pink/visible, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"xer" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/area/station/commons/fitness/recreation) +"xes" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/borg/upgrade/rename, +/obj/item/reagent_containers/cup/beaker/large, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "xey" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"xeH" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 8 +"xeD" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ - dir = 8 +/obj/machinery/light/directional/north, +/obj/machinery/requests_console/directional/north{ + department = "Virology"; + name = "Pathology Requests Console" }, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/side{ - dir = 5 +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/machinery/disease2/centrifuge, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"xeK" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/area/station/hallway/primary/aft) +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "xeM" = ( /obj/machinery/computer/security/qm{ dir = 8 }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"xeV" = ( +/obj/structure/cable, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/wood, +/area/station/command/meeting_room) "xeX" = ( /turf/open/floor/iron/dark/side{ dir = 4 @@ -69105,42 +69000,32 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"xft" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/effect/landmark/start/detective, -/turf/open/floor/wood, -/area/station/security/detectives_office) -"xfA" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) -"xfN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ +"xfv" = ( +/obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 5 +/obj/structure/disposaloutlet, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"xfL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" }, -/area/station/hallway/primary/aft) -"xfT" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "atmos_rad_shutters"; + name = "Radiation Shutters" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engineering/central) +"xfQ" = ( /obj/machinery/firealarm/directional/north, -/obj/structure/closet/crate, +/obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/iron/dark/side{ dir = 5 }, -/area/station/security/prison/safe) +/area/station/security/prison) "xfW" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/random/trash/grille_or_waste, @@ -69161,76 +69046,46 @@ /obj/item/extinguisher, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"xgj" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "xgl" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/airlock/public/glass{ - name = "Library Lounge" - }, -/turf/open/floor/iron/dark/textured, -/area/station/service/library/lounge) +/obj/structure/bookcase/random/reference, +/turf/open/floor/wood, +/area/station/service/library) "xgo" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Pure to Port Mix" }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"xgp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/engine/atmos) -"xgs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable/layer1, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/storage) -"xgz" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) -"xgB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/storage_shared) -"xgI" = ( +"xgL" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/frame/machine, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/maintenance/starboard/fore) "xgR" = ( /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"xgX" = ( -/obj/machinery/light/directional/north, +"xgT" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/soap/nanotrasen, +/obj/item/storage/box/trackimp{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/hug{ + pixel_y = 9 + }, +/obj/item/storage/box/chemimp{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/item/storage/lockbox/loyalty, /turf/open/floor/iron/dark, -/area/station/security/prison) +/area/station/ai_monitored/security/armory) "xgY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69238,18 +69093,13 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"xhf" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/rad_shelter/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/prison) -"xhj" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/cargo/drone_bay) +"xhd" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/departments/engineering/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "xhp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69258,23 +69108,46 @@ /area/station/security/prison/shower) "xhs" = ( /obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/commons/dorms) -"xhv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"xhI" = ( +/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/stripes/line, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/plating, +/area/station/commons/dorms) +"xhy" = ( +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/table, +/obj/item/toy/plush/carpplushie{ + name = "Jeff"; + desc = "An adorable stuffed toy that resembles a space carp. The warden was given Jeff to soothe rampant anger issues" + }, +/turf/open/floor/iron/dark, +/area/station/security/lockers) +"xhE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) +"xhM" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/obj/machinery/status_display/evac/directional/west, +/obj/structure/closet/crate/trashcart/laundry, +/obj/item/clothing/under/color/random, +/obj/item/clothing/under/color/random, +/obj/item/clothing/under/color/random, +/obj/item/clothing/under/color/random, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/turf/open/floor/iron/checker, +/area/station/commons/dorms/laundry) "xhN" = ( /obj/structure/bed, /obj/item/bedsheet/patriot, @@ -69295,6 +69168,9 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"xhQ" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/transit_tube) "xhW" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -69310,20 +69186,54 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"xhY" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) +"xie" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"xif" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "xih" = ( /obj/effect/landmark/navigate_destination/common/holodeck, /turf/open/floor/engine{ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"xik" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/volume_pump/layer2{ + name = "Emergency Waste Release" + }, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 1; + name = "Emergency Air Supply"; + target_pressure = 250 + }, +/turf/open/floor/plating/reinforced, +/area/station/science/xenobiology/hallway) +"xim" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) +"xix" = ( +/obj/effect/turf_decal/box, +/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, +/obj/machinery/holopad, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/medbay/lobby) "xiC" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -69337,11 +69247,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/primary) -"xiS" = ( -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/engineering/break_room) "xiW" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ @@ -69368,23 +69273,30 @@ dir = 1 }, /area/station/service/hydroponics/garden) -"xjx" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/firealarm/directional/east{ - pixel_y = 5 +"xjd" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/chair/sofa/bench/right{ + dir = 1 }, -/obj/machinery/light_switch/directional/east{ - pixel_y = -5 +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"xjj" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) +"xjB" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/status_display/ai/directional/north, +/obj/structure/table, +/obj/item/electronics/apc, +/obj/item/electronics/airlock{ + pixel_y = 8 }, -/obj/item/radio/intercom/directional/south, -/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"xjF" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/virology) "xjO" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -69397,6 +69309,31 @@ dir = 4 }, /area/station/service/hydroponics/garden) +"xkb" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/science) +"xkf" = ( +/obj/machinery/button/door/directional/north{ + id = "dorm_1"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5; + pixel_y = 34 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/wood/large, +/area/station/commons/dorms/room1) "xkh" = ( /obj/item/radio/off{ pixel_y = 6 @@ -69416,19 +69353,12 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"xkj" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/requests_console/directional/north{ - department = "Virology"; - name = "Pathology Requests Console" +"xkt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/machinery/disease2/centrifuge, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/turf/open/floor/iron/dark, +/area/station/security/lockers) "xkQ" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -69443,24 +69373,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"xkY" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/camera/autoname/directional/north, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) -"xle" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/security/detectives_office) "xlk" = ( /obj/structure/closet, /obj/item/clothing/under/misc/mailman, @@ -69473,43 +69385,16 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) -"xlQ" = ( -/obj/machinery/status_display/evac/directional/south, -/obj/structure/table, -/obj/item/toy/foamblade, -/obj/item/toy/sword{ - pixel_x = 3; - pixel_y = 12 - }, -/turf/open/floor/iron/dark/side, -/area/station/commons/fitness/recreation) -"xlS" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/chair/office/light, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"xmk" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos/office) -"xml" = ( -/obj/structure/closet/secure_closet{ - req_access = list("bar") - }, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5 - }, -/obj/item/stack/cable_coil, -/obj/effect/spawner/random/entertainment/money, -/obj/effect/spawner/random/entertainment/money, -/turf/open/floor/wood, -/area/station/service/bar/backroom) +"xlz" = ( +/obj/structure/sign/poster/random/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"xlF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "xmm" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -69523,35 +69408,36 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"xmK" = ( -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"xnn" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/dish_drive/bullet, +"xmB" = ( +/obj/machinery/blackbox_recorder, +/obj/structure/cable, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) +"xmT" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/closet/firecloset/full, /turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) +/area/station/hallway/primary/central) "xny" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"xnC" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"xnE" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ +"xnA" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/chair/sofa/bench/left{ +/obj/effect/turf_decal/trimline/blue/line{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "xnG" = ( /obj/effect/turf_decal/trimline/red/filled/warning, /obj/effect/turf_decal/trimline/red/warning{ @@ -69562,10 +69448,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/brig) -"xnN" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"xnP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/rnd/production/protolathe/department/engineering, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) "xnX" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -69577,37 +69468,16 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) -"xoa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/chair_flipped, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"xob" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Atmospherics Deliveries"; - name = "engineering camera" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/atmos/office) -"xod" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/disease2/incubator, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"xoe" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "xog" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/security/detectives_office) +/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=AIE"; + location = "AftH" + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "xow" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -69623,11 +69493,6 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) -"xoG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "xoI" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -69655,35 +69520,59 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"xpg" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Security - Post, Cargo"; + name = "security camera" + }, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/red, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/supply) "xpD" = ( /turf/open/floor/plating/airless, /area/space/nearstation) -"xpF" = ( -/obj/machinery/vending/cigarette, +"xpE" = ( +/obj/structure/cable, +/obj/structure/table/wood/fancy/blue, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 3 + }, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"xpK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/area/station/command/meeting_room) +"xpO" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/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/machinery/door/airlock/medical{ - name = "Patient Room 1" +/obj/machinery/light_switch/directional/east{ + pixel_y = 5 }, -/turf/open/floor/iron/white/textured, -/area/station/medical/patients_rooms/room_a) -"xqe" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/server) +"xpS" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/directional{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) +"xqa" = ( +/obj/effect/spawner/structure/window, /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) +/turf/open/floor/plating, +/area/station/medical/medbay/lobby) "xqg" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -69696,6 +69585,15 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) +"xqw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "departures_security_checkpoint"; + name = "Security Checkpoint Shutters" + }, +/turf/open/floor/plating, +/area/station/security/checkpoint/escape) "xqC" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/start/assistant, @@ -69708,16 +69606,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"xqN" = ( -/obj/machinery/light_switch/directional/north, -/obj/structure/cable, -/turf/open/floor/carpet, -/area/station/service/chapel) -"xqQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) "xqS" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -69725,43 +69613,31 @@ /obj/machinery/growing/tray, /turf/open/floor/iron/dark/side, /area/station/service/hydroponics) -"xqW" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot_red, -/obj/machinery/camera/motion/directional/west{ - c_tag = "Command - EVA Storage, West"; - name = "motion-sensitive command camera" - }, -/obj/machinery/recharge_station, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) -"xqZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/machinery/computer/records/medical/laptop, -/turf/open/floor/iron/white, -/area/station/security/medical) "xrf" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) -"xrz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +"xrj" = ( +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 }, -/obj/effect/turf_decal/trimline/blue/line, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"xrC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer2{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/hallway/primary/aft) +"xrG" = ( +/obj/effect/turf_decal/vg_decals/atmos/plasma, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "xrJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69770,9 +69646,24 @@ /turf/open/floor/iron, /area/station/commons/dorms) "xrO" = ( -/obj/machinery/vending/access/command, -/turf/open/floor/wood, -/area/station/command/meeting_room) +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/autolathe, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/break_room) +"xrQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/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, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side, +/area/station/engineering/storage_shared) "xrX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69780,6 +69671,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/gateway) +"xsa" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/transit_tube) "xsd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ @@ -69787,35 +69683,39 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"xsm" = ( -/obj/machinery/button/door/directional/east{ - id = "bar_sec_shutters"; - name = "Bar Shutters Control"; - req_access = list("bar") +"xsk" = ( +/obj/machinery/light/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/biogenerator, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) +"xsG" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Bar"; - name = "service camera" +/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/machinery/door/airlock/medical/glass{ + name = "Medical North Side Entrance" }, -/turf/open/floor/wood, -/area/station/service/bar) -"xsB" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Telecomms Server Room"; - network = list("tcomms") +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/central) +"xsR" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 }, -/obj/machinery/telecomms/receiver/preset_left, -/turf/open/floor/circuit/telecomms, -/area/station/tcommsat/server) -"xsC" = ( -/obj/structure/table/reinforced/plasmarglass, -/obj/item/experi_scanner{ - pixel_x = 4 +/obj/effect/turf_decal/trimline/dark_blue/line{ + dir = 8 }, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/glasses/science, +/obj/machinery/light/directional/east, /turf/open/floor/iron/white, -/area/station/science/xenobiology) +/area/station/medical/medbay/central) "xsX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69830,34 +69730,64 @@ "xta" = ( /turf/closed/wall/r_wall, /area/station/security/prison/rec) -"xtc" = ( -/obj/machinery/light/directional/east, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/prison/workout) -"xtm" = ( -/obj/machinery/button/door/directional/south{ - id = "bsq_to_cq"; - name = "Quarters Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 +"xtb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"xte" = ( +/obj/structure/bed/dogbed/runtime, +/mob/living/simple_animal/pet/cat/runtime, +/turf/open/floor/carpet/blue, +/area/station/command/heads_quarters/cmo) +"xtq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal) +"xtx" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/spawner/random/contraband/prison, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/shoes/sneakers/orange, +/obj/item/clothing/shoes/sneakers/orange, +/obj/item/clothing/shoes/sneakers/orange, +/obj/item/clothing/shoes/sneakers/orange, +/turf/open/floor/iron/checker, +/area/station/security/prison/shower) +"xtB" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/dresser, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) -"xtn" = ( -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/sign/directions/command/directional/north{ + pixel_y = 41; + dir = 2 + }, +/obj/structure/sign/directions/supply/directional/north{ dir = 8 }, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 +/obj/structure/sign/directions/vault/directional/north{ + pixel_y = 23; + dir = 8 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Hallway - Central, Northwest"; + name = "hallway camera" }, /turf/open/floor/iron/dark, -/area/station/science/ordnance) +/area/station/hallway/primary/central) "xtD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, @@ -69878,30 +69808,6 @@ dir = 8 }, /area/station/cargo/storage) -"xtS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/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/machinery/door/airlock/security/glass{ - name = "Security Post - Engineering" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured, -/area/station/security/checkpoint/engineering) -"xtT" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/service/library/lounge) "xud" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/west, @@ -69916,71 +69822,25 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"xuk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +"xuo" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/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/machinery/door/airlock/medical{ - name = "Psychology Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, -/turf/open/floor/iron/dark/textured, -/area/station/medical/psychology) -"xuu" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/firealarm/directional/west{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = 5 - }, /obj/structure/table, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 5 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5; - pixel_x = 4 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 5; - pixel_x = 8 - }, -/obj/item/stack/rods/fifty, -/obj/item/stack/rods/fifty, -/obj/item/gps, +/obj/item/hand_tele, /turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) +/area/station/command/teleporter) +"xup" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/directional/east, +/obj/item/kirbyplants/photosynthetic, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "xuA" = ( /obj/item/radio/intercom/prison/directional/west, /turf/open/floor/iron/dark, /area/station/security/prison) -"xuF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/sign/poster/ripped/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Hallway - Central, Southwest"; - name = "hallway camera" - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "xuN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/generic_maintenance_landmark, @@ -69993,23 +69853,30 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"xva" = ( -/obj/machinery/computer/operating{ +"xvi" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"xvo" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/filingcabinet, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"xvE" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/aft) +"xvz" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/newscaster/directional/east, +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"xvA" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood, +/area/station/security/detectives_office) "xvF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70050,60 +69917,63 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"xwg" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/purple/line, -/obj/machinery/atm/directional/north, -/obj/machinery/vending/modularpc, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"xwq" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 5 +"xwc" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/firealarm/directional/north, +/obj/machinery/vending/mechcomp, /turf/open/floor/iron, /area/station/engineering/main) -"xwx" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/atmospherics/pipe/smart/simple/violet/visible, +"xwd" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/west{ + name = "Brig Entrance Desk"; + req_access = list("security") + }, +/obj/machinery/door/window/right/directional/east{ + name = "Brig Entrance Desk" + }, +/obj/machinery/door/poddoor/shutters{ + id = "brig_post"; + name = "Security Shutters"; + dir = 4 + }, +/obj/structure/desk_bell{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/structure/cable, /turf/open/floor/iron/dark, -/area/station/science/ordnance) -"xwK" = ( -/obj/effect/turf_decal/stripes/line{ +/area/station/security/brig/entrance) +"xwA" = ( +/obj/machinery/light/directional/east, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/commons/fitness/recreation) +"xwP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/simple/violet/visible, -/obj/machinery/button/door/directional/west{ - id = "ord_freezer_bolt"; - name = "Ordnance Freezer Chamber Bolt Control"; - req_access = list("ordnance"); - pixel_y = 5; - specialfunctions = 4; - normaldoorcontrol = 1 +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 6; + pixel_x = -6 }, -/obj/machinery/button/door/directional/west{ - id = "ord_freezer_vent"; - name = "Ordnance Freezer Chamber Vent Control"; - req_access = list("ordnance"); - pixel_y = -5 +/obj/item/storage/box/lights/mixed{ + pixel_y = 6; + pixel_x = 6 }, -/obj/machinery/door/airlock/research/glass{ - name = "Freeze Chamber Interior Airlock"; - id_tag = "ord_freezer_bolt" +/obj/item/lightreplacer{ + pixel_y = 10 }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/engine, -/area/station/science/ordnance/freezerchamber) +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/storage_shared) "xxe" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -70133,18 +70003,17 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) +"xxL" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/virology) "xxP" = ( /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/hallway/secondary/entry) -"xxX" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "xyi" = ( /obj/machinery/drone_dispenser/preloaded, /turf/open/floor/plating, @@ -70161,21 +70030,12 @@ dir = 6 }, /area/station/service/hydroponics) -"xyv" = ( -/turf/closed/wall, -/area/station/cargo/drone_bay) -"xyw" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/closet/firecloset{ - anchored = 1 - }, -/obj/effect/landmark/start/hangover/closet, +"xyn" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/item/kirbyplants/random, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) +/area/station/hallway/primary/aft) "xyD" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -70195,6 +70055,24 @@ /obj/effect/landmark/navigate_destination/research, /turf/open/floor/iron/white/textured, /area/station/science/research) +"xyE" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/corner, +/obj/machinery/camera/autoname/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) +"xyI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/security/prison/rec) "xyN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -70206,26 +70084,12 @@ /obj/item/storage/box/disks_nanite, /turf/open/floor/iron/white, /area/station/science/research) -"xyU" = ( -/obj/structure/window/spawner/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/engineering/break_room) "xyY" = ( /obj/structure/sign/departments/restroom/directional/west, /turf/open/floor/iron/dark/side{ dir = 8 }, /area/station/commons/dorms) -"xzd" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/machinery/light/directional/south, -/obj/machinery/atm/directional/south, -/obj/structure/chair/sofa/bench{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "xzf" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port Mix to Waste"; @@ -70233,21 +70097,14 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"xzm" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Security - Courtroom Southwest"; - name = "security camera" - }, +"xzi" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, /obj/item/radio/intercom/directional/south, -/obj/structure/railing{ - dir = 4 +/obj/machinery/computer/operating{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/courtroom) +/turf/open/floor/iron/white, +/area/station/medical/surgery) "xzs" = ( /obj/machinery/rnd/server, /turf/open/floor/circuit/telecomms/server, @@ -70256,22 +70113,40 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/recharge_floor, /area/station/maintenance/department/electrical) +"xzx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "xzC" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"xzD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -8 + }, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"xzI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xzK" = ( /obj/effect/spawner/random/structure/table, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science) -"xzN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "xzX" = ( /obj/structure/chair{ dir = 8 @@ -70304,20 +70179,27 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"xAp" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/button/door/directional/west{ + id = "kitchen_sec_shutters"; + name = "Kitchen Shutters Control"; + req_access = list("kitchen") + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "xAx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/security/prison) -"xAB" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ - dir = 1 +"xAD" = ( +/obj/structure/chair/sofa/left/maroon{ + dir = 4 }, -/obj/effect/turf_decal/trimline/dark_blue/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/dark, -/area/station/hallway/primary/central) +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "xAL" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 8 @@ -70328,23 +70210,65 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/genetics/cloning) +"xAN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table/wood, +/obj/item/storage/dice, +/turf/open/floor/wood, +/area/station/security/prison/rec) "xAQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/service/hydroponics) +"xAS" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) "xAT" = ( -/obj/machinery/light/directional/east, -/obj/structure/chair/plastic{ +/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 = 8 }, -/turf/open/floor/wood, -/area/station/security/prison/rec) +/obj/effect/mapping_helpers/mail_sorting/supply/qm_office, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/port) "xBa" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Break Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/white/textured, +/area/station/medical/break_room) +"xBw" = ( +/obj/effect/landmark/start/atmospheric_technician, +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "xBB" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -70361,6 +70285,23 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) +"xBC" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/structure/table, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -9 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "xBK" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -70371,32 +70312,11 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/starboard) -"xBN" = ( -/obj/effect/turf_decal/tile/green/half/contrasted, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) -"xBX" = ( -/obj/structure/table/reinforced, -/obj/item/computer_disk/atmos{ - pixel_y = 6; - pixel_x = 4 - }, -/obj/item/toy/figure/ce{ - pixel_y = 12; - pixel_x = -8 - }, -/obj/item/storage/fancy/cigarettes/cigars, -/obj/item/lighter{ - pixel_y = -6 +"xBY" = ( +/turf/open/floor/iron/dark/corner{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) +/area/station/hallway/secondary/exit/departure_lounge) "xCa" = ( /obj/structure/table, /obj/item/stack/cable_coil, @@ -70406,12 +70326,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"xCc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security/brig) "xCd" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -70426,34 +70340,25 @@ dir = 5 }, /area/station/service/hydroponics) -"xCk" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/firealarm/directional/south, -/obj/structure/sign/departments/maint/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/aft) -"xCo" = ( -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/shower) -"xCt" = ( -/obj/machinery/light/directional/west, -/obj/machinery/newscaster/directional/west, +"xCg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"xCj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"xCz" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ +/area/station/service/library) +"xCE" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 }, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/effect/turf_decal/trimline/green/line{ + dir = 4 }, -/area/station/security/interrogation) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "xCP" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -70465,28 +70370,55 @@ /obj/machinery/atmospherics/components/binary/pump{ name = "Air to Port Mix" }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"xDr" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/computer/records/medical{ - dir = 1 +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"xDp" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/newscaster/directional/south, +/obj/structure/table, +/obj/item/folder/yellow{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/folder/yellow{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/folder/yellow{ + pixel_x = 3 + }, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"xDy" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 + }, +/obj/structure/table, +/obj/item/disk/tech_disk{ + pixel_x = -4 + }, +/obj/item/disk/tech_disk, +/obj/item/clothing/glasses/welding{ + pixel_y = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"xDH" = ( -/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, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"xDM" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/prison) +/obj/item/toy/figure/scientist{ + pixel_x = 9 + }, +/turf/open/floor/iron/white, +/area/station/science/lab) +"xDz" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) "xEe" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70497,21 +70429,21 @@ dir = 1 }, /area/station/service/chapel) +"xEr" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/dark/side, +/area/station/service/hydroponics) "xEu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) -"xEx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/decal/cleanable/dirt, -/obj/item/weldingtool/mini/empty, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "xEA" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 4 @@ -70520,6 +70452,10 @@ dir = 8 }, /area/station/service/hydroponics) +"xEH" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/entry) "xEJ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -70530,26 +70466,12 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) -"xEM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "xEV" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, /turf/open/floor/iron/white, /area/station/science/research) -"xEZ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/virology) "xFe" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -70560,28 +70482,23 @@ /obj/structure/sign/poster/official/cleanliness/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"xFj" = ( -/turf/open/floor/iron/dark/corner{ +"xFh" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/area/station/commons/fitness/recreation) -"xFo" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer2{ - dir = 9 +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden/layer4{ - dir = 9 +/obj/structure/disposalpipe/segment{ + dir = 5 }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) +"xFj" = ( /turf/open/floor/iron/dark/corner{ - dir = 1 + dir = 8 }, -/area/station/hallway/primary/aft) +/area/station/commons/fitness/recreation) "xFr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70591,6 +70508,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) +"xFF" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "xFH" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -70605,6 +70527,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel) +"xFV" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/door_buttons/airlock_controller{ + idExterior = "pathology_airlock_exterior"; + idInterior = "pathology_airlock_interior"; + idSelf = "pathology_airlock_control"; + name = "Pathology Access Console"; + pixel_y = 24; + req_access = list("pathology"); + pixel_x = 6 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"xFY" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/exam_room) "xGa" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -70627,84 +70572,100 @@ dir = 8 }, /area/station/service/hydroponics/garden) +"xGw" = ( +/obj/machinery/camera/autoname/directional/west, +/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/showroomfloor, +/area/station/science/research) "xGy" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/science/ordnance) -"xGG" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/cargo/storage) -"xGH" = ( -/obj/effect/turf_decal/box, -/obj/structure/sign/warning/no_smoking/directional/south, -/obj/machinery/holopad, -/turf/open/floor/iron/large, -/area/station/maintenance/department/science) -"xGN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"xGB" = ( +/obj/structure/bed{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Courtroom" - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/courtroom) -"xGV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/item/bedsheet/medical{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Art Gallery" - }, -/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, -/area/station/service/library/artgallery) +/turf/open/floor/iron/white, +/area/station/medical/virology) +"xGG" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/cargo/storage) "xHf" = ( /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/engineering/atmos/storage) -"xHh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/maintenance/department/science) +"xHi" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/item/stack/cable_coil, +/turf/open/space/basic, +/area/station/solars/port/aft) +"xHm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/spawner/random/engineering/toolbox, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "xHp" = ( /obj/machinery/atmospherics/pipe/smart/simple/brown/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"xHq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "xHx" = ( /obj/structure/lattice, /obj/structure/sign/warning/radiation/directional/west, /turf/open/space/basic, /area/space/nearstation) -"xHL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"xHC" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/defibrillator_mount/directional/south, +/obj/machinery/iv_drip, +/obj/item/reagent_containers/blood, +/turf/open/floor/iron/white, +/area/station/security/medical) +"xHE" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 5 }, -/obj/structure/cable, -/obj/machinery/modular_computer/preset/id{ - dir = 1 +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/obj/machinery/light_switch/directional/east{ + pixel_y = -5 + }, +/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, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"xHH" = ( +/obj/structure/chair/office/light, +/obj/effect/landmark/start/chemist, +/turf/open/floor/iron/white/textured, +/area/station/medical/pharmacy) "xHM" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -70722,6 +70683,14 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xHQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/table/wood, +/obj/effect/spawner/random/entertainment/plushie, +/turf/open/floor/wood, +/area/station/security/prison/rec) "xHX" = ( /obj/machinery/power/tracker, /obj/structure/cable, @@ -70734,17 +70703,61 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"xIo" = ( -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"xIp" = ( -/obj/effect/turf_decal/tile/dark_blue/fourcorners, -/obj/effect/turf_decal/bot_white, -/obj/item/radio/intercom/directional/west, -/obj/machinery/computer/gateway_control, +"xIj" = ( +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/turf/open/floor/carpet/blue, +/area/station/command/heads_quarters/cmo) +"xIm" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "cmo_office_shutters"; + name = "CMO's Office Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) +"xIn" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -5 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -5 + }, +/obj/item/toy/figure/secofficer{ + pixel_y = 3; + pixel_x = 7 + }, /turf/open/floor/iron/dark, -/area/station/command/gateway) +/area/station/security/office) +"xIw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/structure/table, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = -9; + pixel_y = 18 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_y = 18 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 9; + pixel_y = 18 + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/engineering/storage_shared) "xIz" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -70752,18 +70765,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"xIH" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood/tile, -/area/station/service/chapel/office) -"xIL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "qm_office_shutters"; - name = "QM's Office Shutters" +"xIM" = ( +/obj/machinery/modular_computer/preset/id{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "xIP" = ( /obj/structure/closet/crate/internals, /obj/effect/spawner/random/maintenance, @@ -70784,6 +70791,10 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/prison) +"xJf" = ( +/obj/machinery/light/floor/has_bulb, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/processing) "xJE" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -70798,28 +70809,21 @@ }, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) -"xJJ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "xJK" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/commons/dorms) -"xJR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) +"xJV" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/green/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "xJY" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 10 @@ -70844,14 +70848,6 @@ /obj/structure/sign/warning/rad_shelter/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison) -"xKR" = ( -/obj/effect/landmark/start/hangover, -/turf/open/floor/glass/reinforced, -/area/station/commons/fitness/recreation) -"xKS" = ( -/obj/item/toy/basketball, -/turf/open/floor/glass/reinforced, -/area/station/security/prison/workout) "xKT" = ( /obj/effect/turf_decal/tile/neutral/anticorner{ dir = 1 @@ -70860,16 +70856,11 @@ /obj/effect/turf_decal/bot_white/right, /turf/open/floor/iron/dark/smooth_corner, /area/station/engineering/gravity_generator) -"xKX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/exam_room) -"xLc" = ( -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"xLe" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "xLi" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -70878,15 +70869,27 @@ /obj/machinery/light/floor/has_bulb, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"xLn" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) +"xLx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/tank_holder, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "xLy" = ( /obj/effect/turf_decal/box, /obj/machinery/portable_atmospherics/scrubber/huge, /turf/open/floor/engine, /area/station/science/ordnance/storage) +"xLB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/sand/plating, +/obj/structure/door_assembly/door_assembly_mai{ + anchored = 1 + }, +/turf/open/floor/plating/airless, +/area/station/asteroid) "xLD" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -70903,30 +70906,27 @@ dir = 1 }, /area/station/cargo/lobby) -"xLP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain) "xMb" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/delivery, /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"xMu" = ( +"xMg" = ( /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/side{ - dir = 4 +/obj/machinery/door/airlock/maintenance{ + name = "Funeral Parlor Maintenance" }, -/area/station/engineering/atmos/office) +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/service/chapel/funeral) +"xMx" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "xMz" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -70938,16 +70938,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"xMO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "dep_med_post"; - name = "Medical Post Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/treatment_center) "xNb" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -70957,15 +70947,17 @@ dir = 8 }, /area/station/service/chapel) -"xNd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "arrivals_security_checkpoint"; - name = "Security Checkpoint Shutters" +"xNg" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/camera/directional/east{ + c_tag = "Command - CMO's Office"; + network = list("ss13","medbay"); + name = "command camera" }, -/turf/open/floor/plating, -/area/station/security/checkpoint/customs/auxiliary) +/turf/open/floor/iron/checker{ + dir = 1 + }, +/area/station/command/heads_quarters/cmo) "xNj" = ( /obj/machinery/camera/directional/east{ c_tag = "Engineering - Atmospherics, External HFR Room, East"; @@ -70974,23 +70966,39 @@ /obj/structure/closet/radiation, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"xNu" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/science) -"xNz" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 6 +"xNk" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 }, -/obj/machinery/firealarm/directional/south{ - pixel_x = -5 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/table, +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_x = -6; + pixel_y = 10 }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_x = -6; + pixel_y = 6 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +/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 = 6 + }, +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/pill_bottle/mannitol, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_y = -4 + }, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "xNF" = ( /obj/machinery/airalarm/directional/east, /obj/structure/chair/sofa/left/maroon{ @@ -71009,23 +71017,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"xNK" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/engineering/break_room) -"xNS" = ( -/obj/machinery/digital_clock/directional/east, -/obj/machinery/computer/security{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/blueshield) "xNW" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -71035,51 +71026,49 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"xOa" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/structure/table/reinforced/rglass, -/obj/machinery/reagentgrinder{ - pixel_y = 8 - }, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = -6; - pixel_y = 6 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "xOf" = ( /obj/effect/spawner/random/entertainment/arcade{ dir = 4 }, /turf/open/floor/wood, /area/station/security/prison/rec) -"xOq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"xOy" = ( +"xOm" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/structure/reagent_dispensers/wall/virusfood/directional/south, +/obj/machinery/disease2/diseaseanalyser, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"xOr" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/photocopier, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) -"xOH" = ( -/turf/closed/wall/r_wall, -/area/station/maintenance/department/engineering/central) -"xOK" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/area/station/engineering/break_room) +"xOv" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"xOz" = ( +/obj/machinery/light/directional/west, +/obj/structure/bed/double{ + dir = 4 + }, +/obj/item/bedsheet/dorms_double{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/commons/dorms/room5) "xOV" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -71090,11 +71079,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"xOY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary/uncommon, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"xPc" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/courtroom) "xPw" = ( /obj/structure/table/wood, /obj/effect/spawner/random/food_or_drink/refreshing_beverage{ @@ -71107,22 +71097,13 @@ }, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) -"xPz" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ +"xPC" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 }, -/obj/machinery/camera/directional/north{ - c_tag = "Medical - Pathology, Lab, Secondary"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/structure/sink/directional/south, +/obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, -/area/station/medical/virology) -"xPP" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/storage) +/area/station/medical/chemistry) "xPS" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 4 @@ -71132,49 +71113,14 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/circuits) -"xQr" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/warning, -/obj/structure/disposalpipe/junction/flip, +"xQF" = ( /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/hallway/primary/central) -"xQC" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Medical - Pathology, Isolation, Cell 1"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/structure/table, +/obj/structure/disposalpipe/junction, +/obj/machinery/duct, /turf/open/floor/iron/white, -/area/station/medical/virology) -"xQF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Apothecary" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"xQX" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/line, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +/area/station/science/research) "xRh" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71230,6 +71176,30 @@ /obj/effect/landmark/navigate_destination/vault, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/command/nuke_storage) +"xRB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/atmos/glass{ + name = "Distribution Loop" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/atmos/pumproom) +"xRD" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "xRJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71244,58 +71214,63 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"xRP" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 4 + }, +/obj/structure/table, +/obj/item/restraints/handcuffs, +/obj/item/restraints/handcuffs{ + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/security/brig) +"xRU" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "xRW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/effect/turf_decal/tile/purple/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/side{ - dir = 1 +/obj/machinery/button/door/directional/east{ + id = "rad_shutters"; + name = "RaD Desk Shutters Control"; + req_access = list("science") }, -/area/station/engineering/break_room) +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/iron/checker, +/area/station/science/lab) +"xSe" = ( +/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/catwalk_floor, +/area/station/maintenance/starboard/aft) "xSh" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/small/directional/south, /obj/machinery/dna_infuser, /turf/open/floor/iron/white, /area/station/science/genetics) -"xSj" = ( -/obj/machinery/light/directional/north, -/obj/machinery/button/door/directional/north{ - id = "heads_meeting"; - name = "Meeting Room Shutters Control"; - req_access = list("command") - }, -/turf/open/floor/wood, -/area/station/command/meeting_room) "xSp" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "pathology_airlock_exterior"; - idInterior = "pathology_airlock_interior"; - idSelf = "pathology_airlock_control"; - name = "Pathology Access Console"; - pixel_y = 24; - req_access = list("pathology"); - pixel_x = 6 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"xSq" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/box/beakers, -/obj/item/storage/box/syringes{ - pixel_x = 4; - pixel_y = 4 +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/window/brigdoor/left/directional/south{ + name = "Security Checkpoint Desk"; + req_access = list("security") }, -/turf/open/floor/iron/white, -/area/station/medical/storage) +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/escape) "xSs" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -71324,45 +71299,37 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xSA" = ( -/obj/effect/spawner/structure/window/reinforced, +"xSw" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Waste In" + }, /obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "hos_office"; - name = "HoS Office Shutters"; - dir = 8 +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) +"xSy" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hos) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/aft) "xSJ" = ( /obj/machinery/airalarm/directional/west, /obj/structure/chair/stool/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"xSM" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/requests_console/directional/south{ - department = "Cargo Bay"; - name = "Cargo Bay Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/conveyor_switch/oneway{ - id = "package_sort_2" - }, -/turf/open/floor/iron/dark/side{ - dir = 10 +"xSQ" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 }, -/area/station/cargo/sorting) -"xSV" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/checker, -/area/station/commons/dorms/laundry) +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "xTb" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -71375,14 +71342,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"xTe" = ( -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/no_smoking/directional/north, -/obj/structure/cable, -/obj/structure/closet/radiation, -/obj/effect/decal/cleanable/dirt, +"xTt" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -5 + }, /turf/open/floor/iron/dark, -/area/station/maintenance/disposal/incinerator) +/area/station/security/checkpoint/customs/auxiliary) "xTF" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 @@ -71393,36 +71362,38 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"xTL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/gary, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"xTP" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) +"xTN" = ( +/obj/structure/mirror/directional/east, +/obj/structure/sink/directional/west, +/turf/open/floor/wood, +/area/station/service/bar/backroom) "xTT" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/autoname/directional/south, /obj/machinery/duct, /turf/open/floor/wood, /area/station/security/prison/safe) -"xTW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, +"xUe" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "N2O Outlet Pump" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"xUl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) -"xUa" = ( -/turf/closed/wall, -/area/station/maintenance/department/engine) +/area/station/maintenance/department/science/xenobiology) +"xUo" = ( +/obj/machinery/exodrone_launcher, +/obj/item/exodrone, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "xUs" = ( /obj/structure/closet/secure_closet/freezer/kitchen{ req_access = null @@ -71436,16 +71407,6 @@ /obj/item/food/grown/onion, /turf/open/floor/iron/kitchen, /area/station/security/prison/mess) -"xUt" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/computer/records/security{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "xUB" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 9 @@ -71455,17 +71416,38 @@ /obj/structure/sign/departments/maint/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"xUC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/machinery/light/small/directional/west, +"xUE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "engineering"; + name = "Engineering Blast Door" + }, +/obj/machinery/door/poddoor/shutters{ + id = "ce_office_shutters"; + name = "CE's Office Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/ce) +"xUI" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/rack, +/obj/item/storage/belt/utility, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/clothing/gloves/color/fyellow, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) -"xUG" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/area/station/commons/storage/primary) +"xUN" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/space_heater, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security/brig) "xUO" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -71474,6 +71456,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"xUS" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "xUY" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/line{ @@ -71490,32 +71481,30 @@ "xVa" = ( /turf/closed/wall, /area/station/service/kitchen/coldroom) -"xVi" = ( +"xVx" = ( /obj/effect/turf_decal/stripes/line{ - dir = 6 + dir = 8 }, -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/east, -/obj/machinery/chem_heater/withbuffer, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) -"xVj" = ( -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/main) +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "xVA" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"xVB" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +"xVC" = ( +/obj/machinery/light/directional/west, +/obj/machinery/station_map/directional/west, +/turf/open/floor/iron/dark/side{ + 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/checker, -/area/station/commons/dorms/laundry) +/area/station/commons/dorms) "xVH" = ( /obj/machinery/light/small/directional/north, /obj/structure/cable, @@ -71524,17 +71513,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"xVV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/door/window/left/directional/east, -/turf/open/floor/iron/dark/textured, -/area/station/service/abandoned_gambling_den) "xVW" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -71596,32 +71574,10 @@ }, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness/recreation) -"xWq" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/box/syringes{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/beakers, -/obj/item/storage/box/tube{ - pixel_y = -3; - pixel_x = -3 - }, -/obj/item/storage/box/monkeycubes/mousecubes, -/obj/item/storage/box/monkeycubes/mousecubes{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/reagent_containers/syringe/antiviral, -/obj/item/reagent_containers/dropper{ - pixel_y = -4 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +"xWp" = ( +/obj/item/seeds/banana, +/turf/open/floor/grass, +/area/station/hallway/primary/central) "xWu" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -71642,46 +71598,63 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/command/storage/eva) -"xWv" = ( -/obj/effect/turf_decal/box, +"xWN" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/sign/flag/nanotrasen/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, /obj/structure/cable, -/obj/machinery/holopad, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/large, -/area/station/commons/storage/primary) -"xWy" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"xWS" = ( -/obj/effect/mapping_helpers/broken_floor, +/obj/structure/filingcabinet, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"xXc" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/duct, -/turf/open/floor/carpet/orange, -/area/station/security/prison/safe) +/area/station/command/heads_quarters/hop) +"xWP" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/structure/chair/sofa/bench/right{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"xWU" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/glass/coffee{ + pixel_x = -9; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/coffee{ + pixel_x = 9; + pixel_y = 3 + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) +"xXb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/turf/open/floor/iron/dark/corner, +/area/station/command/heads_quarters/ce) +"xXd" = ( +/turf/closed/wall, +/area/station/medical/storage) "xXh" = ( /obj/machinery/door/window/left/directional/east{ name = "Fitness Ring" }, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"xXk" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 +"xXu" = ( +/obj/structure/table/reinforced, +/obj/structure/cable, +/obj/machinery/door/window/left/directional/south{ + name = "Reception Desk" }, -/obj/structure/chair, -/turf/open/floor/iron/white, -/area/station/science/research) -"xXt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hop) +/obj/machinery/door/window/brigdoor/left/directional/north{ + name = "Reception Desk"; + req_access = list("armory") + }, +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) "xXB" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/light, @@ -71693,6 +71666,27 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"xXD" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/firealarm/directional/west, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"xXJ" = ( +/obj/machinery/firealarm/directional/north{ + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "xXN" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -71702,56 +71696,28 @@ /obj/item/wrench, /obj/item/tank/internals/oxygen, /turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/atmos) -"xXP" = ( -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"xYe" = ( -/obj/machinery/shower/directional/south, -/obj/structure/drain, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/exam_room) -"xYi" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/chapel/funeral) -"xYl" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = 5 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, -/obj/structure/table/wood, -/obj/item/folder{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/folder, -/obj/item/folder{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/pen, -/turf/open/floor/iron/vaporwave, -/area/station/service/library/printer) -"xYn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/area/station/ai_monitored/turret_protected/aisat/atmos) +"xXP" = ( +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"xYa" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_blue/line, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"xYi" = ( +/obj/effect/spawner/structure/window, /turf/open/floor/plating, -/area/station/maintenance/department/engine) -"xYr" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/effect/turf_decal/bot, -/obj/effect/landmark/secequipment, -/obj/structure/cable, +/area/station/service/chapel/funeral) +"xYj" = ( +/obj/machinery/light/directional/east, /turf/open/floor/iron/dark, -/area/station/security/lockers) +/area/station/security/prison/workout) "xYt" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, @@ -71759,6 +71725,25 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"xYz" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"xYD" = ( +/obj/structure/noticeboard/directional/west, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/blue, +/obj/item/pen, +/obj/item/hand_labeler{ + pixel_y = -12 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) "xYE" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 8 @@ -71768,16 +71753,13 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/starboard) -"xYV" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/line{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +"xYF" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"xYG" = ( +/turf/closed/wall, +/area/station/maintenance/department/engineering/central) "xZd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/table_or_rack, @@ -71796,22 +71778,6 @@ dir = 10 }, /area/station/commons/fitness/recreation) -"xZo" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/airalarm/directional/south, -/obj/machinery/computer/quantum_console{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/bitden) -"xZp" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/west, -/obj/structure/closet/secure_closet/security/med/blueshirt, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "xZt" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /obj/machinery/light/small/directional/east, @@ -71822,42 +71788,10 @@ /obj/item/pipe_dispenser, /turf/open/floor/iron/dark, /area/station/construction/mining/aux_base) -"xZB" = ( -/obj/structure/chair/wood, -/turf/open/floor/carpet/green, -/area/station/commons/vacant_room/office) -"xZD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/captain, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"xZG" = ( -/obj/structure/table/wood, -/obj/item/camera_film{ - pixel_x = -4; - pixel_y = 4 - }, -/turf/open/floor/carpet/green, -/area/station/commons/vacant_room/office) -"xZK" = ( -/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=EVA"; - location = "Security" - }, +"xZJ" = ( +/obj/structure/bodycontainer/morgue, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/area/station/medical/morgue) "xZO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -71872,38 +71806,57 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"xZR" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +"yaj" = ( +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/starboard) +"yar" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/chem_dispenser/drinks{ + dir = 1 + }, +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) +"yaH" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 }, +/obj/effect/turf_decal/trimline/dark_blue/warning, +/obj/structure/disposalpipe/junction/flip, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology/glass{ - name = "Isolation 1" +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"yaI" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/turf/open/floor/iron/white/textured, -/area/station/medical/virology) -"xZX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/table, +/obj/item/hand_labeler{ + pixel_y = 8 }, -/obj/machinery/button/door/directional/south{ - id = "chem_factory_shutters"; - req_access = list("pharmacy") +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"yaj" = ( -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 +/area/station/cargo/sorting) +"yaK" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 }, -/obj/effect/turf_decal/trimline/green/filled/line, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/starboard) +/obj/item/radio/intercom/directional/east, +/obj/structure/table, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/storage/bag/plants/portaseeder, +/turf/open/floor/iron/dark/side{ + dir = 6 + }, +/area/station/service/hydroponics/garden) "yaL" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 @@ -71912,15 +71865,15 @@ dir = 4 }, /area/station/service/hydroponics) -"yaQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/machinery/rnd/production/circuit_imprinter, -/turf/open/floor/iron/dark/side{ - dir = 5 +"yaU" = ( +/obj/machinery/duct, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 1 }, -/area/station/engineering/break_room) +/turf/open/floor/iron/kitchen, +/area/station/security/prison/mess) "yaX" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -71945,63 +71898,72 @@ "ybj" = ( /turf/closed/wall/r_wall, /area/station/security/prison) -"ybk" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ +"ybn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark/side{ +/obj/effect/turf_decal/sand/plating, +/obj/machinery/door/airlock/external{ + name = "External Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, -/area/station/cargo/office) -"ybm" = ( -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood, -/area/station/security/prison/rec) -"ybw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/station_map/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/department/science) +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"ybx" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Service - Custodial Closet"; + name = "service camera" + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clipboard{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/toy/figure/janitor{ + pixel_x = 9 + }, +/turf/open/floor/iron/dark, +/area/station/service/janitor) "ybA" = ( /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/science/ordnance) -"ybH" = ( -/obj/machinery/light/directional/west, -/obj/structure/bed/double{ +"ybT" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/bedsheet/dorms_double{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms/room2) -"ybU" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/dark_blue/filled/end, -/obj/machinery/camera/directional/east{ - c_tag = "Engineering - Tech Storage, Secure"; - name = "engineering camera" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) -"ycc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/storage) -"yce" = ( +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) +"ybY" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/space_heater, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/port/fore) +"yce" = ( /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/maintenance/port) "ycf" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -72022,18 +71984,34 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) "ych" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/commons/fitness/recreation) +"ycl" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/airalarm/directional/east, +/obj/machinery/vending/wardrobe/engi_wardrobe, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/engineering/storage_shared) "ycu" = ( /obj/effect/turf_decal/bot, /obj/machinery/suit_storage_unit/engine, /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/engineering/main) +"ycw" = ( +/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, +/turf/open/floor/catwalk_floor/iron, +/area/station/maintenance/starboard/aft) "ycx" = ( /obj/machinery/light/small/directional/north, /obj/effect/mapping_helpers/burnt_floor, @@ -72047,16 +72025,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"ycz" = ( -/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/maintenance{ - name = "Atmospherics Office Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/office) "ycA" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -72073,55 +72041,42 @@ /obj/structure/sign/warning/radiation/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"ycJ" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Medical - Chemistry Factory, North"; - name = "medical camera"; - network = list("ss13","medbay") - }, -/obj/machinery/button/door/directional/north{ - id = "chem_factory_shutters"; - req_access = list("pharmacy") +"ycZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"ycL" = ( -/obj/machinery/computer/atmos_alert, -/turf/open/floor/iron, -/area/station/engineering/main) -"yda" = ( -/obj/structure/showcase/cyborg/old{ - dir = 8; - pixel_x = 9; - pixel_y = 2 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/maintenance/starboard/aft) -"ydo" = ( -/obj/machinery/door/window/left/directional/west{ - name = "Fitness Ring" +/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, -/area/station/commons/fitness/recreation) +/turf/open/floor/plating, +/area/station/maintenance/port) +"ydd" = ( +/turf/open/floor/carpet/blue, +/area/station/commons/vacant_room/office) "ydv" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"ydz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"ydA" = ( +/obj/effect/turf_decal/tile/orange/fourcorners, +/obj/structure/window/reinforced/tinted, +/obj/structure/toilet{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/office) -"ydB" = ( -/mob/living/basic/goat/pete, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/turf/open/floor/iron/dark, +/area/station/security/prison/safe) +"ydD" = ( +/obj/machinery/telecomms/server/presets/supply, +/turf/open/floor/circuit/green/telecomms, +/area/station/tcommsat/server) "ydN" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 8 @@ -72133,21 +72088,11 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) -"yeg" = ( -/obj/structure/chair/office/light, -/obj/effect/landmark/start/chemist, -/turf/open/floor/iron/white/textured, -/area/station/medical/pharmacy) "yen" = ( /obj/machinery/airalarm/directional/south, /obj/structure/closet/emcloset/anchored, /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/department/security) -"yeo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "yeu" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -72165,46 +72110,78 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"yeR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/aft) "yeV" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"yfi" = ( -/obj/structure/closet/wardrobe/pjs, -/obj/effect/landmark/start/hangover/closet, -/turf/open/floor/iron/dark/side{ - dir = 6 +"yfk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/area/station/commons/dorms) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/button/door/directional/south{ + id = "prison_release"; + name = "Labor Camp Shuttle Lockdown"; + req_access = list("security"); + pixel_x = 6 + }, +/obj/machinery/button/door/directional/south{ + id = "labor_dock_bolt"; + name = "Labor Camp Shuttle Dock Airlock Control"; + req_access = list("security"); + pixel_x = -6 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "prison_release"; + name = "Prisoner Processing Blast Door" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Dock"; + id_tag = "labor_dock_bolt" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/iron/dark/textured, +/area/station/security/processing) "yft" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark/smooth_large, /area/station/command/gateway) -"yfG" = ( -/obj/effect/turf_decal/box, +"yfx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door_buttons/access_button{ + idDoor = "xeno_airlock_exterior"; + idSelf = "xeno_airlock_control"; + name = "Access Button"; + req_access = list("xenobiology"); + pixel_x = 26 + }, /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, -/obj/machinery/holopad, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/medbay/lobby) +/obj/machinery/duct, +/obj/structure/liquid_barrier, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + autoclose = 0; + frequency = 1449; + id_tag = "xeno_airlock_exterior"; + name = "Xenobiology Lab External Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/iron/white/textured, +/area/station/science/xenobiology/hallway) "yfL" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -72221,12 +72198,60 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"ygq" = ( -/obj/effect/turf_decal/tile/yellow/full, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/large, -/area/station/engineering/storage) +"yfP" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/machinery/button/door/directional/west{ + id = "teleporter_shutters"; + name = "Teleporter Room Shutters Control"; + pixel_y = 5; + req_access = list("command") + }, +/obj/machinery/button/door/directional/west{ + id = "eva_shutters"; + name = "EVA Storage Shutters Control"; + pixel_y = -5; + req_access = list("command") + }, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "bridge_windows"; + name = "Bridge View Blast doors"; + pixel_x = -6; + pixel_y = 8; + req_access = list("command") + }, +/obj/machinery/button/door{ + id = "bridge_blast_doors"; + name = "Bridge Access Blast doors"; + pixel_x = 6; + pixel_y = 8; + req_access = list("command") + }, +/obj/machinery/button/door{ + id = "bridge_exterior_blast_doors"; + name = "Bridge Exterior Access Blast doors"; + pixel_x = 6; + pixel_y = -2; + req_access = list("command") + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"yfR" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"ygr" = ( +/obj/machinery/power/floodlight, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "ygD" = ( /obj/machinery/suit_storage_unit/rd, /turf/open/floor/iron/showroomfloor, @@ -72235,6 +72260,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/cargo/warehouse) +"ygH" = ( +/obj/structure/punching_bag, +/turf/open/floor/iron/dark, +/area/station/security/prison/workout) "ygO" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/effect/turf_decal/trimline/blue/warning{ @@ -72243,16 +72272,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"ygY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "hos_office"; - name = "HoS Office Shutters"; - dir = 1 - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hos) "ygZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72261,12 +72280,16 @@ dir = 1 }, /area/station/commons/locker) -"yhc" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/item/radio/intercom/directional/south, -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/wood/tile, -/area/station/service/library/artgallery) +"yht" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/port) "yhv" = ( /obj/machinery/status_display/ai/directional/west, /obj/effect/turf_decal/tile/neutral/full, @@ -72329,6 +72352,12 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) +"yii" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "yio" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -72360,12 +72389,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"yiD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "yiI" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -72374,6 +72397,14 @@ /obj/machinery/dna_scannernew, /turf/open/floor/iron/white, /area/station/science/genetics/cloning) +"yiN" = ( +/obj/machinery/light/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/command/heads_quarters/blueshield) "yiR" = ( /turf/open/floor/iron/dark/side{ dir = 6 @@ -72384,16 +72415,6 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"yjo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/science/research) "yjA" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -72401,41 +72422,14 @@ /obj/structure/closet/secure_closet/evidence, /turf/open/floor/iron/dark, /area/station/security/evidence) -"yjH" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/sign/poster/official/space_cops/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Security - Post, Science"; - name = "security camera" - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_y = 5 - }, -/obj/item/folder/red{ - pixel_y = 7 - }, -/obj/item/pen{ - pixel_y = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/science) -"yjI" = ( -/obj/structure/table, -/obj/item/reagent_containers/pill/maintenance, -/obj/item/reagent_containers/pill/maintenance{ - pixel_y = 8; - pixel_x = 7 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"yjJ" = ( -/obj/effect/turf_decal/box/corners{ +"yjC" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot_white, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/machinery/plumbing/pill_press, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "yjL" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/corner, /obj/effect/turf_decal/trimline/dark_red/line{ @@ -72455,50 +72449,71 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/iron/dark, /area/station/security/office) -"ykx" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, -/turf/open/floor/iron/white, -/area/station/maintenance/port/fore) +"ykk" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/computer/robotics{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) +"ykw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "bitrunner_den"; + name = "Bitrunner Den Shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/security/bitden) +"ykH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/vaporwave, +/area/station/service/library/printer) +"ykL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "ykS" = ( /obj/machinery/research/anomaly_refinery, /turf/open/floor/iron, /area/station/science/ordnance) -"ylb" = ( -/obj/machinery/requests_console/directional/west{ - department = "Research Director's Desk"; - name = "Research Director's Requests Console" +"ylo" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/ore_update, -/turf/open/floor/carpet/purple, -/area/station/command/heads_quarters/rd) -"ylx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/carpet/blue, -/area/station/medical/psychology) -"yly" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"ylE" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 +/turf/open/floor/iron/dark/side{ + dir = 8 }, +/area/station/cargo/sorting) +"ylB" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/turf/closed/wall, +/area/station/medical/pharmacy) +"ylI" = ( +/obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/line{ - dir = 8 + dir = 1 }, -/obj/machinery/light/directional/east, +/obj/machinery/station_map/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"ylN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + 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/dark, -/area/station/security/office) +/area/station/engineering/storage/tech) "ylS" = ( /obj/effect/turf_decal/delivery, /obj/machinery/light/directional/south, @@ -72508,25 +72523,11 @@ }, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/service) -"ylV" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood, -/area/station/commons/dorms/room5) -"ymi" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Security - Brig Equipment Room"; - name = "security camera" - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/closet/bombcloset/security, -/turf/open/floor/iron/dark, -/area/station/security/lockers) +"ylX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) (1,1,1) = {" ksa @@ -78031,9 +78032,9 @@ ksa ksa ksa bYL -iLr -dRn -jlu +asy +gzi +dHV bYL oWe ksa @@ -78047,9 +78048,9 @@ ksa ksa our bYL -pyd -dRn -dEg +rvw +gzi +thc bYL uoo ksa @@ -78061,9 +78062,9 @@ ksa ksa uoo bYL -gWI -dRn -hvz +tJa +gzi +xDz bYL ksa ksa @@ -78545,9 +78546,9 @@ ksa ksa ksa uiu -bgJ +jwI rDW -dLF +sFZ uho uho uho @@ -78561,9 +78562,9 @@ ksa uho uho uho -tbw +jlC eJt -bSo +uhC uiu ksa ksa @@ -78575,7 +78576,7 @@ ksa ksa ksa uiu -edT +xyE rDW oZQ kfl @@ -78592,13 +78593,13 @@ kfl kfl kfl kfl -xyv -xyv -clf -clf -clf -xyv -xyv +dsy +dsy +erX +erX +erX +dsy +dsy ksa ksa ksa @@ -78806,7 +78807,7 @@ oDl dNu mQR qvz -vkg +oCH nwe ksa ksa @@ -78816,7 +78817,7 @@ ksa ksa ksa qvz -vkg +oCH nwe aHU dNu @@ -78837,7 +78838,7 @@ dNu lcU kfl mpz -tQg +vvD liV ltM wZF @@ -78849,13 +78850,13 @@ wZF wZF wZF wZF -xyv -fvV -fvV -fvV -fvV -fvV -xyv +dsy +tRR +tRR +tRR +tRR +tRR +dsy tgJ ucJ ksa @@ -79106,13 +79107,13 @@ wZF wZF wZF wZF -xyv -gxx -wxT -fvV -tyt -oAX -xyv +dsy +fqa +cEe +tRR +xUo +eCR +dsy ryp ucJ ucJ @@ -79319,7 +79320,7 @@ uiu kXx dNu qRH -urs +lir bHQ uiu ksa @@ -79330,8 +79331,8 @@ ksa ksa ksa uiu -kEL -coE +dPY +xVx oeU dNu tbO @@ -79363,13 +79364,13 @@ wZF wZF wZF wZF -xyv -fvV -fvV -fvV -fvV -fvV -xyv +dsy +tRR +tRR +tRR +tRR +tRR +dsy oHt fpa iiv @@ -79577,7 +79578,7 @@ xIz pRn mSx dNu -xyw +nsK uiu ksa ksa @@ -79606,7 +79607,7 @@ uiu kXx pHA wGf -veQ +gar mXM shX ntz @@ -79620,17 +79621,17 @@ wZF wZF wZF wZF -xyv -mbK -lJj -lJj -lJj -whN -xyv +dsy +cGV +fSq +fSq +fSq +qac +dsy ucJ cim ucJ -fOB +uVL fKp eot ucJ @@ -79844,7 +79845,7 @@ ksa ksa ksa uiu -goq +fzU dHj dNu pRn @@ -79863,7 +79864,7 @@ uiu kXx pRn wGf -veQ +gar mXM bFX uNX @@ -79877,19 +79878,19 @@ wZF wZF wZF wZF -xyv -eRQ -eGV -pzi -vPL -cgX -xyv +dsy +geS +sWM +uQO +nsW +vfo +dsy wXM pIS -gUS +oUU gjb ezp -lQw +sQx ucJ ksa ksa @@ -80091,7 +80092,7 @@ kXx pRn wMm rDe -ifT +iRY uiu ksa ksa @@ -80121,7 +80122,7 @@ kXx pRn bnB kfl -smB +kuG cXu ntz ltM @@ -80134,19 +80135,19 @@ wZF wZF wZF wZF -xyv -cox -tWy -pzi -tWy -cox -xyv +dsy +gKX +csi +uQO +csi +gKX +dsy suC pIS aKS hio meh -sWl +fEX ucJ ksa ksa @@ -80391,17 +80392,17 @@ wZF wZF wZF wZF -xyv -fby -tWy -dZz -sKs -qQe -xhj +dsy +vtb +csi +sNr +exK +fpi +sML iXY pIS ext -kni +oiZ kau jtU ucJ @@ -80601,11 +80602,11 @@ ksa ksa ksa uho -jkQ +lPC pRn mQR qvz -ins +nny nwe ksa ksa @@ -80615,11 +80616,11 @@ ksa ksa ksa qvz -ins +nny bLR aHU pRn -dsc +eMF uho ksa ksa @@ -80631,7 +80632,7 @@ xXP ksa ksa uho -rMM +qxL xxP tbO kfl @@ -80648,17 +80649,17 @@ wZF wZF wZF wZF -xyv -tRW -rwq -smr -tWy -muO -xyv +dsy +qIu +qSZ +pBx +csi +xDp +dsy mgd pIS kHP -ran +xtq quR sQF ucJ @@ -80905,19 +80906,19 @@ wZF wZF wZF wZF -xyv -jDX -vlq -afh -sMS -hxM -xyv +dsy +dJL +vgC +vSt +oNv +kJD +dsy dpc tdV gsj -kni +oiZ quR -ken +qHs ucJ ksa ksa @@ -81098,14 +81099,14 @@ ksa ksa ksa uho -qyd +wuF uiu njX -lBS +tpt kqu bHQ uiu -dbz +xEH uho ksa ksa @@ -81133,19 +81134,19 @@ uiu njX oeU pRn -hTV +hRf uho ksa uho uiu uho -eaV +rmD uho uiu uho ksa uho -sLa +mlm xxP feq cRp @@ -81165,7 +81166,7 @@ cRp cRp cRp cRp -wXA +dIw cRp cRp cRp @@ -81336,14 +81337,14 @@ ksa fPN whJ rxs -lBu +qYK fPN vqP -urk +rbn dPz bMC -dyv -gLW +idr +gcd dPz uof pun @@ -81357,7 +81358,7 @@ uho uho aPe uho -rlG +juO dNu dHj nwa @@ -81372,7 +81373,7 @@ uiu uiu uho uho -axF +iJS tUH ryw trZ @@ -81390,7 +81391,7 @@ uho esT tNG tUH -eyp +uLq uho uiu uho @@ -81398,7 +81399,7 @@ mVX uho qOX uho -fDb +smg uho uiu uho @@ -81406,12 +81407,12 @@ vPe xxP tbO cRp -qJc +vcQ hjd qVf xfW qVf -ePb +pUZ qVf xfW qVf @@ -81420,9 +81421,9 @@ qVf xfW qVf qVf -ePb -bKY -jdV +pUZ +cNX +eWb xMz tQD xIX @@ -81591,18 +81592,18 @@ uoo uoo uoo fPN -lBX +dCg coA hPN fPN -fBd -wUn -cVY +fMZ +jbl +ist bMC -xZB -xZG -cVY -eRY +vyH +dvC +ist +kzk pun exU bgK @@ -81650,7 +81651,7 @@ tUH uet ghp bgK -tcZ +igQ mzF nJN uMW @@ -81683,7 +81684,7 @@ jGs jGs jGs jGs -iYs +wxZ jGs jGs jGs @@ -81850,15 +81851,15 @@ ksa fPN hPN pLu -lnT +gNv fPN bho gRk -maX -nha -lYM -kkg -maX +lwe +qxS +jRI +veC +lwe lYe fHS bIb @@ -82109,42 +82110,42 @@ hPN rxs dhd fPN -cRQ +dkI dpZ -wLa +csR alv cXK cXK cfv -xmK +uqO pun pdz vRw qnR cUh -vfW -iGw +pmG +aVk qnR qnR ndl -eUO +fDd qnR -jee +xSQ qnR qnR qnR ndl qnR qnR -iGw -jee +aVk +xSQ cUh jUb vRw umz ghp qnR -wuE +ndu qnR pDR hen @@ -82160,7 +82161,7 @@ wjA vUa sQv sJJ -uqz +nSe jxF ghp fir @@ -82174,12 +82175,12 @@ jxF jxF jxF jxF -jgM +hQT lTP cRp -xqQ +ePR rdt -iQW +svh cRp gCP dTj @@ -82363,17 +82364,17 @@ cpz cpz nZL fPN -vnP +lEG fPN fPN tLs mEg lYe -jOc -qds +tjO +lKQ nyL ydv -nld +kdg fPN fPN fPN @@ -82408,9 +82409,9 @@ ngz tAb whI uho -kCD -geT -lNx +jHv +pEB +iWs uho whI miv @@ -82436,7 +82437,7 @@ ogY cRp cIV pLl -obt +wlb cRp cRp cRp @@ -82617,9 +82618,9 @@ oAe cpz qXm xSJ -tkE +klY nZL -aMo +vVb iQy hjI fPN @@ -82629,12 +82630,12 @@ lYe iSI mEg bMC -sQf -pGu +qtx +lZZ fPN vKc wfE -sNZ +jpG iHO bvR fPN @@ -82655,11 +82656,11 @@ wfE iHO jOZ fPN -gAI -pJW -aqj +uqV +lPO +ijH hsB -bbw +kxY uho oAK xxP @@ -82673,30 +82674,30 @@ cdz wjA xdT cLs -gQr -jPm -vbK +ajI +gSw +osF mbN -ivb -rRb -ybk -cee +byw +nMU +lmN +uPf vcD ogY -cSq +klV cvr sNl -nBb +rup loL eAS -sfz +cxQ cRp cRp -wCn +vTC cRp cRp eGm -whr +obZ gTH xtQ hzK @@ -82715,7 +82716,7 @@ ksa ksa cRp cRp -uJP +xim cRp cRp ksa @@ -82866,7 +82867,7 @@ fXE fXE fXE vYB -kRu +acm ahA tBD cRg @@ -82879,76 +82880,76 @@ kbD iHO iHO iHO -qgA +hnx lYe lYe lYe mEg mEg bMC -cla -lYB +ydd +gpe fPN qPR iHO iHO iHO iHO -fxI +mCO iHO iHO iHO -fxI +mCO iHO iHO iHO -fxI +mCO iHO iHO iHO -fxI +mCO iHO iHO iHO -suE +qkB fPN xPw qem -wFu -qzk -lZJ +cbI +lIb +qlT qAk xIz xxP jww vRV -ngM -rSY -jFn +eBa +mJc +nJP vRV yhG wjA -pWC +lZN cLs -qQT +qHc uBC uBC usv -dUt +fMu qZn csj prU -sNm +tCl ogY ogY ogY -cUz +fKc fpM -xSM +guv ogY ogY gJY -fJx +hTG eNW gEi oiB @@ -83129,7 +83130,7 @@ uoo cpz oAe cpz -ogg +ldp mCt aQt nZL @@ -83141,10 +83142,10 @@ uof qDp kkb dGT -cid +lIa bMC -kUB -gWL +rcs +rua fPN qPR iHO @@ -83181,7 +83182,7 @@ sNf vRV ams mgY -imH +xTt vRV jci wjA @@ -83191,21 +83192,21 @@ egK uBC uBC hYM -png +nQK jlN tvt ske -oYs +tTS ogY -vCB -bOS -blh +weJ +yaI +wJk vMT hxi -cpv -tkC +cpd +kDz gJY -cYe +rlC vaP aim nxh @@ -83391,7 +83392,7 @@ nZL nZL nZL fPN -cfC +rfG fPN fPN fPN @@ -83404,7 +83405,7 @@ fPN fPN fPN fPN -cfC +rfG fPN fPN fPN @@ -83421,7 +83422,7 @@ fPN fPN fPN fPN -iOZ +thR rSo iHO spv @@ -83434,35 +83435,35 @@ lLg fMt eOt xxP -gKP -fhw -ejt -ayh -rGN -fhw -rAT +dAv +sPM +boQ +eEV +kJZ +sPM +jPr wjA mle oHb -qQT +qHc iFy uBC usv -pXG +rna kRe tvt ske chD ogY -oSM -api +kQu +osr fzB iYF -aXJ +iCA ogY ogY gJY -hXv +fSa vaP nxh pin @@ -83667,24 +83668,24 @@ fPN mxu fdO uLJ -loe -ngX +hky +jyM fPN eyh tMt mNt -kdC +pvK oNL wvU -gHO +uQa fPN dhd fhe iHO vKc fPN -bRG -bbw +nOi +kxY lmw qem qem @@ -83692,32 +83693,32 @@ tJy wbe xxP sNf -nEU +lyZ ams -bEV +pWv lCf -xNd +nKi jci wjA mle oHb -qQT +qHc sui oMq iAi ucP -vhN +wrX tvt ske -cfl +bKx ogY -qUB +lIh woB mUM hJi wQE -cxp -jLR +ylo +gaR jat sAq vaP @@ -83902,7 +83903,7 @@ ksa fEP ksa nGn -pEQ +hIp wfE mlj iHO @@ -83925,7 +83926,7 @@ vBQ jKV ijP xVA -ykx +jbk fPN oNL oNL @@ -83933,14 +83934,14 @@ jiy oDQ oNL pAd -gHO +uQa fPN vKc iHO iHO eJq fPN -vUY +bXX qem qem qem @@ -83949,11 +83950,11 @@ qAk xIz xxP xeZ -mcd +azG ams -opR +sNV lCf -cUe +mYx wDM wjA dws @@ -83966,8 +83967,8 @@ udb eae fgW umi -qxK -vOS +ozI +ngT vjV nMW cVb @@ -84159,21 +84160,21 @@ ksa fEP ksa nGn -pEQ +hIp iaB lLW iHO iHO -fxI +mCO iHO iHO iHO iHO -fxI +mCO iHO iHO iHO -fxI +mCO iHO jef jiS @@ -84190,7 +84191,7 @@ mNt pAd bKL nai -gHO +uQa fPN vKc iHO @@ -84203,40 +84204,40 @@ bkM fAf dMC uho -rau +leS xxP kfe vRV -hPB -lQc +vPI +qcq kUJ vRV dxq wjA mle cLs -cjG +mMd dlH xrf iAi ucP -ikq +uXS fVI bMr buR ogY -lRp -hdS +jSD +eRI dpy sYV dpy -asT +onM fSw jat eMh qNW -nNM -jWQ +aIR +irJ aCG jTs pHr @@ -84256,7 +84257,7 @@ ksa ksa ksa hsC -hsc +rff cRl wnd hsC @@ -84447,10 +84448,10 @@ sVp pAd oNL pAd -gHO +uQa fPN fPN -cfC +rfG fPN fPN fPN @@ -84473,11 +84474,11 @@ wjA qhr cLs pCM -oND +dOW rsn rRd ucP -sWP +oPW rYM gTn lnp @@ -84524,7 +84525,7 @@ ksa ksa xXP wlX -tMu +xHi wlX xXP ksa @@ -84676,7 +84677,7 @@ fPN fPN fPN fPN -cfC +rfG fPN fPN fPN @@ -84704,7 +84705,7 @@ mQU tom oNL eSX -gHO +uQa fPN cwL mYW @@ -84715,14 +84716,14 @@ xGo hSz eFe cWn -wom +fEc jmh tnu xxP gxn wkj wkj -fon +cKN wkj wkj oBo @@ -84735,21 +84736,21 @@ bnl bnl bnl bnl -lGD +jqJ bnl bnl ddy -kkq -prl -snm +agM +tcV +aEy bKO -oIc +uMJ iIh vyC -iue -suW +eji +nqY boe -wAR +hqn qhu sTE jTs @@ -84928,11 +84929,11 @@ ksa fEP ksa fPN -dPU -wOS +rfq +jDF qYY fPN -iOZ +thR iHO nsB fPN @@ -84940,16 +84941,16 @@ klx mTj wZQ imo -sWE -wkK -pyZ +sSE +sfc +iBh sSA -esy -fWY +vUo +nqw imb -kQo -wkK -mWn +cfJ +sfc +pIu imo wZQ sSA @@ -84990,24 +84991,24 @@ fUs fUs fUs fUs -hLB +xel fUs tTR cdP wgX ddy -cew -mug -nns +awP +clo +xbA fET -eBR +xpg iIh oHG pHx pHx pHx xzC -xIL +awJ nki jTs gzQ @@ -85185,14 +85186,14 @@ ksa fEP uoo nGn -pGM -aDR +rRp +lkw yhT byj odN iHO iHO -aRM +gek qmK fCT fCT @@ -85220,10 +85221,10 @@ off off cMj fPN -nbP +kFv mYW uCh -arj +mfB goz bKP axZ @@ -85232,15 +85233,15 @@ qEk vzJ jmh rYz -fhd +jQj gNn aub hBe wjA anh -dOn +uyF gNn -fhd +jQj ufq bnl fyu @@ -85248,16 +85249,16 @@ rFC plt tei bnl -jLQ +hro tTR cLZ -eXV +sxU ddy -fmZ +bKe oJB -mVD +imZ fQY -mbE +sAk iIh prw avz @@ -85444,7 +85445,7 @@ ksa fPN vDJ kKV -sjF +waR fPN wnn iHO @@ -85455,14 +85456,14 @@ ldX fHK mbV frx -jkJ +cZA jaQ fHK fHK fHK fHK jaQ -jkJ +cZA frx tSN fHK @@ -85475,7 +85476,7 @@ fBQ oWC oWC sUK -cBe +lvS fPN cwL mYW @@ -85513,7 +85514,7 @@ ddy ddy ddy ddy -etp +nFX ddy ddy cdN @@ -85521,7 +85522,7 @@ pHx jJF pHx pHx -xIL +awJ nki jTs rEv @@ -85541,7 +85542,7 @@ ksa ksa ksa cRp -hGS +auH cRl gCP cRp @@ -85704,7 +85705,7 @@ fPN fPN fPN fPN -cfC +rfG fPN fPN xgf @@ -85732,7 +85733,7 @@ val gPS cXN oWC -wig +pKT fPN cwL mYW @@ -85741,13 +85742,13 @@ fPN cMT bKP kfJ -pHP +vEU qEk mrF hCH -kVZ -mzp -gZP +bQs +ocX +nDL ndi kNg jZY @@ -85758,12 +85759,12 @@ sXx fZO cvn iOV -ogR +upm mKZ vBm bnl jIv -oFP +gjz qqu tei bnl @@ -85774,10 +85775,10 @@ fUs jEi bnl qJD -fbw +ojD qqU xeM -aKM +adz qhu sTE jTs @@ -85799,7 +85800,7 @@ ksa ksa cRp cRp -uJP +xim cRp cRp ksa @@ -85959,7 +85960,7 @@ uoo uoo fPN iac -sVK +fWZ nGW xqr dKf @@ -85992,7 +85993,7 @@ mTp oNL fPN fPN -wMu +gOC fPN fPN xja @@ -86009,7 +86010,7 @@ kTj aKy leA erS -nHY +noV emg juc dSO @@ -86019,11 +86020,11 @@ qxQ pig pff bnl -dOt +aDj kSL -aeY +xAT kLu -exO +rGg kLu kLu kLu @@ -86031,9 +86032,9 @@ kKf jEi bnl qhu -tMU -tMU -tMU +wZf +wZf +wZf qhu qhu sTE @@ -86240,15 +86241,15 @@ foP fCT fjo hYZ -fnI -eBD -bQC +oEf +xhM +uXx hYZ bir pEG xyY -bZK -dGY +xVC +pOn pEG odm kxo @@ -86260,8 +86261,8 @@ uqS ciA uKT qHo -tkP -wei +avE +yaK ndi kNg jZY @@ -86277,7 +86278,7 @@ pig oxO bnl azE -wji +mJr uHf uKO bnl @@ -86291,11 +86292,11 @@ qxu sQz smN aGv -epO -ffH +qbl +vad jga jTs -nFo +tTz gJY uoo uoo @@ -86497,9 +86498,9 @@ svQ fCT jjz hYZ -qUQ -qUQ -cBc +wwc +wwc +uaZ hYZ xJK xrJ @@ -86507,7 +86508,7 @@ wIG wIG pbv xrJ -itN +rZl kxo ndi rAl @@ -86535,7 +86536,7 @@ pEY bnl bnl bnl -bgf +eVd bnl bnl bnl @@ -86543,7 +86544,7 @@ bnl uKO bsR kLu -kLO +wYo bQX rLs rLs @@ -86754,9 +86755,9 @@ lNW fCT aIp hdC -fwn -qUQ -qUQ +hJw +wwc +wwc lGI ufl xrJ @@ -86770,11 +86771,11 @@ hhK smQ hCj ezf -gax +fLH jlA gLv afR -enx +vmK scF dlj iwn @@ -86805,8 +86806,8 @@ dYv mOT uHs iOT -exk -wcC +hfQ +vwS tKL uWB dUd @@ -86989,10 +86990,10 @@ fPN fPN fPN fPN -cfC +rfG fPN fPN -nCB +wFh qzQ rIR jvu @@ -87011,9 +87012,9 @@ tQS qzQ bMc mOB -xVB -xVB -xVB +vid +vid +vid mQZ pCI xrJ @@ -87038,24 +87039,24 @@ dgT jZY nQm dyk -mWH +nNd emg juc kgn kgn nJa xqS -rCa -uGS +iJU +bCP wNw emg ohF pig wKV -uGS +bCP bnl bnl -ohf +nxo bnl bnl rDR @@ -87093,9 +87094,9 @@ ksa xXP ksa wEB -oWd +jgu tuu -dle +wPk wEB ksa ksa @@ -87268,15 +87269,15 @@ lNW fCT aIp drQ -qUQ -ksb -xOK +wwc +cwM +smn lej eDT juk tsw pMB -tux +irf qTI hpl vFV @@ -87284,7 +87285,7 @@ wfR kos epk ezf -uey +mfo jlA sQH sRt @@ -87302,13 +87303,13 @@ fzI cTn nJa xqS -rCa +iJU jSO -qPn +fFK emg ohF pig -rJk +rBo jSO bnl wgX @@ -87319,9 +87320,9 @@ emS rkf nOw rkf -wqK +qZD rDR -bHL +sdT bjg kzJ drR @@ -87343,7 +87344,7 @@ ksa ksa cRp cRp -uJP +xim cRp cRp saV @@ -87363,8 +87364,8 @@ saV saV wEB sjk -hRA -mXe +jMM +nwP saV ksa uoo @@ -87525,9 +87526,9 @@ svQ fCT xdJ hYZ -xSV -ksb -pql +btW +cwM +dUD hYZ xJK juk @@ -87541,10 +87542,10 @@ nOK kos epk ezf -wSQ +lVD jlA sQH -lKw +cMh mgQ xMb ezf @@ -87552,33 +87553,33 @@ wtn jZY nQm dyk -kDb +osM emg juc juc juc nJa xqS -rCa +iJU knA -wKr +jvJ emg ohF pig -isR +woN knA bnl epc fUs rmn bnl -kCA +qsb anp nOw tnW -awE +wbX rDR -oVH +pNx fxL jmy rWp @@ -87613,15 +87614,15 @@ nwz jwW nwz nwz -vfY +osX nwz -lAT +kjl eSd nwz xHP -omu +puW vuH -cPI +laq saV uoo uZR @@ -87782,48 +87783,48 @@ foP fCT fjo hYZ -eJG -clg -rqa +bLd +bpN +fGJ hYZ jTy juk tYl -ptq +vlZ twW wEH -yfi +wQc kxo wfR kos hZp ezf -vkz -dbO -mrG -xWv +xUI +lZI +hpi +rKe mgQ hEq ezf -izg +fIh jZY nQm dyk -ufA +oRB emg juc kgn kgn nJa xqS -rCa -uGS +iJU +bCP wNw emg sJH pig wKV -uGS +bCP bnl gAb fUs @@ -87835,7 +87836,7 @@ nOw tnW jVP rDR -flo +qhP ojO sec jmy @@ -87859,11 +87860,11 @@ hsC xMz cRl cRl -pqQ +uNl tuu tuu tuu -iVI +fDY tuu tuu vXG @@ -87878,7 +87879,7 @@ saV wEB ycx nwz -pXi +qTk saV ksa uoo @@ -88014,8 +88015,8 @@ ksa uoo uoo fPN -eQk -eQk +ddE +ddE wfE iHO qPR @@ -88038,27 +88039,27 @@ mFS ghV ldX vaG -nIP -nIP -nIP -nIP -nIP +aIS +aIS +aIS +aIS +aIS dqb juk vZb -qZj -qZj -qZj -qZj -qZj +sdO +sdO +sdO +sdO +sdO rEP kos epk ezf -tkR +uOy agv sQH -ejh +kLl mgQ bmq ezf @@ -88067,7 +88068,7 @@ jZY bND pEY pEY -lsR +iMl juc kgn kgn @@ -88086,11 +88087,11 @@ wgX fUs jEi bnl -dVe +lwG oUG cEG oUG -eSC +uQp rDR sUv bZF @@ -88274,7 +88275,7 @@ fPN fPN fPN fPN -cfC +rfG fPN fPN xgf @@ -88295,27 +88296,27 @@ jvu xgf cDu xgf -nIP -hTs -ybH -kkH -nIP +aIS +wKk +ouQ +iQA +aIS ufl juk hpl -qZj -lLZ -hMn -iho -qZj -feD +sdO +hrM +cqJ +flH +sdO +bgE kos epk ezf gNX hje sQH -wtt +gxO vzN fGl dlj @@ -88323,8 +88324,8 @@ pzt jZY nZO pEY -vaR -uFv +qZZ +ndP juc kgn kgn @@ -88340,23 +88341,23 @@ fOZ oTX bnl bnl -ohf +nxo bnl bnl -iqi +pAj tVz nOw oUG icZ rDR -nfr +nqV bZF jmy jmy bQr rCj -wKv -frC +jdB +rKk rCj ksa ksa @@ -88375,7 +88376,7 @@ hsC hsC cRp wEB -aJB +ouS wEB wEB saV @@ -88526,10 +88527,10 @@ ksa ksa rxc nGn -oUr +fwK nGn -aSJ -uzT +ruP +kRm mlj iHO vKc @@ -88543,7 +88544,7 @@ qiw jvu jFv kdp -xdM +vUn gLw jvu slc @@ -88552,28 +88553,28 @@ dmh wZQ oSm efq -nIP -nyh -oWT -uZH -kWj +aIS +jPo +sNA +fWb +hFm pCI juk oCd -vlr -gmK -jyz -btH -qZj +oXt +tRL +puM +wOM +sdO aLZ kos daT ezf -cbh -qmB +ezA +ooN sQH -eHO -eHO +gnG +gnG neo jUD foU @@ -88586,9 +88587,9 @@ tGT tGT tGT tGT -sDr -heI -xBN +xEr +rHC +hdd tGT tGT dZu @@ -88600,20 +88601,20 @@ uKO fUs cLZ bnl -lvI +dwZ ygE oQr aVt -loc +eWh rDR aLr bZF -gLN +eTD bZF eNK oBh -mxw -fbx +aGm +smZ kGS pgs ksa @@ -88790,7 +88791,7 @@ wfE wfE iHO wfE -kIy +uMF lNW fCT fCT @@ -88809,34 +88810,34 @@ fCT fCT fCT wGi -nIP -hkO -lEf -mvb -nIP +aIS +jSb +iio +fXn +aIS ufl juk qNB -qZj -lVj -rfo -jbQ -qZj +sdO +xkf +nxu +ibh +sdO kNn bdl epk ezf bnL -wuk +bsF gCA fIz -bvv -vGb +waM +rQH dlj pzt jZY erS -nHY +noV emg tar sjV @@ -88857,20 +88858,20 @@ cLZ fUs uKO bnl -vqK -iBi +nHu +bdr nOw sGm wnQ rDR -nOj +fbq tKr bZF jmy bNG rCj -dOf -pQl +kEy +gBJ rCj ksa ksa @@ -89040,13 +89041,13 @@ ksa ksa rxc nGn -ncV +rxz nGn xkQ -giZ +kXD lLW ita -qkB +bRi fPN ghV kfa @@ -89066,19 +89067,19 @@ fHK fHK ldX btf -rOt -rOt -rOt -rOt -rOt +emK +emK +emK +emK +emK eqS juk dIG -ugM -ugM -ugM -ugM -ugM +nEY +nEY +nEY +nEY +nEY bUn kos uMT @@ -89095,7 +89096,7 @@ jZY erS pEY oMG -rtq +mYv yaL yaL yaL @@ -89116,11 +89117,11 @@ tei bnl bnl bnl -vlK +nAV bnl bnl bnl -ncA +tHo dLv bZF jmy @@ -89302,7 +89303,7 @@ fPN fPN fPN fPN -cfC +rfG fPN fPN fPN @@ -89323,19 +89324,19 @@ oHl gCR xWm gCR -rOt -fAq -pUT -hao -rOt +emK +eoK +iJZ +iYU +emK ufl juk hpl -ugM -nJx -myr -bLX -ugM +nEY +kWJ +rCo +uUz +nEY wfR kos qcS @@ -89352,9 +89353,9 @@ jZY erS pEY pEY -tGA +lEJ gLY -gIn +pUR pEY pEY pEY @@ -89558,7 +89559,7 @@ ksa ksa ksa nGn -aZe +jcq qRD pBu fPN @@ -89580,28 +89581,28 @@ fFP uUa kzX xZj -rOt -sLn -vAH -puN -oqC +emK +tCw +amV +sYg +aQx pCI juk oCd -nJi -tzi -jEW -jgu -ugM +cwX +bUl +bwd +cXe +nEY eeV kos daT sDz -roS -vbq -vbq -vbq -atW +pFN +eoz +eoz +eoz +cUG sDz sqj nBX @@ -89612,12 +89613,12 @@ jhr wEt wEt wEt -kME +fgo pEY -iix +pBt pEY uaq -qIC +ekk sut mkW gEY @@ -89628,11 +89629,11 @@ tei fUs uKO bnl -cTq +ajP cLZ fUs tei -lJA +egS bnl jcU jmy @@ -89816,7 +89817,7 @@ fEP xXP nGn mqN -oKS +fuv xVA fPN fPN @@ -89837,19 +89838,19 @@ xRO xRO xRO kZf -rOt -hPs -cAm -uWn -rOt +emK +juZ +vsn +waP +emK ufl juk hpl -ugM -jHT -pbN -jOr -ugM +nEY +dOj +bXe +piI +nEY xcP kos epk @@ -89863,7 +89864,7 @@ dUc rfl tYb jZY -iGm +cic rRm ikU wEt @@ -89882,7 +89883,7 @@ uVl pEY bnl bnl -ohf +nxo bnl bnl jEi @@ -89917,7 +89918,7 @@ ksa ksa wEB wEB -aJB +ouS wEB wEB ksa @@ -89931,9 +89932,9 @@ xey ycH oZv kNe -sgh -kFw -iUP +nhj +cQf +vgY cOG eZG ksa @@ -90079,35 +90080,35 @@ fPN aKf aKf fPN -did +ych xRO pvu bEF -qZo -ydo +jXY +ktK qzZ -nYb +dVS jHN pvu kGr rtE rtE rtE -isM -rOt -rOt -rOt -rOt -rOt +tTY +emK +emK +emK +emK +emK gzC juk iLe -ugM -ugM -ugM -ugM -ugM -nrX +nEY +nEY +nEY +nEY +nEY +qnj kos kbT tvZ @@ -90120,21 +90121,21 @@ tvZ pEL vpb jZY -lBN +hud rRm -jqp +cRq wEt blE wEt iuG xVa -iJX -toh -tQo -toh +irG +uJA +wbC +uJA hFW xVa -wZh +pmW nKW azP bnl @@ -90144,13 +90145,13 @@ jEi bnl bnl bnl -ohf +nxo bnl bnl bnl bnl bnl -niF +lfF bnl bnl bnl @@ -90191,7 +90192,7 @@ aXn xvT efp mqm -fMq +dYX eZG ksa uoo @@ -90314,9 +90315,9 @@ ksa xXP ksa giM -bNe +msd eWP -hdm +pVC giM ksa xXP @@ -90330,40 +90331,40 @@ ksa fPN fPN fPN -cfC +rfG fPN fPN fPN fPN fPN -ubE +bbB xRO gag bEF eqm -nGg -brd +dgr +oAq aux jHN bCh -fRq -hRV -vqk +euI +rYu +vUl rtE vZu -gjH -nGG -nIa -osY -gjH +bpv +dEx +jhY +bZn +bpv eDT juk hpl -jvN -dAB -wEv -vSc -jvN +pVa +hWl +xOz +fWo +pVa xcP kos epk @@ -90381,15 +90382,15 @@ erS rRm trv vww -hvk +xBC iXU hHH xVa -hcK -ydB -wev -pmv -pmv +qwW +fKM +jqw +rnM +rnM xVa bcq aEh @@ -90409,7 +90410,7 @@ rFC cLZ fUs cLZ -dEs +vJU bnl biQ cfP @@ -90430,9 +90431,9 @@ cfP cfP wEB vuH -udl +cfU tuu -rgJ +fFi chv saV ksa @@ -90448,7 +90449,7 @@ nKU iMB baD xLD -dFC +anV eZG uoo uZR @@ -90571,7 +90572,7 @@ wZx wZx wZx wZx -xgX +sPS mRx qgq ybj @@ -90590,7 +90591,7 @@ wfE iHO wfE kCF -qMF +jSg aUL fPN nHH @@ -90598,38 +90599,38 @@ xRO dwh bEF nAW -nPI -xKR +dNd +cIB aux jHN jvO kGr -juU -avD +xAD +hqP rtE gXm -gjH -uMN -apw -bGu -uuD +bpv +qOM +tJU +nlw +oLP pCI juk oCd -uWF -aNk -cub -nyH -jvN +pdU +bOI +aAx +oej +pVa eeV kos -bpV +sHk sDz -gAX -ppi -oiO -ppi -mJa +hyH +aQV +hDH +aQV +oEM sDz fWt kha @@ -90642,55 +90643,55 @@ iay pWG vqJ hoq -sWm -bia -bia -sWm -sWm +pBL +kbr +kbr +pBL +pBL hoq sjw nKV vBA -aSO +sxB kSL kSL fUs -eVz +wCP fUs fUs fUs fUs fUs -eVz +wCP fUs fUs fUs fUs fUs -eVz +wCP tuu tuu tuu -kVi +mqg tuu tuu tuu -kVi +mqg tuu tuu tuu -iVI +fDY rlk rlk rlk tuu tuu -pJb +oMv tuu tuu tuu nwz -eeb +moG saV uoo uoo @@ -90705,7 +90706,7 @@ aXn qTs lcL mqm -icv +ueG eZG ksa uoo @@ -90816,27 +90817,27 @@ ksa fEP ksa wZx -kxC +ydA tcg bXU -hee +hLp iYZ bXU -vMB +rNn qap bXU -jIr +oun nxD bXU oWq mRx kxd cbB -gJK -uoF -iBo -ayn -hLe +mFE +hsj +ccI +nRv +pLW ybj ksa xXP @@ -90849,36 +90850,36 @@ iHO iHO iHO iHO -luq +rmL hbX xRO pvu bEF -oOX -rdQ +xer +hUZ xXh -jcG +mDJ jHN pvu rtE rtE rtE rtE -xlQ -gjH -tiN -ggR -eeM -gjH +ugL +bpv +mpm +dYd +ttG +bpv kBh sLo wJW -jvN -iLp -aQh -ylV -jvN -mac +pVa +oZE +isy +sYm +pVa +dcN dFP yiR sDz @@ -90893,17 +90894,17 @@ pzt jZY erS rRm -qXR +fUb pWG wEt wEt vkX xVa -xLc -sYt -rFb -gHs -wOD +ikr +mth +cFV +eAx +fLd xVa mOc dZF @@ -90921,7 +90922,7 @@ eTW bnl rmn jEi -mBX +kkm mIP rmn bnl @@ -90940,11 +90941,11 @@ wEB iNG xgg evJ -rkK -bJW +aZv +fcL wEB kOW -plG +uGb tuu sXe chv @@ -91074,26 +91075,26 @@ fEP xXP wZx rpd -xXc +oRT bXU bna -aMX +hzP bXU lCP -pBK +qDw bXU gbn -aSP +oYf bXU xAx -ipb +aDw rDd -lfm -rAH -bhf -bhf -bhf -lBB +knP +oeN +bEx +bEx +bEx +rML ybj xXP fEP @@ -91105,7 +91106,7 @@ wfE vKc eJq iHO -iOZ +thR fPN jHN rtE @@ -91121,12 +91122,12 @@ rtE rtE rtE rtE -qzx -gjH -gjH -gjH -gjH -gjH +jqe +bpv +bpv +bpv +bpv +bpv szb szb szb @@ -91136,7 +91137,7 @@ fPN fPN fPN fPN -lwm +bUe fPN fPN fPN @@ -91153,20 +91154,20 @@ rRm mIK pWG wEt -mBp -otK +jxC +gkL xVa -laO -dPD -bGd +bkJ +kHd +tXV +aNP etV -tCb xVa -pnC +pmb qiT -kDx +nBv bnl -rGg +yce kSL rmn bnl @@ -91183,7 +91184,7 @@ bnl bnl bnl wEB -hAe +oYF wEB wEB wEB @@ -91196,13 +91197,13 @@ wEB wEB wEB wEB -vGM +cRo wEB wEB wEB wEB wEB -aJB +ouS wEB wEB wEB @@ -91343,14 +91344,14 @@ cnP vzd bXU qgq -ipb +aDw qgq cbB -riF -diY -uxF -uxF -mvF +xfQ +krt +fOp +fOp +nXn ybj ksa ksa @@ -91361,11 +91362,11 @@ nGn nGn fPN fPN -cfC +rfG fPN fPN lBC -iRs +xwA pXd iXp cgG @@ -91374,11 +91375,11 @@ vss cgG iXp pXd -iRs -peS +xwA +vTJ iXp iXp -vrc +oFO oHl ksa xXP @@ -91391,13 +91392,13 @@ fPN fhe noO oSr -pWi +hoK hqv -rpJ +kAN uRq sXl uRq -vtJ +pKC vcC vcC vcC @@ -91424,16 +91425,16 @@ wlA hdj bnl bnl -rTu +sMi bnl bnl jIv -tpf -tpf -kaX +vOZ +vOZ +rVF bnl lSy -qzg +muN jwP bnl cfP @@ -91447,16 +91448,16 @@ aXB nwz cfP wEB -mft +olE vrf vrf kVX wEB tcw -nQn -uut -uut -kde +dmb +alM +alM +reI wEB sbg tuu @@ -91600,7 +91601,7 @@ ujZ bXU bXU fTm -ipb +aDw vCn cbB cbB @@ -91664,34 +91665,34 @@ kgv rxt hWV rRm -mhA +bDT mPm -bog +wrZ rRm -xml -eBn -vEB -oOl -dhZ +tFl +qWo +acJ +uLv +taC oLg wWh -qBU +azY hlF qXb jiL bnl -tsD +chf slx dgd bnl -nkb -wji -tpf -nkb +bYB +mJr +vOZ +bYB bnl kQR cLZ -vPR +sFQ bnl nwz mxZ @@ -91703,26 +91704,26 @@ jwW nwz nwz nwz -kpn +mzJ nwz nwz nwz feW wEB -mYl -nQn +oJk +dmb uqn fiC -vxl +xMx wEB tcw tuu cuU -xUa -xUa -xUa -xUa -xUa +heB +heB +heB +heB +heB uoo vcG vcG @@ -91834,15 +91835,15 @@ ksa fEP ksa vGC -ooS +qtD rGz dzW wZx -cZs -cZs -cZs +vdB +vdB +vdB wZx -doA +bJp onH xJb vUA @@ -91857,14 +91858,14 @@ xJb xuA utG qgq -ipb +aDw xKq bXU -vXf -vVm -rdr -irp -kWN +hUK +jWg +pux +cdo +ojP wZx ksa ksa @@ -91877,7 +91878,7 @@ nGn wfE iHO iHO -psO +epi uBX iHO iHO @@ -91923,28 +91924,28 @@ coj rRm oIE mPm -hxu +pIi rRm -aMD -qos +qJx +oVD wfJ gaa gaa -kyu +bzc hjx gQB gMs qwd nUi bnl -mSe +rGe kSL -mNd -ejD -tpf -tpf -tpf -pTC +wnZ +oXy +vOZ +vOZ +vOZ +lzn luw cLZ cLZ @@ -91955,7 +91956,7 @@ hNX hNX hNX hNX -nMp +shQ wEB cfP biQ @@ -91967,34 +91968,34 @@ nwz tcw wEB tcw -nQn -uut -uut -fkT +dmb +alM +alM +gdy wEB tcw tuu kVX -xUa -imV -bsX -hSc -xUa +heB +gLX +lOR +gdD +heB ksa vcG nlj mWC -wTD +vJA mWC arN -qDz +akB alj -dAo +gbO vcG qTv -hfb +mgu oyi -tZy +bLN wOu vcG ksa @@ -92094,11 +92095,11 @@ wZx cYs eLo dot -bYZ -los -rdn -los -ugn +afg +hJR +dpR +hJR +tpo jou jou jou @@ -92116,12 +92117,12 @@ tsL jou tvX lMT -wMO -tRU -gWz -itd -lIO -jEY +jag +mso +ujF +lCl +jGj +hnX wZx fEP xXP @@ -92176,25 +92177,25 @@ bVI kpr rWZ ley -bMh +rMy rRm kbB mPm -wGk +exb rRm xhN -nZa +vON wfJ -lIY -ozj +xTN +wSs oLg -mmV -nmf -oEc +vUg +qrZ +dtJ lUP cOa bnl -cTK +hTQ kSL uwJ bnl @@ -92205,7 +92206,7 @@ rmn bnl sJM cLZ -sJl +aDo bnl tcw tuu @@ -92224,7 +92225,7 @@ wqv wEB wEB wEB -olT +kPR wEB wEB wEB @@ -92232,21 +92233,21 @@ wEB jay tuu jay -xUa -pIs -bsX -hSc -lhN +heB +eVA +lOR +gdD +crz uoo vcG nlj nfa -jet +beY nfa spr -gIR +gdf alj -ioJ +kpC vcG xRh oyi @@ -92352,11 +92353,11 @@ rbY rbY rOy wZx -cZs -cZs -cZs +vdB +vdB +vdB wZx -lhk +hcR hXf xJb qgq @@ -92366,7 +92367,7 @@ qgq flr xJb qgq -xhf +ncQ xJb knr utG @@ -92374,11 +92375,11 @@ qgq jou qgq bXU -xfT -paw -erd -snd -aGa +iOS +sqk +gjN +rDJ +pod wZx ksa ksa @@ -92423,9 +92424,9 @@ eGT vtP ksa poG -voY -dim -rCZ +jpe +mBi +cPB waa sed poG @@ -92433,11 +92434,11 @@ ksa kpr rWZ pjD -enB +rkl rRm puT mPm -trF +rez rRm oLg oLg @@ -92447,12 +92448,12 @@ oLg oLg bwa lUP -oEc +dtJ lUP szd bnl bnl -ohf +nxo bnl bnl wgX @@ -92489,11 +92490,11 @@ nwz vrf tuu nwz -xUa -llR -bsX -xzN -lhN +heB +jtb +lOR +fLs +crz ksa vcG nlj @@ -92501,11 +92502,11 @@ njn fOe uJu rSx -acX -hph -nqN -aiR -iOC +tri +kvg +hOG +wxJ +kLx oyi oyi oyi @@ -92664,7 +92665,7 @@ nGn nGn fhe ydN -nVu +eah dUu rSo iBz @@ -92680,7 +92681,7 @@ eGT vtP xXP poG -fiU +fsn ujY dTW dTW @@ -92690,21 +92691,21 @@ dBd kpr fZK pjD -qvY +tWW rRm tnN mPm -bSr +qqQ rRm -rHN -qCL -muy -bGl -wGc +tcb +kim +xaV +cTF +cbJ sHs oWj eAj -hoe +rPC lUP ipL bnl @@ -92722,7 +92723,7 @@ xZO bnl bnl wEB -hAe +oYF wEB wEB wEB @@ -92733,34 +92734,34 @@ nwz cuU wEB jay -omu +puW cwN nwz -kpn +mzJ nwz cuU nwz jke nwz nwz -nMp +shQ tuu tuu -lTk -vHk -vHk -lhd -lhN +rif +nCG +nCG +ijs +crz uoo vcG nlj nfa -jet +beY nfa spr -fBY +jmZ alj -eOe +fcO vcG emI oyi @@ -92888,11 +92889,11 @@ qgq jou mVH dOS -sOa -lsx -lCo -vde -rCE +nYc +mrD +ccj +pTi +fVz oxa ksa lws @@ -92937,35 +92938,35 @@ aIy vtP sMr poG -oQc +koX ujY -wKi +buy vbl -ekx +avk xRA -lsE +rGy hSi qLz pjD dYc rRm rRm -iFB +lJZ rRm rRm -lkq -vLL -wui -ehj -oyo +nar +guq +rNc +bDG +mqT sHs kJu lUP -jMj +tHj lUP -oKm +aiC bnl -wji +mJr fUs cLZ bnl @@ -92988,7 +92989,7 @@ cuU nwz nwz nwz -kpn +mzJ nwz nwz feW @@ -92998,26 +92999,26 @@ hIb vuH jgH wEB -jAw +wvu cuU nwz nwz vrf -xUa -qiV -vHk -lhd -xUa +heB +pYj +nCG +ijs +heB ksa vcG nlj kvY -oXb +gGA pEy arN -grW +viK alj -uNa +ncJ vcG skB bVQ @@ -93141,15 +93142,15 @@ bXU hcq xTT bXU -hmF +sVf jou lMT eGa -shm -uBD -eCJ -sjs -kFK +qAq +gmS +oNZ +uJB +aMt oxa pSA nIG @@ -93194,31 +93195,31 @@ spv vtP xXP poG -tDO -bUq +fkh +gxD xlo xlo -niA +ccT poG dBd kpr rWZ pjD -jHm -lea -vNB +qce +saB +xAp mPm -oHP +xXD rRm -fTU +dsL tLj -pXb +hTj bHn -iFL +bPl sHs cMU eNC -flR +eOU pdr ylS bnl @@ -93250,22 +93251,22 @@ jay cwN nwz okg -xUa -xUa -xUa -xUa -xUa -xUa -xUa -xUa -oTN -xUa -xUa -iuo -vHk -xUa -xUa -xUa +heB +heB +heB +heB +heB +heB +heB +heB +xHq +heB +heB +rzK +nCG +heB +heB +heB mDv mDv mDv @@ -93273,7 +93274,7 @@ mDv mDv mDv vcG -eaC +vyk vcG vcG vcG @@ -93386,28 +93387,28 @@ ksa fEP ksa wZx -bsx +hFj eBw bXU -bsx +hFj dbW bXU -bsx +hFj fFe bXU -bsx +hFj pZX bXU fTm jou qgq dOS -nKe -pOH -goR -kcr -gNS -uQv +nLA +wZn +oqX +pwy +aSi +obb pSA lZR evu @@ -93451,9 +93452,9 @@ spv vtP ksa poG -sDC -ceb -gYF +wos +mmW +yjC lUM gWk poG @@ -93462,23 +93463,23 @@ kpr rWZ pjD erS -prb -apt -rIX +ofP +vLw +llQ sUl -eQw +qhj fZB fZB -wui -wui -vAZ -cbZ +rNc +rNc +aNC +qfR sjw -xcL -fay +uPQ +wUz bVu vtc -hCe +mMN rug kKf gAb @@ -93507,31 +93508,31 @@ aiS nwz nwz eUB -xUa -uoX -xUa -ciO -ghA -ciO -xUa -bzx -bsX -snL -xUa -vCq -vHk -bsX -xzN -xUa -uoX -uoX -xUa -uoX -uoX +heB +sEd +heB +rUW +oop +rUW +heB +qrj +lOR +aFb +heB +eKb +nCG +lOR +fLs +heB +sEd +sEd +heB +sEd +sEd mDv -jKB +eIy alj -xLn +hiU vcG ksa uoo @@ -93719,21 +93720,21 @@ kpr rWZ pjD erS -ocD +mRI wEt mPm wEt rRm -kZc -pVn +plh +hcb fZB -xsm -peO +nfx +ciN sHs jKE -ipC +piX nus -snx +gRN bDJ bnl jEi @@ -93750,7 +93751,7 @@ xZO bnl bnl wEB -hAe +oYF wEB wEB wEB @@ -93764,21 +93765,21 @@ wEB wEB wqv wEB -xUa -xUa -xUa -xzN -bsX -pAY -xUa -vac -qVH -kgS -xUa -bsX -vHk -bsX -pHn +heB +heB +heB +fLs +lOR +mHV +heB +icl +cOi +mjo +heB +lOR +nCG +lOR +tSo mDv mDv mDv @@ -93787,7 +93788,7 @@ mDv mDv mDv vcG -qHa +qDq vcG vcG cHh @@ -93903,20 +93904,20 @@ uoo ksa ksa aeM -joc -oKA -nGp -iKO -cnG +nDv +hKe +wbG +sWB +xtx cCf qgq -bpE -hJa +pPA +tBv qgq jou qgq qgq -xDM +gYH umL xUO rDO @@ -93977,13 +93978,13 @@ rWZ pjD dUh rRm -cTz -czB -bmE +dLc +vPV +pqz rRm -uHN -kfN -nJy +opt +jCe +qlZ sHs opU sHs @@ -93994,7 +93995,7 @@ hdj hdj bnl bnl -pkn +ycZ bnl bnl rmn @@ -94012,7 +94013,7 @@ lnS wEB eub eub -omu +puW vrf eub wEB @@ -94021,32 +94022,32 @@ jay tcw nwz tcw -xUa -hSc -xUa -ghA -bsX -bsX -kwg -bsX -tsp -bsX -rBa -bsX -vHk -fiT -bsX +heB +gdD +heB +oop +lOR +lOR +tYh +lOR +qnK +lOR +fXo +lOR +nCG +nve +lOR mDv -twO -wCD +gFN +dmS cHh -gct -eKr -bsK -tGq -jFP -rEf -hjP +afn +nlJ +uGX +klB +kte +eWe +xdX cHh rcy igm @@ -94160,11 +94161,11 @@ uoo uoo uoo aeM -nPx -mei -lIt -wgv -wgv +mgm +tSa +sQE +mmH +mmH iMQ jou jou @@ -94181,7 +94182,7 @@ lMT dOa pSA jbA -eLA +fIT jbA pSA xXP @@ -94250,7 +94251,7 @@ ksa ksa ksa nfj -mbi +ect tTR tei uKO @@ -94258,7 +94259,7 @@ cLZ gAb cLZ cLZ -wji +mJr cLZ tei eTW @@ -94272,38 +94273,38 @@ feW nwz nwz nwz -kpn +mzJ nwz nwz nwz nwz nwz -bxz -owX -xUa -xzN -bsX -bsX -xUa -fVU -bsX -oux -xUa -bsX -vHk -bsX -bsX -oVA -wCD -wCD -nhq -kHh +qDF +duP +heB +fLs +lOR +lOR +heB +dyr +lOR +ecE +heB +lOR +nCG +lOR +lOR +wwo +dmS +dmS +lNn +nma oPA oPA oPA -uHh +ayT oPA -ugC +ppE cHh cHh cHh @@ -94417,19 +94418,19 @@ ksa uoo ksa aeM -joc -amL -wgv -vJW -jHa +nDv +srJ +mmH +aci +pgH cCf qgq qgq -rBk +hJv qgq qgq qgq -grz +cXS qgq qgq xUO @@ -94437,9 +94438,9 @@ qgq lMT mVH pSA -sLh -pWO -kJy +gwP +lQW +cvW pSA ksa ksa @@ -94519,7 +94520,7 @@ kLu kLu cGh kLu -exO +rGg dZE wHQ nwz @@ -94535,34 +94536,34 @@ feW nwz cuU vrf -xUa -qiV -xUa -wGe -bsX -xzN -xUa -orM -bsX -dbt -xUa -xzN -vHk -bsX -pIs +heB +pYj +heB +mjB +lOR +fLs +heB +roC +lOR +gXE +heB +fLs +nCG +lOR +eVA mDv -ygq -wCD +fZL +dmS cHh -krW +hrV oPA bff -tYy +wHB kZD oPA -dgz +ciS igm -xPP +kzp igm ksa ksa @@ -94673,10 +94674,10 @@ uoo uoo uoo uoo -mtq +aNu cCf cCf -chZ +olG cCf cCf cCf @@ -94695,7 +94696,7 @@ lMT qgq pSA jbA -bck +tPD jbA pSA ksa @@ -94706,7 +94707,7 @@ xXP ksa fPN kCF -nEI +kTY kCF fPN iHO @@ -94773,9 +94774,9 @@ dGu tei plt bnl -uqM -jDq -kaX +udz +yht +rVF bnl nwz rrq @@ -94785,34 +94786,34 @@ nwz nwz cuU nwz -ghG -xUa -xUa -wHW -xUa -xUa -xUa -xUa -xUa -xUa -xUa -oTN -xUa -xUa -xUa -oTN -xUa -xUa -kgu -pcF -iuo -xUa +xlz +heB +heB +pqu +heB +heB +heB +heB +heB +heB +heB +xHq +heB +heB +heB +xHq +heB +heB +fUR +sOx +rzK +heB mDv mDv mDv mDv -fGD -cMy +pXy +cPf aFt gRr kZD @@ -94930,29 +94931,29 @@ ksa ksa uoo ksa -mtq -mKE +aNu +kBN vyJ mEQ vyJ -vez +gSC cCf ovc urW -tHM +jSj urW urW urW -bdf +vWg urW -cru +ygH eZP qgq lMT qgq pSA uza -jNJ +wvS iOi pSA pSA @@ -94987,19 +94988,19 @@ ksa ksa hHw hHw -oZV -mQA -tve +ntJ +niC +bDj pji -bFF +rAx bzS -uth -rzi -eWd +odM +egE +tuv gcz -rlQ -ipd -wvd +rJQ +ezU +gPJ gcz rWZ pjD @@ -95023,7 +95024,7 @@ ksa bnl bnl bnl -aJV +urT bnl bnl bnl @@ -95031,7 +95032,7 @@ bnl bnl bnl bnl -tOB +qbp bnl bnl eub @@ -95043,38 +95044,38 @@ tcw nwz cQY cfP -xUa -xzN -bsX -bsX -llR -bsX -frw -xzN -bsX -bsX -bsX -llR -fYx -pIs -bsX -vCq -xUa -vCq -vHk -bsX -iuo -bsX -gKC -qYN +heB +fLs +lOR +lOR +jtb +lOR +lYZ +fLs +lOR +lOR +lOR +jtb +scY +eVA +lOR +eKb +heB +eKb +nCG +lOR +rzK +lOR +gxM +tTl mDv -vVk -cMy +eQF +cPf oPA -kkt +mVn oPA oPA -jpU +dib igm cAy igm @@ -95181,13 +95182,13 @@ fEP uoo uoo kFk -nsw -nsw -nsw +ykw +ykw +ykw kFk uoo uoo -mtq +aNu cCf lBH mEQ @@ -95209,7 +95210,7 @@ lMT qgq pSA cKv -eil +eBQ vBx lrv vjY @@ -95228,7 +95229,7 @@ nGn ksa ksa rBi -vHb +wFR rBi ksa rBi @@ -95243,9 +95244,9 @@ ksa ksa ksa hHw -dzl -tKp -cJf +ueX +qAM +nnP orz kgO lDG @@ -95255,7 +95256,7 @@ uNM teq wwO oLb -foK +uRM oLb exf aUs @@ -95284,15 +95285,15 @@ dDZ ihc sQN cui -gDV -vtD -tBq -hIE -sWx -fgD +mNG +bOp +rIy +asz +rYd +kcn wEB wEB -bWE +lza wEB wEB wEB @@ -95300,38 +95301,38 @@ wEB wqv wEB wEB -xUa -bsX -lyv -bsX -pHd -iko -iko -iko -iko -xDH -iko -iko -iko -iko -iko -iko -iko -iko -iko -iko -iko -iko -iko -iko -itL -rlK -xgs +heB +lOR +mJm +lOR +mWD +rDC +rDC +rDC +rDC +wap +rDC +rDC +rDC +rDC +rDC +rDC +rDC +rDC +rDC +rDC +rDC +rDC +rDC +rDC +iWF +fpP +ixb oLh oLh oLh oLh -fRr +rHs cHh cHh cHh @@ -95439,34 +95440,34 @@ ksa kFk kFk apg -emc +jmg apg kFk kFk ksa -mtq -mKE +aNu +kBN vyJ mEQ vyJ -vez +gSC cCf ovc urW ttt -hjZ -hjZ -hjZ +cYu +cYu +cYu pxB urW -gUl +rUa mWi qgq lMT qgq pSA mvS -eil +eBQ jve ent eNV @@ -95485,11 +95486,11 @@ fPN xXP xXP rBi -wnR +xJf rBi mpi rBi -wnR +xJf rBi xXP xXP @@ -95509,13 +95510,13 @@ oqP tYO tYO tYO -xNz +sBZ gcz gcz gcz gcz gcz -azm +kNi pjD erS ksa @@ -95541,12 +95542,12 @@ lWH pzI rin cui -rvC -ePX -cPV -cPV -hMD -sux +pCY +jeK +dDD +dDD +krq +rNY wEB vrf rrq @@ -95557,37 +95558,37 @@ sbg wAE feW iNG -xUa -bsX -fqx -pIs -xYn -xzN -iuo -pIs -bsX -iuo -bsX -pIs -iuo -xzN -bsX -bsX -xUa -sKN -lqr -xzN -xUa -qiV -llR -iuj +heB +lOR +qYP +eVA +lzb +fLs +rzK +eVA +lOR +rzK +lOR +eVA +rzK +fLs +lOR +lOR +heB +odt +ute +fLs +heB +pYj +jtb +bUf mDv -aTB -iQE -tZH -pan -mcG -lAU +jHw +cPW +cAZ +pPc +mkT +mtK eWs cHh rcy @@ -95694,26 +95695,26 @@ ksa fEP uoo kFk -air -sMI -kcM -sMI -kzh +nsP +nuq +hzD +nuq +lIJ kFk uoo -mtq +aNu cCf nCu mEQ -xCo +nhD cCf cCf ooP urW ttt -hjZ -hjZ -hjZ +cYu +cYu +cYu pxB urW urW @@ -95742,7 +95743,7 @@ nZL fqe fqe rBi -bpj +woT rBi fqe rBi @@ -95761,16 +95762,16 @@ kkC btp sYe ufV -cAR -tRj +gzG +xup uDB -hfF +kAP sTW -cAR +gzG jFo -xIp -dIO -rEe +gMu +fas +rJS jFo rWZ pjD @@ -95798,12 +95799,12 @@ ggq ggq sFS cui -twU -dZU +ybx +lWZ gYW -kYL -aMw -wiI +bya +rgd +cgE wEB cuU rrq @@ -95814,22 +95815,22 @@ nwz nwz nwz vrf -rBa -bsX -qSw -bsX -xYn -bsX -bsX -bsX -bsX -xzN -bsX -bsX -bsX -bsX -bsX -vCq +fXo +lOR +pqL +lOR +lzb +lOR +lOR +lOR +lOR +fLs +lOR +lOR +lOR +lOR +lOR +eKb mDv mDv mDv @@ -95840,7 +95841,7 @@ mDv mDv mDv iya -liN +iTl iya cHh cHh @@ -95951,27 +95952,27 @@ ksa fEP ksa kFk -wsn -fZy -kqp -fMv -gSB +mMn +tDr +mLT +tzD +hWs kFk ksa -mtq -wGI +aNu +mqa vyJ mEQ xhp xhp -wQk +bOK omI lKu -nqm -hjZ -xKS -hjZ -qAo +fyk +cYu +wHa +cYu +fev lKu lKu fSj @@ -95994,15 +95995,15 @@ fPN oSr iHO nZL -udB -jPZ -aJZ -dKv +tit +szl +lCk +nii mmp cou -bwX +weq fqe -mnY +roK cou rTA nZL @@ -96016,7 +96017,7 @@ ksa hHw otx bvc -jya +aAV sbz oXi nga @@ -96026,12 +96027,12 @@ nga nga jFo ali -vUv +doM ali jFo bjn pjD -fxF +tzv ksa ksa ksa @@ -96055,12 +96056,12 @@ erC pho dpu cui -mRp -gVV +lCY +aBo gYW -lRi -aMw -lVb +rHi +rgd +qVK wEB dDE rrq @@ -96071,39 +96072,39 @@ cuU vrf nwz kVX -xUa -vam -xzN -bsX -xYn -bsX -frw -llR -bsX -bsX -tcI -xzN -frw -bsX -bsX -xzN +heB +jjy +fLs +lOR +lzb +lOR +lYZ +jtb +lOR +lOR +gGO +fLs +lYZ +lOR +lOR +fLs mDv djD mdZ djD -iDY +llP lkR jhE jhE fxk tHx -sNp -fTE -dmm +lnn +khu +iAx fxk -xVj -miM -kun +vtV +rEn +thQ fxk wIO ksa @@ -96208,26 +96209,26 @@ fEP fEP uoo kFk -stB -nCK -lvl -daR -xZo +wwh +mxc +jpp +pWH +rnC kFk uoo -mtq +aNu cCf lBH mEQ pXY cCf cCf -hvs +uJX urW qrD -hjZ -hjZ -hjZ +cYu +cYu +cYu kjA urW urW @@ -96240,10 +96241,10 @@ tvq sEr cXU vVY -gxw +jRu pSA scD -xTP +tUn oCn nZL xkQ @@ -96253,7 +96254,7 @@ iHO nZL qeb lLr -egM +dwR qsm pem qsm @@ -96281,7 +96282,7 @@ jgW saq jgW jwf -cBM +rEq eKp mws six @@ -96312,15 +96313,15 @@ uuG pho ccs cui -nnZ -sEf +mAm +amg fJn fJn -cHc -pSn +dId +rtW wEB wEB -bWE +lza wEB wEB wEB @@ -96328,40 +96329,40 @@ wEB wEB wqv wEB -xUa -xUa -xUa -xUa -xYn -iuo -xUa -xUa -bJd -xUa -xUa -xUa -xUa -xUa -tbI -xUa +heB +heB +heB +heB +lzb +rzK +heB +heB +iHF +heB +heB +heB +heB +heB +usQ +heB mDv -rTF +ebN djD djD rFn gDq jhE -aNz +hYy fxk -arR +reP adw -nZg -lfo +dAY +rWh vJc tSE tSE tSE -bMe +huJ lwj lwj lwj @@ -96467,27 +96468,27 @@ ksa kFk mDi mDi -liD +toa mDi mDi kFk ksa -mtq -mKE +aNu +kBN vyJ mEQ vyJ -vez +gSC cCf dqx urW qrD -hjZ -hjZ -hjZ +cYu +cYu +cYu kjA urW -aGU +wYH mWi qgq lMT @@ -96509,8 +96510,8 @@ eJq uBX nZL slq -nBD -vyY +poL +nws qsm wwN nJS @@ -96519,7 +96520,7 @@ cSJ roc doW gtp -mra +cvd eBl eBl iYK @@ -96537,13 +96538,13 @@ nga bKm ovY fce -hTf +eln hMy pdN wSz knt jFo -wLx +vCH pjD oFm ksa @@ -96569,38 +96570,38 @@ gVf pho hWv cui -cde -qjP -qjP -opE -dyq -mTk +bOw +hha +hha +mqk +wOv +fej wEB cfP rrq -uyC +gWW tcw mhD wEB vrf nwz eub -xUa -vhx -vCq -llR -xYn -bsX -xUa -vtr -bsX -llR -xUa -hKf -rff -rbW -bsX -vqr +heB +bcV +eKb +jtb +lzb +lOR +heB +vKK +lOR +jtb +heB +lCS +lUi +enK +lOR +mMz mDv dbG dbG @@ -96612,8 +96613,8 @@ jhE fxk bGX adw -jwu -sgJ +tFY +iVP fxk rjW rjW @@ -96725,14 +96726,14 @@ xta wrA sdP unQ -gfA +mUD wrA xta xta -mtq +aNu cCf cCf -chZ +olG cCf cCf cCf @@ -96751,10 +96752,10 @@ lMT qgq pSA qgX -jac +oTx gJd -rxa -wOJ +ndH +kFx pSA hoX sey @@ -96785,16 +96786,16 @@ ksa uoo ksa nga -cAR -hsJ -gtx +gzG +aDh +cor cKw -cAR +gzG nga aSa yft hIk -ort +mgD adm xrX hOh @@ -96808,9 +96809,9 @@ ksa ksa ksa ksa -vmq +imM vpV -dZs +uWy ksa ksa ksa @@ -96838,26 +96839,26 @@ vbI nPl nPl nPl -wyL +hVV nPl nPl nPl -tLN -iko -iko -iko -bUS -wJa -rBa -pIs -bsX -bsX -kwg -rbW -bsX -pIs -aCF -oTD +iQC +rDC +rDC +rDC +dRo +rix +fXo +eVA +lOR +lOR +tYh +enK +lOR +eVA +hWp +bLj mDv btl btl @@ -96867,13 +96868,13 @@ rFn rFn rFn fxk -gRf +bvq adw -hDv +cLF blv fxk fxk -mpo +acV fxk fxk uoo @@ -96978,30 +96979,30 @@ ksa fEP ksa nnG -quN +pxa sdP sdP unQ sdP -dNt +hQG vhu xOf xOf -wHt +wKJ sdP tvc -vtd +gMr fme vhu dqx urW -xtc +cQb urW urW urW -qEC +xYj urW -cru +ygH eZP qgq lMT @@ -97022,20 +97023,20 @@ bvR xaB mYW nZL -hkQ -eMR +sQn +uBu ovU -iKf +gZk rPQ -uHz -dfX +pJk +qfE fqe vLC tFM -uNj +bwE nZL -kQe -eoS +iNs +syQ dIV fPN nGn @@ -97051,12 +97052,12 @@ nZL aAJ sxo pxY -cQA +mto xkh pdN uhe uZG -hPx +oKV jXh gbD lcS @@ -97073,23 +97074,23 @@ vui vui vui pcU -vND +fDN vui -vND +fDN vui -qAf +rKa eON -wBB +xCE xFe -etg -fXZ +rFU +rXq vui rAq rAq wae ifC -dsU -cXJ +xJV +lNH cuU nwz mxZ @@ -97099,22 +97100,22 @@ wEB cuU lXL vrf -xUa -llR -pIs -qvX -vHk -bsX -xUa -xzN -iuo -lhd -xUa -hKf -qvX -bFK -say -sgM +heB +jtb +eVA +xRU +nCG +lOR +heB +fLs +rzK +ijs +heB +lCS +xRU +tMq +qJI +pTY mDv btl btl @@ -97124,10 +97125,10 @@ rFn lOo lOo fxk -kKw +mUZ adw ihh -jGl +ulS ksa ksa ksa @@ -97235,9 +97236,9 @@ ksa fEP ksa nnG -vQw +lOy sdP -eeC +oNu unQ sdP sdP @@ -97248,7 +97249,7 @@ sdP sdP tvc sdP -kIl +iUv vhu eZP eZP @@ -97266,13 +97267,13 @@ kpW cqR wbK jsQ -ktt +rzI vRp eUE cqR -tNE +jAn sey -qIN +qfm nZL nZL nZL @@ -97280,7 +97281,7 @@ nZL dMV nZL fqe -tiV +uqv fqe fqe fqe @@ -97288,7 +97289,7 @@ fqe fqe fqe fqe -slS +yfk fqe nZL fhe @@ -97310,8 +97311,8 @@ tbc jgW eaw eGX -oyk -wql +iWT +fem uRK jFo hux @@ -97330,7 +97331,7 @@ gbD gbD gbD gbD -aIn +sDT gbD gbD gbD @@ -97344,8 +97345,8 @@ gbD gbD gbD knI -leI -xuF +gZp +bEy wEB wEB wEB @@ -97356,12 +97357,12 @@ wEB saV saV saV -xUa -xUa -xUa -xUa -wPT -iuo +heB +heB +heB +heB +gho +rzK mDv mDv mDv @@ -97373,18 +97374,18 @@ mDv mDv mDv mDv -hGH +aKP jvA rFn rFn rFn mwn -cGM +gZE fxk -mUZ +epG adw fVA -fJv +wjx ksa ksa ksa @@ -97492,49 +97493,49 @@ ksa fEP ksa nnG -diI +spz sdP -fIV -gYH +mcQ +xAN jAm -bJn +puI sdP -dFp -dFp -dFp +vOf +vOf +vOf jcC tvc sdP sdP -ePv +kzj qgq qgq qgq qgq qgq rDO -tDV +mWk qgq qgq xUO rDO lMT qgq -wPR +bOt aKU aKU aya aKU aKU -wPR +bOt niu sey tMr tcY -tzU -xCz -uIk -wNr +ich +fbn +hBq +kaZ tcY gfX plK @@ -97543,13 +97544,13 @@ jKd bwt kqh jwD -ium +qDG jGX jVY wOd fPN fPN -suX +fwI fPN fPN fPN @@ -97559,7 +97560,7 @@ fPN fPN fPN fPN -qqJ +bTL nZL nZL jFo @@ -97571,13 +97572,13 @@ jFo jFo jFo jFo -bgd +mmZ gbD hjB pte qdE qdE -ekL +isx wuH qdE qdE @@ -97585,24 +97586,24 @@ qdE cOn qdE adP -rVm -hEV -foE -jwc +jfu +fEy +puh +wpm pUu -iOJ -qAf +lwl +rKa pKx wuH qdE -dqO +hBC jIu wuH qdE qdE -pIA +qPd gbD -oZh +jeF eNs ksa uoo @@ -97613,22 +97614,22 @@ xXP ksa xXP ksa -lhN -bsX -pKG -xzN -vHk -pIs +crz +lOR +eOn +fLs +nCG +eVA mDv -jOm -vir -gvD -rbo -oIw -xsB -sSM -iuU -eKA +oGI +mhR +xmB +eyu +hER +naU +cHk +lNX +umC fxk kVD rFn @@ -97641,7 +97642,7 @@ fxk bGX qRc ihh -jGl +ulS ksa ksa ksa @@ -97749,17 +97750,17 @@ ksa fEP uoo xta -wGs +roh oMi -cFf +uyZ wjv -urm -epW +nbT +xyI unQ -jhR -urm -iWd -gRM +pST +nbT +xHQ +cCZ tvc tvc tvc @@ -97788,10 +97789,10 @@ nUQ hwr jcf xBB -wJo +msa aHm scL -pCA +lRe tcY fyc fsm @@ -97800,20 +97801,20 @@ yfL ksp xvF dzU -ium +qDG mUT -qOl +bAr xxI dIW jic uYJ -ePQ -xIo +wJG +jak ecF fPN -aXq +mtZ kHw -bZl +gXI ciW fPN dwJ @@ -97821,23 +97822,23 @@ nZL rUf hkn rDG -gJU -oCA -srQ +tBb +eHQ +tpG wvg -xqW -xuu +rJV +tRN cvS qXN gbD hjB cjW -cQC -fEX -lzw -tgq -nvj -wJK +tnt +lmH +tdo +cdm +xmT +sDY kew kew kew @@ -97850,11 +97851,11 @@ rxT hxY hxY eNs -nPC -qXl -qXl -qXl -wsc +oRZ +jXv +jXv +jXv +aek eNs eNs cWX @@ -97870,22 +97871,22 @@ nxf ksa xXP ksa -lhN -mUF -bsX -bsX -vHk -bsX +crz +ccm +lOR +lOR +nCG +lOR mDv -ina -jPt -jPt -rSc -qXp -rSc -cSm -cSm -uEU +eKO +lgt +lgt +euW +lHx +euW +mOA +mOA +cqh fxk fxk pLU @@ -97895,10 +97896,10 @@ fxk fxk fxk fxk -chg +dWk qRc ihh -rMk +hVc ksa ksa ksa @@ -98006,49 +98007,49 @@ ksa fEP ksa nnG -qbz +hbO sdP -fIV -sGT +mcQ +onv ejw -bJn +puI sdP -tZl -tZl -tZl +jQf +jQf +jQf qTG tvc sdP sdP -ePv +kzj qgq -dvd +cTC qgq nqD jou qgq qgq -nKo +nGI knr xUO qgq lMT nqD -wPR +bOt aKU aKU hvc aKU aKU -wPR +bOt niu qQg tMr tcY -vwl +kOC oeC ndQ -jGt +wGu tcY cXi fsm @@ -98057,20 +98058,20 @@ jKd lGU nnR nFn -ium +qDG mUT -jUa +qsZ xxI dIW -gGu +cYZ nlU iua mUw -kDS +ixm fPN qxJ pSW -ruH +rnP dub fPN dwJ @@ -98090,33 +98091,33 @@ gbD hjB xLi wAZ -nmw -qkl +hpr +xWp ftk -qkl -oxS +xWp +mYs kew -nmz -cAw -cOB -klV -kZw +hyO +xYD +hLF +cwm +qFY siE ydY -jSh -eGw +amB +dKg hxY -hhu -hLv -jkD -iuJ -jkD -iuJ -aav +vpx +rci +vaB +oLo +vaB +oLo +sxZ eNs -kvX +flZ gbD -dCP +pDx eNs uoo nxf @@ -98127,35 +98128,35 @@ nxf xXP xXP xXP -lhN -xzN -bsX -bsX -vHk -llR +crz +fLs +lOR +lOR +nCG +jtb mDv -sPy -bnP -jZe -qMY -mIF -qMY -kUV -oNc -lYr +qkA +wBS +iyk +lVs +iqE +lVs +ydD +dbV +gXF fxk pqo pxw pxw pxw -tcF +wmP fxk -lNF +vlk blv bGX qRc ihh -uTb +unN ksa ksa ksa @@ -98263,7 +98264,7 @@ ksa fEP ksa nnG -wBu +kdo sdP rAB vSE @@ -98275,7 +98276,7 @@ sdP sdP sdP tvc -dNt +hQG vhu vhu ajn @@ -98298,14 +98299,14 @@ ddT sIG uKf cqR -puK +qMj qQg -ivl +gLc tcY -vwl +kOC cHF sIr -pCA +lRe xBB lPr bYk @@ -98321,9 +98322,9 @@ aUi jfI hlu hlu -xhv -dMR -lAg +iEi +stK +jIX fPN lrB lrB @@ -98347,71 +98348,71 @@ gbD wXC cjW wAZ -nmw +hpr fuf -dzH +pBG bXB -qkl -arQ -hHX -hHX -hHX -gmc -gmc +xWp +orx +jBd +jBd +jBd +wrp +wrp siE -aoZ -jSh -twb +vKN +amB +keQ siE lFc -dgD -xdw +pCJ +jjO lFc -xdw -xdw +jjO +jjO lFc lFc oAa -aIn -hxV +sDT +dCP eNs ksa nxf -keI +lDS isa -ybU +osi nxf ksa xXP ksa -lhN -qiV -bsX -fiT -vHk -xzN +crz +pYj +lOR +nve +nCG +fLs mDv -uYf -ujm -gPV -qMY -pme -qMY -jBv -sWq -prs +csx +uDJ +ulD +lVs +bpn +lVs +lYu +hAX +lQG fxk ycu rMt mJS pxw -wMs +sBi fxk blv blv -kHL -cJu -kHL +oYd +qWk +oYd blv ksa ksa @@ -98520,30 +98521,30 @@ ksa fEP ksa nnG -xAT +kQa sdP sdP sdP sdP -dNt +hQG vhu seS seS -rbe +tWm sdP tvc -ybm +hsu vhu -hFr -bfn -ltj -gvR +lOO +bwL +bbd +yar dxW gEt dxW -vIP -jEI -qQq +wNe +byt +iPJ ajn aBX odC @@ -98559,10 +98560,10 @@ hbW qQg gCX tcY -wLb -mfu -dwz -hMJ +ryz +mvt +bFc +cGU tcY cXi bYk @@ -98571,12 +98572,12 @@ jKd dLp kqh bod -ium +qDG mUT xpb xxI -wpo -swY +sZA +mRO chk pVB bpe @@ -98584,19 +98585,19 @@ jUt fPN ebL vCQ -aZc -eAp +sZl +ybY fPN dwJ -ouX +imm nVk nVk eUr nVk -axH +eLB nVk nVk -rMc +mNk oOB wzl vmf @@ -98607,69 +98608,69 @@ wAZ fHb ftk uiA -eJD +qCf ftk -arQ -gmc -ebg -pZh -noa -pmt +orx +wrp +rVX +xpE +gWS +khW siE -kCU -eJo -eGw +tIh +mJj +dKg siE -mMv -rLP -xHL -ljt -kMW -tcJ -lCn +tGr +cZh +ljg +pSB +uhb +bmQ +aGs lFc -vyt +xeK gbD niG sRZ sRZ gcD gcD -sOm +wAH gcD gcD xXP -xUa -xUa -xUa -xUa -xUa -xUa -ooM -xUa +heB +heB +heB +heB +heB +heB +iqI +heB mDv -bKR -dlY -dlY -vAm -fbk -aqW -dlY -dlY -ovA +oAI +wLI +wLI +baM +hKa +myE +wLI +wLI +taR fxk bvL pxw mJS pxw -kWy +dKC ceX -lEj -lyR -pVi +dSC +quA +dgg qRc -pWU -dmm +pHE +iAx ksa ksa ksa @@ -98780,7 +98781,7 @@ xta xta plz plz -mcU +rSG plz plz oER @@ -98791,11 +98792,11 @@ oER dix oER oER -bSb +eYS lhg lhg -noQ -nGl +yaU +rQF gEt rHR dxW @@ -98807,14 +98808,14 @@ lMT kxd kml vXY -aTv +kkl ukF mLh -rUm +jlt vpG twl qQg -oHa +jGe ait ait ait @@ -98828,25 +98829,25 @@ qPJ ksp xvF dzU -ium +qDG mUT uan xxI -wpo -guX -qtW -ipH +sZA +wvH +lFq +glc vof dor fPN -fiB +pPG pSW -pQm +rKj rtP fPN dwJ nZL -lsa +gLx nVk aSe aBx @@ -98855,75 +98856,75 @@ aBx gyw wen tnk -vCT +rGr ikX gbD hjB cjW wAZ -bFw +wMq rkX ftk ssT ftk kew -xSj -egR -cBS -meQ -uLk +rWV +mZe +vPc +oji +krO siE siE -lwX +nCo siE siE -gqq +tqo tzm tzm -bBd +ccz tzm umX -rTV +uSZ lFc hFk gbD mxN sRZ -jDf -sCt -rQX -pmF -wXX +pQC +krP +czg +npT +cpA sRZ ksa -xUa -hSc -xaF -xnN -xUa -imV -vHk -xzN +heB +gdD +fmD +cFv +heB +gLX +nCG +fLs mDv -euj -rJu -qZw +uDW +wkR +gby ajT -ija +cQp ajT -uAy -uFw -kZz +uvq +jJf +vuK fxk pqo rOW nst kNJ -dXL +kEn ceX -lUn -qvB -qIg +lKX +vlT +tOE fII pxw ihh @@ -99044,22 +99045,22 @@ tFK piY piY vQY -rbf +qSA dZe -kxu +oVs oER -bdb +vch tLo tLo -nWh +bOR dxW wAd dxW -wzI +cEH qDj -qQq +iPJ ajn -xgX +sPS lMT lMT fmr @@ -99068,14 +99069,14 @@ iFw cbe iFw vFW -tPZ +koL sUf qQg qow ait -dJA -qph -bBK +jYQ +gIw +fCd eaW ait xbP @@ -99085,7 +99086,7 @@ jKd lGU ast nFn -ium +qDG mUT xpb aiy @@ -99112,7 +99113,7 @@ wWJ hgg aBx prd -vCT +rGr ikX gbD hjB @@ -99123,50 +99124,50 @@ uiA eaf baq ftk -arQ -gmc -jqh -fNH -ovs -ihK +orx +wrp +jQk +xeV +spl +hlZ kew -iMG -tsV -iMG +eFO +tPF +eFO lFc -bxK +yfR mqu tyF -qdk -gIg -oJX -aZW +sCt +bni +vMZ +uBs lFc oKy gbD mxN sRZ -bXg -alh -nEb -kMQ -uKE +xjB +keX +bnS +kYv +oGb sRZ xXP -lhN -xzN -pIs -bsX -ijn -bsX -vHk -ikP +crz +fLs +eVA +lOR +iLf +lOR +nCG +nIm mDv ajT ajT ajT ajT -mse +oEx trS trS trS @@ -99178,11 +99179,11 @@ nst pxw lEp ceX -fQq +jcW qRc -izU -izU -izU +vLM +vLM +vLM ihh ksa ksa @@ -99301,39 +99302,39 @@ tFK scR yaX ipY -eJA +aUv dZe -fch +xsk oER -ksZ +nXf tLo tLo ajn -aiw +gqD vdj fuS fuS fuS -acf +oPB ajn -awX -hpB -awX +nEm +cUU +nEm kml eYX -acW +hFD dfE ilE -cJW +kin vpG twl qQg jTa ait -lfd +nxv pbF avB -mFi +xHC ait utj bYk @@ -99353,9 +99354,9 @@ hGj bMX inF hjG -rKe -hZj -rzs +oth +aEo +uKq fPN fhe dwJ @@ -99363,14 +99364,14 @@ nZL kOK nVk rfW -vki -hZS -liC +has +mRF +oOm rTP -qPo -lhp +hoA +epQ cvS -pyq +stu gbD hjB cjW @@ -99380,44 +99381,44 @@ tJM eBj fsd ftk -arQ -hHX -blp -lxf -aIW -dWu +orx +jBd +wHE +kdI +ndS +kpI kew -hIN -tsV -cBY +rEh +tPF +wrP lFc -itm -kst -xXt -lwx -fli -bbc -lyp -oKD -wga +sQW +waD +kKI +aVv +hVw +slD +fIJ +rmv +aTQ gbD mxN sRZ -qNf -cCB -cvb -bpc -lQk +obe +hzm +iPe +rSd +nJF sRZ ksa -xUa -qvX -bsX -xzN -xUa -pIs -vHk -hSc +heB +xRU +lOR +fLs +heB +eVA +nCG +gdD mDv xxB sMO @@ -99430,17 +99431,17 @@ bRx vLQ fxk blv -reB +hpe ahn -nRo +uSC blv fxk -jUe +nQA qRc -izU -izU -izU -jEL +vLM +vLM +vLM +gHK ksa ksa ksa @@ -99560,18 +99561,18 @@ piY xWj sJm iwL -ncG +jqD oER -ktq +lxC tLo tLo -pBC -qQq +fiU +iPJ wAd dxW -wzI +cEH qDj -qQq +iPJ rhW giM giM @@ -99583,12 +99584,12 @@ dEG evo evo vpG -lfi +rqB qQg uwf ait -xqZ -iiQ +qSt +fyK ezd msS ait @@ -99599,13 +99600,13 @@ jKd hLH kqh sAh -ium +qDG mUT xpb vvy -lmX +uuP wGT -xft +lnz rdk rdk kxi @@ -99613,7 +99614,7 @@ nzX uXn vWH uXn -sBO +gAp vcC oYl nZL @@ -99627,7 +99628,7 @@ vuA vuA vuA vuA -cWy +uQZ gbD hjB cjW @@ -99635,68 +99636,68 @@ wAZ ftk fHb fuf -aNT +vSa ftk kew -xrO -eVJ -sSr -aoB -skJ +mqp +uae +tmE +bLL +bXH kew -iMG -tsV -iMG +eFO +tPF +eFO lFc -jmn -iah -ejE -fdI -tWp -bKe -anF +xWN +miV +upp +oca +jJg +dWM +vIB lFc ePw gbD gvW sRZ -jBx -pLB -dgN -lMP -oII +qki +hfR +fqD +cmx +jID sRZ xXP -xUa -xUa -xcd -xUa -xUa -xUa -kjD -xUa +heB +heB +miO +heB +heB +heB +qXY +heB mDv -jpQ -fjY -wKG +eey +dEa +wSi jdg hkf -rrg +lep saY -pzP -cZl +ubi +bke fxk -seu +vxA pxw nst pxw -miL +dAt ceX bGX qRc -izU -izU -izU +vLM +vLM +vLM ihh ksa ksa @@ -99814,8 +99815,8 @@ ksa rHA nDq nDq -mRL -cet +daC +aCb iwL sJm wgw @@ -99823,12 +99824,12 @@ tLo tLo tLo urV -qQq +iPJ wAd wxY dxW dxW -ocC +bYa rhW ksa xXP @@ -99838,13 +99839,13 @@ ubp lLm rOF qbg -aUn +vrE vpG twl qQg qVR ait -bBR +fJr vCs pLV oLJ @@ -99856,20 +99857,20 @@ hin ksp xvF dzU -ium +qDG uRy xpb vvy -lmX +uuP asE rdk -mHH -xle -tFs +gBd +wkw +xvA hjG -gbS -fKX -tln +hjf +oOx +wqB fPN vKc dwJ @@ -99884,72 +99885,72 @@ nBn lDM euq lHR -stD +icW gbD hjB cjW wAZ bXB -qZF +fRd ftk lDX lDX kew kew kew -nXF +tic kew kew kew -hUQ -rxJ -hUQ +sxF +jns +sxF lFc lFc -vrG +vyE lFc -bJL +ewX lFc lFc lFc lFc jKa -bIk +sQJ jKa sRZ -tds -lmJ -wjs -dcq -syu +gMA +sTR +gVm +sWN +aMz sRZ ksa -xUa -xnN -fiT -xzN -xUa -lhd -vHk -hSc +heB +cFv +nve +fLs +heB +ijs +nCG +gdD mDv -avI -eNi +qqX +aSo ryc nBk ppU cIi -kSi +vCO fnt -lfT +dgI fxk -aaB +mnG msk nst nst nst rBb -jkU +pSo qRc pxw pxw @@ -100072,20 +100073,20 @@ rHA mfE mfE xWj -iHb +nXv vTX sJm -cIv +lXo tLo -gGV +cQW tLo ogz -qQq +iPJ fuS dxW -wzI -lVd -qQq +cEH +nhv +iPJ rhW ksa xXP @@ -100113,16 +100114,16 @@ jKd lGU bar nFn -ium +qDG mUT xpb vvy hjG -fUX +iuL rdk -xog +plu sDl -tNO +hgy hjG hjG hjG @@ -100131,17 +100132,17 @@ fPN bvR dwJ nZL -kmX +etz eTY -lyX +hNa uyU -djl +pJa vuA -lLK -bHo -nuv +wzA +rBW +ftK lHR -buK +uOm gbD rBj cjW @@ -100150,66 +100151,66 @@ izu rkX ftk snq -qUs -plv -gMe -pVG -dnA -inA -fDg -ecg -xoe -tWK -iUz -hUQ -kZH -iUz -iUz -hlL -lOJ -lOt -qdV -izQ +ykk +hXO +maS +lgE +eFw +uRU +svm +vqL +lxc +lkr +lXN +sxF +exc +lXN +lXN +hIT +yii +ubT +nyz +gBI oKy gbD gvW sRZ -nSU -gxO -vqL -coW -vuT +pvC +pTf +hAt +wCY +qsc sRZ xXP -lhN -hSc -vHk -vHk -lTk -vHk -vHk -lNt +crz +gdD +nCG +nCG +rif +nCG +nCG +xdr mDv -teS +lUN qdl wzw jdg -itM -ugZ -mHm +wSD +idS +pTJ aOv -eyU +bdn fxk -ycL +dWL pxw kNJ pxw -xwq +jTu ceX bGX qRc pxw -aVI +qot pxw ihh ksa @@ -100329,15 +100330,15 @@ rHA yaX yaX pHz -iYP +oZi vTX -sLA +eWC oER tLo tLo tLo phd -qQq +iPJ fuS dxW rhW @@ -100348,7 +100349,7 @@ fEP fEP fEP vpG -eoo +eUJ olp oVC hYU @@ -100373,11 +100374,11 @@ hDp hDp blR xpb -lBZ -fJb +lbr +fvw rdk rdk -qid +exp qiC iOl oNs @@ -100389,14 +100390,14 @@ cGR dwJ nZL slt -ltB -aRB -ltB +wgH +euz +wgH lZv vuA lHR lHR -jYg +jYr lHR snQ gbD @@ -100407,45 +100408,45 @@ ftk kGs ftk snq -dPH -rNL -rDY -iUz -dnA -rXH -xlS -aqI -cnD -lNT -cWi -ruf -cWi -cWi -okM -sQo -bgN -gGD -qWF -qWF -tpE -qqz -dQR +oJJ +mfP +cXr +lXN +eFw +vDe +heb +omx +djx +oaH +blm +dNO +blm +blm +hkN +wDV +gMH +ptV +ruF +ruF +kgK +vrv +rds sRZ -uOV -htW -gBF -sYv -tzT +aod +brY +oUT +ylN +mwl sRZ ksa -xUa -hiz -vHk -omC -xUa -xzN -vHk -qYN +heB +eCg +nCG +wJJ +heB +fLs +nCG +tTl mDv tlO tlO @@ -100458,16 +100459,16 @@ aWm tlO enU enU -tNd -tNd -tNd +xUE +xUE +xUE enU enU -tEm -oIb -vAN +xwc +sPT +gHY blv -krH +iHr ihh ksa ksa @@ -100588,13 +100589,13 @@ mfE xWj sJm bMw -kXK +fch oER -gfF +vel tLo tLo -oPP -qQq +jzb +iPJ fuS dxW rhW @@ -100607,13 +100608,13 @@ ksa vpG okt dli -eIJ +sdW jsw eoc vpG -ogH -cEi -lWp +pNp +hAb +gVH iXP ntM ntM @@ -100627,28 +100628,28 @@ jKd qFF kqh kVG -ium +qDG mUT xpb vvy hjG -aNs +nAk ahZ -xog +plu pnG -uOf +lyi hjG lCg -hDN -rpu +nWE +clM fPN wQG dwJ nZL cvS -laR -laR -laR +cgH +cgH +cgH cvS vuA mxi @@ -100664,67 +100665,67 @@ sPC fuf ftk snq -wVV -lUO -fNW -iUz -dnA -ecm -aJi -sXS -qik -lNT -iUz -hUQ -rGH -oIs -hDi -rwf -rGH -lOt -bfP -fxJ +pmP +snj +cjX +lXN +eFw +iMb +uiJ +cER +xYF +oaH +lXN +sxF +muY +gOc +iOu +qRi +muY +ubT +xWP +utl oKy bzW jmc sRZ -dIh -eop +keY +lsy sRZ -euC -xjx +gDh +rzL sRZ tbp -xUa -xUa -rhE -xUa -xUa -xUa -rhE -xUa -xUa -vrm -mEZ -atM -uWr -htE -tAf -qWZ -aTC -eWx +heB +heB +aeN +heB +heB +heB +aeN +heB +heB +mGc +iGM +aLg +dkK +kmc +xvi +oHr +mfi +can enU -wjB -ika -twN -nFw -iwa +wtb +oiF +sRO +iue +kIb enU enU -qCh -vuz -jKu -lQB +wCZ +reY +edN +sYG fiA ksa ksa @@ -100845,15 +100846,15 @@ yaX pHz sJm bMw -qnN +iuZ oER -uMg +eXs tLo tLo tLo dxW fuS -bnn +lks rhW uoo uoo @@ -100884,14 +100885,14 @@ hps ksp xvF dzU -ium +qDG mUT xpb cwK hjG hjG -rdb -rdb +kmb +kmb hjG hjG hjG @@ -100903,14 +100904,14 @@ fPN aOZ fPN hOx -mbU -ndr +syR +emB uVO ihC lHR lHR lHR -ivd +xtB hjB hjB gbD @@ -100921,17 +100922,17 @@ ftk fHb ftk snq -xdx +aHk lDX -xdx -aOQ -dnA +aHk +tKN +eFw lDX lDX lDX -iBc -lNT -gwJ +ouZ +oaH +nLL oNk oNk oNk @@ -100941,47 +100942,47 @@ oNk oNk oNk oNk -utT +iqN bzW -gPa +iXO sRZ sRZ sRZ sRZ -ruC +hon sRZ sRZ -nJc -eTx -jSu -wmn -xCk +pmJ +bYu +krJ +dXa +twt tbp -cYN -wmn -abC -asi -dly +tjz +dXa +tRV +tHK +ezG mkG -pyE -pMb -pMb -pMb +rNZ +ssp +ssp +ssp niO -pqF -vTT +vJp +mOy enU -qnx +ruc dsX -gkG +eak dsX -paH -rpT -kYR +tsp +gqr +ccb jqs -cCc -oKM -psF +xRD +bul +mPp ihh ksa ksa @@ -101100,16 +101101,16 @@ tFK mfE mfE xWj -tyX +ojw lEa -wtv +mFu oER -mQx +gfF tLo -oaa +rHL ajn -auk -wOy +lZT +jfA dKa rhW ksa @@ -101120,8 +101121,8 @@ ksa xXP vFa krQ -tBp -nDu +lKb +dZj erA qzw wEy @@ -101129,10 +101130,10 @@ wbA evD kIA vFa -nXP -hSy -cPX -eZq +rLu +dLf +mon +dLC crM mkR tWx @@ -101141,7 +101142,7 @@ jKd lGU nzC nFn -ium +qDG mUT xpb bwI @@ -101152,25 +101153,25 @@ jFF jFF ebp rpB -fyZ +wZs jFF jFF bhj qFu jzk pAk -kwV +tUB jFF jFF -qYf +cYI jFF -xJJ +grK bPm pRz mpW hjB hjB -qet +qdf cjW hNM udd @@ -101178,66 +101179,66 @@ ftk nul ftk snq -ibp -vEp -lcD -iUz -dnA -bLC -pVV -dyL -iUz -lNT -iUz +fdx +yfP +wEI +lXN +eFw +jbb +pOS +qEI +lXN +oaH +lXN oNk -dCg -nAj -bYr -nad -hhC -fiw -vbJ +dLy +pwf +juq +mgN +nsH +nQF +pUn oNk oKy -beP -cQl +ijF +apO eVF -iyE -vVA -kyX -aTC -tAf -gIy -tAf -tAf -eNx -qGy -gIY -nyW -mAO -jHl -eFX -qkv -xFo -ePY -sLG +vVy +kPK +rcB +mfi +xvi +mrs +xvi +xvi +rxD +bXN +pVw +aeU +iVx +kum +qnr +mLy +xrj +iLE +fcj tmI iXl nrN -gSL +vpD hnS -ovO +jLO enU -eRr -gkG -kQz -oJd -mEl -wOC -kYR +baT +eak +kUq +eky +qwh +oGN +ccb itv pxw -twQ +ryC pxw rOv ksa @@ -101361,7 +101362,7 @@ rHA rHA rHA tFK -iiC +bYe tLo tLo rhW @@ -101386,10 +101387,10 @@ hrk duF gXZ oCE -kMD -jNZ -jNZ -lCI +lRa +pUE +pUE +czK abc cXi tWx @@ -101400,7 +101401,7 @@ lFp lFp lFp xfg -xZK +dDK xpb grj xpb @@ -101435,31 +101436,31 @@ adK ghN ftk snq -bQz -qWa -eXL -ilu -nFf -bgQ -nAa -bgQ -bgQ -iEM -gzw -wHG -evA -awn -bPU -nXt -eFO -awn -bOR -ryM -xQr -iQR -tmP +tnS +rjN +rnb +gQT +oLX +rLt +aqg +rLt +rLt +sRV +oFq +obr +oEX +hZl +gVe +fSe +uHx +hZl +bHJ +buP +yaH +duZ +iKp gRv -cPZ +rrb ddQ ddQ ddQ @@ -101467,34 +101468,34 @@ ddQ ddQ ddQ rSO -fei -oBD -ofJ -qej -yeR -ibZ -uhv -uhv -pqF -ujV -sLG +onF +pXk +qMM +wCw +lMU +rKq +uYH +uYH +vJp +xog +fcj uIi fpF qFt -jVm +wAC mkG -lEv +rHk enU -eHe +nlY dsX -dIu -jdh -oGT -mdk -qRR -goC -dnW -aIi +vJs +hNG +rEy +mas +gNV +oVI +grS +dXH pxw ihh ksa @@ -101619,8 +101620,8 @@ uoo ksa rhW xUs -sat -dpo +wjo +rMC rhW ksa uoo @@ -101636,17 +101637,17 @@ jLu qIB qbh oRs -csZ +cNl gGx dAx -iuI +jzO lZV jZp -jRr -pbc -skd -jNZ -vQD +sml +pVM +sGh +pUE +gwZ abc cXi tWx @@ -101655,28 +101656,28 @@ lFp kmO nUv gMm -bTq -tir +gzY +bsH xpb dTS mXB -lrd +hmZ fHX -jUa +qsZ dTS xNW xNW -gXO +cUB muG dHx qou hYC jzk ckh -pCs +tZM xNW -fLA -aQG +sPA +sKP xNW uTw wtX @@ -101684,7 +101685,7 @@ pRz mpW hjB hjB -kMH +tBE cjW eIw mMQ @@ -101692,66 +101693,66 @@ ftk eaf ftk snq -wkb -hny -kLF -iUz -awG -udk -fFK -oFj -iUz -awG -aiX +rIf +oOG +gEy +lXN +jit +vog +uts +gdk +lXN +jit +pxK oNk -uQl -qOJ -iuq -hFY -fGn -gqf -qoT +gAe +vYo +dCs +wyE +xuo +krl +lRU oNk -fVh -lEI +cUu +sYD rUY eVF -xfN -rxF -kdZ -lfg -fcr -tnQ -fyA -pYd -fyA -cmt -fdb -nyW -qKG -fyA -aEs -cXh -gnj -llk -sLG +prg +wMU +aoi +qUc +lXB +mwP +qJR +vAC +qJR +fMh +woR +aeU +jCZ +qJR +rJg +vDo +bqG +qRZ +fcj iol ceH gRE -koM +eWM phr -rEo +qqt enU -dTZ +oAw dsX -xOy -xBX -iHk -wOC -kYR -lpc +qBB +lqB +aOp +oGN +ccb +jYM pxw -twQ +ryC pxw rOv ksa @@ -101892,19 +101893,19 @@ xXP jLu kVk oxt -klQ +ifr peg wIi eMH -sKg +hCV hcJ ptM leC -aml -kxH -cQe -ghs -cvK +vvG +jRx +jRb +crj +xXu rWE tWx xnG @@ -101912,15 +101913,15 @@ pNK vhd xoP vOq -hDs +eAL hwe xpb mKW orb -tHc +vfp fHX -jUa -lNw +qsZ +dev mZc mZc mZc @@ -101928,7 +101929,7 @@ mZc mZc mZc mZc -nIs +pwQ mZc mZc mZc @@ -101949,17 +101950,17 @@ ftk fHb ftk snq -xdx +aHk lDX -xdx -cky -awG +aHk +oEo +jit lDX lDX lDX -wSR -awG -luL +iEa +jit +uLs oNk oNk oNk @@ -101969,47 +101970,47 @@ oNk oNk oNk oNk -xQX +xYa bzW -ooJ +fGm tgG tgG tgG tgG -rRZ +pPC tgG oqK -tAI -abC -szY -lwL -nWS +hEP +tRV +lGj +tcl +jwA tbp -sMY -fxU -lxA -asi -cNN +knG +xyn +lRF +tHK +tmw mkG -gxP +ebt baL baL baL jty mkG -vML +utp enU -nev +blq dsX -nVC +wgG dsX -cEN -bFj -kYR -rZy -jUC -wBY -krH +xXb +vZk +ccb +bDI +vOv +ujG +iHr ihh ksa ksa @@ -102147,20 +102148,20 @@ fEP ksa xXP jLu -aQy +nWa egC -xnn -kIQ -gxN -tsP -oDW +lUe +csw +kli +iax +oYR kvh bCT -jRr -pbc -tlp -rZs -jLS +sml +pVM +tMw +ulz +lle abc cXi tWx @@ -102169,15 +102170,15 @@ lFp aen wqy xqM -bTq +gzY mUT xpb pPM orb -ukt -kAo -wol -iJC +qkj +gWu +aRj +vwI mZc klX ogk @@ -102185,18 +102186,18 @@ lTB pME mZc vWa -oxz +jlg aTS lTB mZc -qsx +rRh uBt ruJ mZc rSy mZc dec -loy +aKL xJY gbD cjW @@ -102206,67 +102207,67 @@ ftk pCf uiA snq -kXN -ike -mvH -iUz -awG -rPK -xnC -xDr -hpL -awG -iUz -hUQ -kAV -vib -vXu -nQh -kAV -lOt -bIY -qmM +lhX +gWe +rcH +lXN +jit +har +kkR +qbY +iNy +jit +lXN +sxF +dEZ +oYw +nBp +iXD +dEZ +ubT +vtx +qwI oKy bzW -mtN +szA tgG -tfi -alM -aco -lku -elt +dhR +aWP +sWu +loM +rkM oqK -kaD -wce +kPw +qHX ufs -dMW -lls +rmG +ano ufs -jmg -hKX -jWT +pJT +rjq +nWq ufs -xeH -tYz -fyA -uaf -rAO -uaf -fyA -tZe -bVW +cDM +kkv +qJR +rGP +ibq +rGP +qJR +chO +lhP enU -vDr -vNz -iki -lXl -nrk +kMe +pXW +cjr +urS +fwa enU enU -pWl -vuz -fLJ -lQB +rpN +reY +gAo +sYG fiA ksa ksa @@ -102414,27 +102415,27 @@ sFH kWi gXZ oCE -gqF -jNZ -rZs -nJo +vII +pUE +ulz +ocM gmh rZY tWx roe lFp -poj -huy -poj +vnh +xwd +vnh lFp gZb xpb -xdV +ylI fld -bBE -lZS -xGN -bBE +beL +eHl +lAk +beL mZc oJR cMA @@ -102442,13 +102443,13 @@ wEA wEA mZc lTB -oxz +jlg wEA ogk mZc -jXu +bvP wEA -jXu +bvP mZc mZc mZc @@ -102463,67 +102464,67 @@ bXB tJM ftk snq -eRL -uXH -pxl -iUz -awG -nkc -qcN -ucY -cnD -njw -bgQ -pDY -bgQ -wPc -okM -cWi -cWi -wkS -syM -syM -xAB +mEy +bpq +jsA +lXN +jit +bWa +uxZ +cBx +djx +dty +rLt +oDs +rLt +lxl +hkN +blm +blm +duw +byW +byW +ulM bzW -jQr +czq tgG -rng -cNO -cNO -lku -uAC +qvX +leq +leq +loM +jtg oqK -dRU -phq -mie -czE -veV +usC +lIq +qfe +wbQ +eAQ ufs -jYL -cjI -cDg +jsu +swf +qsV ufs ufs ufs ufs -gKN -oqA -gKN +dJU +sqD +dJU ufs ppP ppP enU enU enU -tzf +oGZ enU enU enU -raq -uXN -qpK +nhX +uvE +ffg blv -psF +mPp ihh ksa ksa @@ -102661,20 +102662,20 @@ fEP ksa xXP vFa -jrB +fQv vBh -nku -hRJ +xgT +sGY iqq pzW -lyw +izZ cZI vlf vFa -gay -ahC -kUa -nom +tIf +ozP +kvu +jNk crM cXi tWx @@ -102688,30 +102689,30 @@ hwe xpb jMP fld -pye -kAx -pZg -sbN +bcB +uEz +nPT +ofD mZc sPR wEA -jhq -beS -beS -beS -kjx +hDA +qWh +qWh +qWh +pGk wEA wEA -vzt +qgM wEA cMA wEA mZc ogk -diA +jTL wEA mZc -kTE +arF gbD wXC cjW @@ -102720,66 +102721,66 @@ nGw rkX ftk snq -liE -hDz -gVQ -iSp -awG -qWT -pap -kUQ -xoe -iUz -iUz -hUQ -rXT -awG -iUz -iUz -xrC -lOt -vqb -vwp +qtR +hnU +iER +lUo +jit +kFs +fFU +nbY +lxc +lXN +lXN +sxF +sAM +jit +lXN +lXN +jjs +ubT +sSD +mSe oKy mwc -xgj +jDr tgG -fpJ -xOq -cNO -lku -lku +afb +akH +leq +loM +loM oqK -wqc -uCo -iJZ -woV -bqQ +dqj +uqj +azv +nkW +idb ufs -xNK -wtQ -gJZ +sIV +fBo +hOg ufs -deF -jYP -okN -rKX -gIa -rKX -kdy +uoA +tRc +hMb +ufm +xOr +ufm +koB ppP -aor -vOY -wzb -mxg -cmw -azW -vmh +exF +cDn +dIZ +glE +beq +eWz +pIp ppP -jDr -jzd +bFy +vXJ pxw -sAH +rbm pxw ihh ksa @@ -102922,7 +102923,7 @@ vFa vFa vFa vFa -vii +oDA vVP vFa vFa @@ -102945,14 +102946,14 @@ lig uan vvy iXS -qJv -oCG -sOH -jvi +xPc +uGh +aIB +fFY mZc ogk wEA -oxz +jlg ogk mZc ogk @@ -102960,81 +102961,81 @@ wEA cMA wEA mZc -lzy +kKk wEA wEA -vzt +qgM wEA wEA wEA mZc -igl +dsD gbD hjB cjW wAZ ftk vcA -dPh +lwS lDX lDX rTS rTS rTS -knY +pDi rTS rTS hDl hDl hDl hDl -uCB -uCB -jXB -uCB -izy -uCB -uCB -uCB -uCB +qZF +qZF +vvl +qZF +uuk +qZF +qZF +qZF +qZF xEJ pDZ xEJ tgG -rng -pZj -cNO -alM -lku +qvX +tRz +leq +aWP +loM oqK -ide +ujc iGG -hFz -woV -fiv +pbl +nkW +mpY ior -sxJ -tQt -fiv +lbp +hol +mpY ior -sxJ -yiD +lbp +ory iGG -xiS -tQt -lyA -tSA +tvS +hol +tiY +eKQ ppP -eLy -qgO +nGL +kaA sWy -aIA -vqc +aCF +nLR sWy -hXQ +rlr ppP -jDr -jzd +bFy +vXJ pxw pxw pxw @@ -103175,20 +103176,20 @@ mSP iUB iUB iUB -acc -ymi -vDw -tQM -iSg -gkK -kvw -mcY -flK +cbx +eKH +gxA +rsC +gJo +fTo +fWc +dpL +lyF ell rhY yio hhj -aGd +jiv pEr cXi tWx @@ -103203,13 +103204,13 @@ fHX vvy tlW pwp -oCG -hkz -xbJ +uGh +nOJ +aqp mZc klX wEA -oxz +jlg wEA mZc pME @@ -103217,15 +103218,15 @@ wEA lTB rKU mZc -lzy +kKk lTB wxP mZc fTi -fjv +kKt lTB mZc -qMU +oDD gbD hjB cjW @@ -103233,68 +103234,68 @@ wAZ fsd kGs nHp -nfw +oqF ftk rTS -mSC -pzp -vDV -dFA -ocP +mUJ +hGG +trn +vEQ +qnY hDl -iVH -fIH -eia -uCB -gGJ -piO -loo -hOr -pCd -mTV -aul -uCB +cea +jKD +oVV +qZF +iUV +ybT +afH +pjg +tdw +rmc +eKz +qZF ePw mwc -xgj +jDr tgG -ewK -cNO -cNO -pZj -lku +rnQ +leq +leq +tRz +loM oqK -vYd +mxF iGG -xiS -blB -bwK -vQV -uIh -vVG -bwK -ulf -uIh -vaT -iUc -aFN -nBJ -nBp -tQC -bfT -tmQ -dPO -anW -iRJ -qkP -dPO -bjf -jxf -pXp -fbE -izU -izU -izU +tvS +mlB +swg +tAw +mhL +mcy +swg +aMk +mhL +gZI +cbE +dLz +uZL +cSw +qEq +nzE +eEP +tzf +pmw +dIl +pDv +tzf +xrQ +ulE +iZl +gAU +vLM +vLM +vLM ihh ksa ksa @@ -103430,17 +103431,17 @@ fEP ksa aVH meb -cXt +tdW meb -sBM -uol -uol -uRD -uol -wfF -kPm -mcY -que +nua +hPL +hPL +uJw +hPL +bha +cJs +dpL +crd sHr cdi sHr @@ -103449,7 +103450,7 @@ tTx rzM pwT tWx -vGY +jSo gPd lHi lHi @@ -103460,13 +103461,13 @@ eBg vvy pia pwp -oCG -sOH -lsQ +uGh +aIB +jqp mZc mZc mZc -oxz +jlg mZc mZc mZc @@ -103482,7 +103483,7 @@ mZc mZc mZc mZc -xwg +uop gbD hjB cjW @@ -103492,25 +103493,25 @@ eBj bXB izu ftk -tdz -gKH -bqk -kAW -jyV -vpu +tGB +xjj +cAO +vKi +doK +jek hDl hDl -dzE +rFF hDl -uCB -uUs -qAq -kps -dQg -lqu -cYI -tZE -dBO +qZF +yiN +tBr +iFM +nIR +jOT +mNZ +pjP +gZm oKy mwc bSC @@ -103519,40 +103520,40 @@ tgG tgG tgG tgG -lku +loM oqK -tHe +vjK iGG -xyU -oRc -fiv +aJd +aru +mpY ior -xRW -tQt -hSp +asb +hol +wSx ior -sxJ +lbp iGG -jot -dYz -vyX -kfc -wKE +sBl +uzZ +xWU +lOB +pcL ppP -jlx -vHf -lEo -lEo -lEo -sJq -psg +qlO +cuS +kGw +kGw +kGw +ceo +hZR ppP -gZd +mBl cUV -izU -izU -izU -jEL +vLM +vLM +vLM +gHK ksa ksa ksa @@ -103689,20 +103690,20 @@ aVH mGB gti rhv -ihJ -xYr -xYr -ddu -ddu -wfF -nXA +wrY +nDc +nDc +gFz +gFz +bha +bLH dTx rnV isc isc isc mAr -kKm +oxE pEr cXi tWx @@ -103712,18 +103713,18 @@ gLS jcd aON lHi -bsp +kFT kWX uAv pjT -ouP -oCG -iPu -jmQ +jyw +uGh +idW +acQ mZc -oJt -qsx -oxz +hwq +rRh +jlg aXc mZc vro @@ -103732,12 +103733,12 @@ ncd aOY mZc pkR -bZa +vhi voi -wIn +aTJ tBy -fIt -fqJ +jFm +mId tZr ows gbD @@ -103749,72 +103750,72 @@ eaf uiA baq ftk -tdz -ora -sMv -xLP -sMv -heo +tGB +ajo +apE +kLE +apE +mMh hDl -lcP -bEE -ovv -uCB -vcY -bMS -wvX -rny -xNS -duk -dJx -uCB +fTZ +gaC +vRa +qZF +lmQ +pPp +tyr +rmm +qbD +laJ +fXQ +qZF oKy mwc bSC qCg -sjM -evs -kEM +oaL +kRI +oYX tgG -lku +loM oqK -iJa -uLX -edH -oRc -gJZ +fWh +nZx +lxN +aru +hOg ufs -kns -tQt -taM +fnc +hol +iJb ufs -pNP +xrO iGG -jzJ -hJb -jzJ -kfc -gmT -aFZ -xgB +sSP +kSm +sSP +lOB +ofs +usy +eqC sWy -geC -tmB -oXN -hBI -cGO -aFZ -iVj +aOE +tyd +aXV +lrS +kwA +usy +vDN cUV -izU -izU -izU +vLM +vLM +vLM ihh -xOH -bCy -bCy -iiE -xOH +rlH +tNy +tNy +sTj +rlH ksa ksa ksa @@ -103944,16 +103945,16 @@ fEP ksa aVH meb -gki +sAz meb -sBM -mVx -uol -gvK -uol -uol -kPm -mcY +nua +hue +hPL +xkt +hPL +hPL +cJs +dpL lqh sHr oMj @@ -103973,14 +103974,14 @@ jKd jKd hDp fld -lat +wBD opa -jju -xzm +gpg +hYJ mZc mZc aXc -jDy +doi wEA mZc rKU @@ -103988,13 +103989,13 @@ cMA wEA iJc mZc -aoX -aoX -aoX -aoX -nrl -tGC -pxU +pMW +pMW +pMW +pMW +jMa +uNL +eec tZr xAc gbD @@ -104007,71 +104008,71 @@ ftk vfi eaf rTS -lOf -uIU -ebN -jqW -mIf +uYs +lkP +ewo +izW +kTa hDl -ikt -ulb -nII -uCB -uCB -aWN -uCB -uCB -uCB -uCB -uCB -uCB -prc +mxO +lEP +cKA +qZF +qZF +ruS +qZF +qZF +qZF +qZF +qZF +qZF +roV mwc bSC qCg -wOK -hgh -jNT +wHh +cvx +cCe tgG -lku +loM oqK -wyE -kGq -pbT -iMR -eGN +aZu +cuk +veG +vrD +idY ufs -rPh -dJB -npz +qZp +msH +pdV ufs -lIh +xnP iGG iGG -woV -kfc -kfc -oUv +nkW +lOB +lOB +fdR ppP -sYD +xwP sWy sWy -dRp +eQa sWy -shx -qcX +ljf +kqC ppP -jDr +bFy cUV cUV cUV cUV -hdF -tqT -jlE -jlE -iiE -xOH +iPz +hwj +nxa +nxa +sTj +rlH ksa ksa ksa @@ -104203,14 +104204,14 @@ mSP iUB iUB iUB -kIR -prf -aYE -aYE -aYE -sDq -fPL -mcY +cnL +fUg +lID +lID +lID +xhy +dGe +dpL lqh sHr sHr @@ -104232,27 +104233,27 @@ jKd gFi ovS pwp -bsg -tef +xbX +oya xkV mZc sPR -oxz +jlg wEA gsz wEA wEA cTL wEA -kwK -aoX -aoX -aoX -aoX -jeL -oCJ -ekn -pMU +wKD +pMW +pMW +pMW +pMW +tFX +bWo +eNj +cMP cKI gbD hjB @@ -104263,82 +104264,82 @@ luJ fuf ntG ftk -tdz -ora -uzl -bOW -pTP -brE +tGB +ajo +rfj +dRC +kgD +bWY hDl -xdK -cbD -iaD -uCB -jEt -bMS -iNY -fWR -mEz -uCB -vEm -uCB -vyt +sFs +wpM +uFZ +qZF +mok +pPp +vDj +kCC +ftw +qZF +tEW +qZF +xeK mwc ygO -blC -sVB -qhW -fPj +kgI +wlw +luQ +qbH tgG -lku +loM oqK oqK oqK oqK -qNq +qED oqK oqK -jnS -xtS -jnS +fVi +dYW +fVi ufs -yaQ -onk -oNF -tMn -hqV -nyQ -oZn +ijv +gNC +bFK +hCk +wgQ +uBV +gJV ppP -tuK -gyl -rOR -hlb -hat -fFd -fbT +uyN +nZU +ama +qbt +ycl +nJW +xIw ppP -tfN -oYQ -qzl -qzl -qzl +kEZ +koi +wZS +wZS +wZS fBU -xOH -uGA -jlE -bQu -xOH -xOH -xOH -xOH -xOH -xOH -xOH -xOH -xOH -xOH -xOH +rlH +eyJ +nxa +ceF +rlH +rlH +rlH +rlH +rlH +rlH +rlH +rlH +rlH +rlH +rlH ksa ksa ksa @@ -104462,22 +104463,22 @@ xXP mrP mrP mrP -xSA -xSA +uea +uea mrP mrP pEr pEr -rCh -eri -eri -eri +uAp +nur +nur +nur mAr lLk prj cXi tWx -gnK +pxs lHi lHi lHi @@ -104489,12 +104490,12 @@ jKd ntE jrr pwp -bsg +xbX jrr -dEE +wIP mZc rKU -oxz +jlg lTB mZc ncd @@ -104502,13 +104503,13 @@ ogk wEA lTB mZc -aoX -aoX -aoX -aoX -jeL -nNQ -qBy +pMW +pMW +pMW +pMW +tFX +mTL +bUw tZr xAc gbD @@ -104520,49 +104521,49 @@ ssT ftk uiA ftk -tdz -qmj -mUu -xZD -wtM -gwq -iAZ -jtv -lyF -lco -nuc -tZE -kGo -lrx -xfA -noo -gVB -shq -uCB +tGB +bKd +nYN +jla +aKW +gJC +aIT +rnz +wkU +rTI +dYi +pjP +iHM +pFm +oWg +tXo +qsh +tDg +qZF oAa -nTS +nmz phj -blC -sVB -xxX -mAB +kgI +wlw +edL +lGC tgG -lku -cNO -pZj +loM +leq +tRz tgG -fpJ -lku -rng +afb +loM +qvX oqK -rtO -akY -wmy +lQS +dGs +uuR tYU tYU tYU tYU -vsb +hMu tYU tYU tYU @@ -104581,21 +104582,21 @@ jaf jaf jaf jaf -xOH -bMM -jlE -iiE -dcA -aIk -aIk -aIk -oGL -bCy -bCy -bCy -hpW -bCy -xOH +rlH +pVh +nxa +sTj +xYG +qER +qER +qER +jwM +tNy +tNy +tNy +lyD +tNy +rlH ksa ksa ksa @@ -104717,28 +104718,28 @@ fEP ksa xXP mrP -pOC -rQs -mkx -lFE -bLO +juL +vxK +aMe +rSB +woS mrP uqt hYk mKa -rlB +xIn kYB ilT mAr -qsG +rjr pEr mkR tWx oYp bvp -bqH -hUW -pTK +vNc +wSp +cMR vfV vBL vHc @@ -104751,23 +104752,23 @@ gzy ces mZc ogk -oxz +jlg aXc mZc pME -kNA +vlt wEA pME mZc pkR -ojr +mof voi -wIn -sIW -ajR -vNF +aTJ +vmk +bVl +bkT tZr -aeJ +rVn gbD hjB xLi @@ -104778,81 +104779,81 @@ ftk pDn imr rTS -xvo -lnK -lpE -vUx -twv +noA +xIM +bWj +fQm +mqn hDl -uFK -vDX -xtm -uCB -maE -oYJ -rhI -gOR -rlc -uCB -dTM -uCB -iID +fuF +fQl +oeB +qZF +tOa +lPz +ewI +tvr +qAp +qZF +mNr +qZF +nBP mwc phj -blC -fnU -hgh -sVB +kgI +vwz +cvx +wlw tgG -lku -xOq -uAC +loM +akH +jtg tgG -cNO -lku -pZj +leq +loM +tRz oqK -dAN -ngT -dGJ +jUs +efJ +iNh tYU -uir -oax -ngV -jCD -pkd -fHn -qqi +aFM +fUr +bmR +mHX +fCF +fAW +fXl jaf -sku -uOw -iPi -pHN -jSP +dnC +uRS +azV +iHa +vaz gkZ -kIE -gKU -rEU -woE -vbi -wSn -imB -nRD -xOH -oyS -jlE -fHc -wXR -wXR -wXR -wXR -wXR -wXR -wXR -wXR -wXR -opO -ivS +hGI +rAf +rVK +qGm +vll +klA +qWy +iah +rlH +vQB +nxa +hUq +ejx +ejx +ejx +ejx +ejx +ejx +ejx +ejx +ejx +oeS +hSg kiv kiv kiv @@ -104973,13 +104974,13 @@ ksa fEP ksa xXP -ygY -abT +mcI +mCE mqW heD kCR -uUq -tcM +vjX +nGY qdz sHr cdi @@ -104987,7 +104988,7 @@ xzX xzX pvh qlQ -ciG +hWo pEr khr tWx @@ -105008,7 +105009,7 @@ afl otH mZc mZc -oxz +jlg mZc mZc mZc @@ -105020,19 +105021,19 @@ mZc mZc tZr tZr -nQD -aYu -qss +adJ +dqq +tYp tZr -hus +hPz gbD hjB cjW -cQC -xnE -flc +tnt +tez +qey qxm -wRW +luO yiw rTS rTS @@ -105044,48 +105045,48 @@ hDl hDl hDl hDl -uCB -uCB -uCB -uCB -uCB -uCB -uCB -uCB -uCB +qZF +qZF +qZF +qZF +qZF +qZF +qZF +qZF +qZF cWX mwc bSC qCg -uTO -sJa -bnA -sls -lku -lku -lku -lku -lku -lku -eJp +ufh +oJZ +woa +jei +loM +loM +loM +loM +loM +loM +ime oqK -mVC -hyo -nUh +tuW +wcc +mlk tYU -swJ -cTG -uql -mfR -cTG -jeI -cKS +vkR +lgV +imT +bnb +lgV +jyC +hDu jaf -klM -gie -aSs -fDD -jSP +hNR +wrT +tNI +tUk +vaz gkZ pfo bXv @@ -105095,21 +105096,21 @@ pfo pfo pfo pfo -xOH -bCy -bCy -bCy -dcA -bCy -bCy -bCy -bCy -bCy -bCy -bCy -nrd -bCy -xOH +rlH +tNy +tNy +tNy +xYG +tNy +tNy +tNy +tNy +tNy +tNy +tNy +hOA +tNy +rlH ksa ksa uoo @@ -105230,8 +105231,8 @@ xXP fEP xXP xXP -ygY -mhf +mcI +dqJ vPG bYx icu @@ -105255,7 +105256,7 @@ hqW byk oYp ttO -bTe +xRP hDp vUJ rLK @@ -105265,8 +105266,8 @@ sFb jnc mZc lTB -oxz -nmX +jlg +gjD lTB mZc rKU @@ -105275,13 +105276,13 @@ sPR pME kNk mZc -uiX -pqq -jki -aYu -fAQ +jzf +nDr +rSf +dqq +jxp tZr -tGD +lMf gbD hjB oPl @@ -105295,9 +105296,9 @@ mzq cOn fgC pkv -iMN -wSs -pYh +qfb +bwi +vCm tXM rZB mzq @@ -105308,65 +105309,65 @@ mPK mzq mzq mzq -huJ +aDQ mzq kOo mwc bSC qCg -uAb -ajX -sgI +ppp +vsj +xhE tgG -cNO -pZj -alM +leq +tRz +aWP tgG -pZj -lku -xOq +tRz +loM +akH oqK -bkC -hdi -tQI +sPj +hjT +bJF tYU -bqT -iNl -iNl -vau -lNb -tOw -uHc -gyc -mDl -nUH -bzm -kgc -kgc -bGY -tAZ -kch +oFQ +kyC +kyC +lrU +ulY +rhg +hrv +bOV +fop +qkO +rEO +wiC +wiC +dwx +uoX +ffC pfo pfo pfo pfo pfo pfo -xOH -sXO -sXO -sXO -xOH -xOH -xOH -xOH -xOH -xOH -xOH -xOH -hfI -xOH -xOH +rlH +xfL +xfL +xfL +rlH +rlH +rlH +rlH +rlH +rlH +rlH +rlH +nbx +rlH +rlH gzZ gzZ gzZ @@ -105487,13 +105488,13 @@ ksa fEP ksa xXP -ygY -fSW +mcI +dyG tCR aAl hve -soW -tcM +jer +nGY qdz sHr oMj @@ -105501,13 +105502,13 @@ dTK dTK jch mJw -gvF +tZn pEr kfT eMb kfT kfT -tXa +oyq byk byk byk @@ -105520,9 +105521,9 @@ opa joH eFj bEa -pOt -uoE -nBV +tZk +wZy +dRZ wEA wEA gsz @@ -105532,14 +105533,14 @@ wEA wEA wEA mZc -uiX -uiX -rgE -tJZ -jPc +jzf +jzf +sRY +hFy +qjG tZr bve -sEm +sWh gbD gbD gbD @@ -105554,7 +105555,7 @@ ryN gbD kFM gbD -aIn +sDT hpC hpC hpC @@ -105564,45 +105565,45 @@ gbD hpC gbD gbD -uVC +sQu fxG fxG fxG bDt -buM +fyX qCg qCg -fdQ +txy qCg tgG -pYA -gte -pYA +twN +wHV +twN tgG -cbw -lku -kAb +aLS +loM +cvt oqK -uiM -hEh -rgL +nsT +lAb +avh tYU -fpq -cTG -cTG -gSg -cTG -tOw -cKS +eST +lgV +lgV +jzG +lgV +rhg +hDu jaf -cXE -ryz +wGM +oJD bXv -qay -moK +wif +wuB gkZ -vQE -sSP +ahz +dks pfo pfo pfo @@ -105614,20 +105615,20 @@ pfo pfo pfo rhD -pSV -kvL +amS +vqC pfo rhD pfo pfo gzZ -dFW -wCX -uWo -mRG -uWo -bTx -lKe +kFh +xFF +fbF +pEO +fbF +lga +thj fAE fgv kiv @@ -105745,11 +105746,11 @@ fEP ksa xXP mrP -mta -jOV -kFQ -hnu -aiG +osa +eoR +dXe +pQL +sRR mrP kfI wqm @@ -105758,18 +105759,18 @@ taN yjX hIl mJw -elu +ahI pEr -vah +vAj wbq -hqK +eAm kfT veX iNM rTx rTx -fWD -ayq +prZ +mqS hDp mBL ccL @@ -105779,7 +105780,7 @@ duu fYj mZc bsm -oxz +jlg cMA wEA mZc @@ -105789,11 +105790,11 @@ ogk pME klX mZc -uiX -uiX -nfz -uiX -izX +jzf +jzf +nDX +jzf +rcN tZr dIF fHA @@ -105810,7 +105811,7 @@ uJz bIf gbD nXU -wmA +aPI wXi dFB wXi @@ -105819,47 +105820,47 @@ cOn wXi uDj wXi -tjP +ewg wXi bqA wXi -iSM +sfZ wXi -ggy -ihg +wpT +iit qCg -vGn -mdA -jTc +mka +ooO +qPH tgG -iVx +ujW tgG tgG tgG tgG -lku +loM tgG oqK oqK oqK oqK oqK -qWn -hkj -vFJ -uBG -oDL -xMu -eTg +wsr +cTo +rgb +cGZ +oYQ +opw +koS jaf -bxi -iiR +tuJ +sUZ bXv -iiR -sWS +sUZ +qAg gkZ fwd -cLo +dOg bXv bXv bXv @@ -105878,12 +105879,12 @@ pfo pfo pfo gzZ -dyE -goP -vxg -iqP -vxg -bvJ +vaX +hKQ +cBh +kyM +cBh +pON uWJ gzZ fAE @@ -106010,38 +106011,38 @@ mrP mrP pEr pEr -pNZ +hit xzX xzX lvV mJw -mYI +dgC pEr yjA spo -gdg +ssJ cmI cmI -dfS +wyO cmI cmI cmI cmI cmI -rAA +rUS tvh xTF woo gLH -geB +qTW mZc lTB -oxz +jlg wEA -nmX +gjD mZc mZc -gvb +bjp mZc mZc mZc @@ -106053,9 +106054,9 @@ gGh gGh gGh gGh -wzL -wzL -wzL +rtm +rtm +rtm tOJ tOJ tOJ @@ -106069,53 +106070,53 @@ hNp rfU oBH oBH -vHT -lut +dLw +ylB oBH oBH oBH -aYa -aYa +gWz +gWz oBH rFk -ksu +mkn rFk -qUS -qUS -qUS -qUS -qUS -jwN -jwN -jwN +nxF +nxF +nxF +nxF +nxF +eDC +eDC +eDC tgG tgG tgG -cWF +kzY tgG -fEa -lku -cNO -pZj -alM -pZj -elt +hFN +loM +leq +tRz +aWP +tRz +rkM oqK tYU -kJo +fZS tYU oqK oqK -ycz +vat oqK oqK llH llH -uTo +xRB llH llH llH -rfB +dam toD yjP bAX @@ -106135,19 +106136,19 @@ yjP yjP wwQ mdp -dFW -dFW -dFW -dFW -dFW -esU -esU +kFh +kFh +kFh +kFh +kFh +hEE +hEE tsd xHf xHf xHf lyC -ecX +kHs bem bem bem @@ -106272,7 +106273,7 @@ hho hho uSP voQ -vbz +slQ pEr rID siR @@ -106281,8 +106282,8 @@ cmI nZo jWA jWA -xgz -eVT +gsQ +wIQ vPr wIv wIv @@ -106293,7 +106294,7 @@ mZc mZc mZc vhY -oxz +jlg wEA lTB mZc @@ -106307,7 +106308,7 @@ xaW krD fMj hLt -ewG +cAL rCx vsG aww @@ -106315,9 +106316,9 @@ byR tRX dCw vxD -gbH -qAZ -qJu +gNe +oIx +ajZ gmU qQa tOJ @@ -106325,63 +106326,63 @@ ybb wxL lbf oBH -tIw -qva -hfh -rJz -pch -dMo -ipp -klr +vbe +lNK +iGJ +guU +rgv +mTz +bhJ +sDc oBH -sLz -kUM -qHB -qUS -hEt -mpQ -uEZ -pBT -jwN -qjj -lHS -mwm -bJr +mzT +brs +obq +nxF +iEP +wHb +vsM +rNI +eDC +jul +nKz +hdM +dya tgG -qqy -fie -cNO -lku -lku -lku -lku -lku -elt +pBD +efz +leq +loM +loM +loM +loM +loM +rkM oqK -xmk -xmk -xmk +koT +koT +koT oqK -yce -lku -pZj +duS +loM +tRz oqK -dzR -kjV +rZh +kVH eVB -klo -xUC -lGd -qKy +lRt +hFO +afy +caD dgR pfo xzf pfo -qUp -qUp -qUp +nEJ +nEJ +nEJ pfo -cSQ +oZm pfo pfo pfo @@ -106392,11 +106393,11 @@ pfo pfo gZC gzZ -fAa +xXJ cgm -jDD -dsn -gBR +nrj +vMx +wEQ cgm cgm gzZ @@ -106526,23 +106527,23 @@ prj gla jaz yic -ylE -pnU -fJh +nFp +tDE +uxa xhW pEr pGV blX iGQ cmI -iNd -rjQ -iyI -uvW -sZN -orE -sZN -azD +pUL +gTE +gFP +elI +byQ +lgM +byQ +vdi fTu mZc aXc @@ -106550,7 +106551,7 @@ tmR aXc mZc wEA -oxz +jlg wEA wEA gsz @@ -106569,7 +106570,7 @@ iZM mOg nwM nVs -avL +sBN dCw pZs lXu @@ -106577,57 +106578,57 @@ uXe lXu lXu uVI -qeZ +uDX cHJ wxL kel oBH -dgg -mrX -xVi -sHP -okq -nrJ -hsT -yeg -raO -wID -nCY -gai -qUS -uiJ -pde -brY -nuK -jwN -eFJ -fQB -sob -kOM +ule +lme +slG +lyv +uJm +tcR +hYl +xHH +tCv +uSJ +gIP +lHA +nxF +ohH +hyi +fai +lSJ +eDC +fxV +cmY +cPd +cnY tgG -plH +huo tgG -uLZ -xOq -pZj -pVH -cNO -lku -elt +xLx +akH +tRz +mIu +leq +loM +rkM oqK -xob -xmk -lCN +blW +koT +iSk oqK -yce -lku -wWd +duS +loM +lCh gAM hRt ssL -qep -hzA -thA +xSw +xie +kgR ryX lMb vkL @@ -106650,11 +106651,11 @@ pfo gZC gzZ swp -pgv -iLs -qMO -jyb -oqf +xvz +cOP +vUc +qZX +qdN juH fAE uoo @@ -106781,33 +106782,33 @@ ebw ebw ljv ljv -jvd +cQS ljv ljv -twi +iBU cmI -pJz +hLb cmI cmI cmI cmI cmI -fQJ +vFs jWA -nOM -jcX -jcX -jcX -jcX -bgz -aLp -dqH -nZW -nZW -nZW -nZW -nZW -czt +eEx +lTp +lTp +lTp +lTp +fMr +gvv +quz +dMY +dMY +dMY +dMY +dMY +jeh wEA cMA mZc @@ -106821,8 +106822,8 @@ xzs gqj fMj nyn -txx -tzk +fib +xpO vsG cst nVs @@ -106834,33 +106835,33 @@ wMK lXu lXu cEO -qeZ +uDX cHJ wxL lbf oBH -wkM -qFP -iNS -dgP -okq -nrJ -rTf -myj -lut -bkW -nCY -jOM -qUS -qUS -tWc -xpK -tWc -jwN -nNt -lJZ -nNt -jwN +ehV +sgM +vex +eaB +uJm +tcR +wpB +gog +ylB +haD +gIP +qEf +nxF +nxF +hnO +wWt +hnO +eDC +ilG +uJn +ilG +eDC tgG tgG tgG @@ -106869,33 +106870,33 @@ tgG tgG tgG tgG -lku +loM tgG oqK oqK -lrp +mpe oqK oqK -pjM -lku -alM +wYy +loM +aWP oqK -hrH +uZc ltg eVB -fzi +qRN bHc bHT xHp yjc aoc -cdI +vrh pfo pfo pfo ulR rxo -wJm +oyt pfo pfo pfo @@ -106904,7 +106905,7 @@ pfo oLT pfo pfo -rxk +qhV jaf jaf jaf @@ -107041,25 +107042,25 @@ tvH jzo ats ljv -cCF +jOo cmI -fvz -sGP -orE -sZN -sZN -sZN -orE -sZN -vzK -jcX -iyI -sZN -sZN -fKo +mcj +oLe +lgM +byQ +byQ +byQ +lgM +byQ +tJX +lTp +gFP +byQ +byQ +pZS kpE mZc -nmX +gjD wEA ogk mZc @@ -107090,58 +107091,58 @@ lXu aug jLn tvV -vSo +xDy tOJ -rBn +rSW wxL lbf oBH -jJz -okq -okq -cBB -uhY -eqx -gUp -sZY +kgT +uJm +uJm +aHy +sZG +opv +nUK +cMO oBH -bkW -nCY -bkB -kLf -xYe -cnt -rhh -dhc -glU -pCP -rhh -iAK -exa -kxp -hAV -etJ -bcz -pDy -oiW +haD +gIP +czX +eav +avl +iot +apF +bnK +fDm +vTy +apF +hck +ttS +bAD +jPM +lDv +iVD +tQI +dps tgG -flV -lku -cNO -xOq -pZj -cNO -oNu +hdc +loM +leq +akH +tRz +leq +vsg tgG -cNO -lku -oEu +leq +loM +oiW uhz xbz iln eVB -fpV -ble +nTQ +rtI euK qrn nlI @@ -107161,7 +107162,7 @@ pfo pfo pfo pfo -cza +eXd yjP yjP yjP @@ -107170,7 +107171,7 @@ rim yjP gwY yjP -vJU +tdZ yjP wwQ pfo @@ -107298,26 +107299,26 @@ tIU qyx tIU ebw -xCc +vjA kpE -jcX -jcX -jcX -jcX -jcX -jcX -jcX -jcX -jcX -jcX -xCc +lTp +lTp +lTp +lTp +lTp +lTp +lTp +lTp +lTp +lTp +vjA mZc mZc -oLd +rWR mZc mZc mZc -gvb +bjp mZc mZc mZc @@ -107325,24 +107326,24 @@ bLy bLy bLy bLy -poQ +qdD uvU mwQ -bDz +ror uIl wLm pPz qhD hHJ jYp -lvP +kCI hmq pPz fzW nVs tTo dCw -jZa +oCz nkw hPO itE @@ -107353,61 +107354,61 @@ pmr wxL jmS oBH -fAn -okq -okq -aSx -aSx -uFH -uFH -svK -qmY -faC -cpP -mOZ -kLf -uWv -nvB -ixK -ixK -fbG -ixK -ixK -rRU -iIX -kxp -oKQ -vyZ -alB -alB -eBQ +hOn +uJm +uJm +fbH +fbH +cYG +cYG +hAD +mvd +wyZ +fYe +eYU +eav +rRP +agA +prP +prP +muC +prP +prP +juK +pJR +bAD +ljz +qhM +eyD +eyD +dju tgG -elt -lku -lku -lku -lku -lku -lku -gVU -lku -lku -niv +rkM +loM +loM +loM +loM +loM +loM +uNq +loM +loM +uSq oqK -kQX +mYk uXP -geR -ble -wNL +vaf +rtI +kaT ctz wZv pfo pfo vEP pfo -oKE -oKE -oKE +nFq +nFq +nFq pfo pfo pfo @@ -107555,32 +107556,32 @@ cmP muu yen ebw -mlN -sZN -sZN -vwE -sZN -sZN -orE -vwE -sZN -sZN -oDg -gYl -ayu +gUh +byQ +byQ +pcf +byQ +byQ +lgM +pcf +byQ +byQ +elX +xUN +rPh mZc vWa -oxz +jlg lTB mZc lTB wEA cTL -lpb +gKb aXc bLy -sTi -sZR +hce +kPW qoF jRs lyr @@ -107589,13 +107590,13 @@ uRJ jGV jNL pPz -bDm +jMc fde xqg aLo mXA pPz -xXk +kkr nVs dJe pdc @@ -107604,55 +107605,55 @@ oVo iNT qBR oVo -qeZ -kkp +uDX +ndX cHJ wxL lbf oBH -uKp -ejv -uTq -fLO -owN -tvQ -cdl -fuc +rvv +omO +sqI +oXO +lZk +iOA +ubP +akG oBH -bkW -nCY -dQC -tjL -erB -ixK -oZy -eRo -fXB -sPY -oZy -ixK -pxT -aaX -pTJ -lMZ -lMZ -vyZ -hie +haD +gIP +cuE +oCR +pKF +prP +hWP +hqU +cha +oPY +hWP +prP +mRa +jJs +sDg +nAy +nAy +qhM +kkD tgG -reQ -cNO -dFR -eJk -pVH -lku -pZj +vtW +leq +ecB +hLX +mIu +loM +tRz tgG -pYX -lku -rMV +oLV +loM +jnJ oqK evd -lJI +hzA xId crl jBr @@ -107661,23 +107662,23 @@ sgT pfo pfo ukC -pZY -wQa -wQa -wQa -wQa -wQa -wQa -wQa -wQa -slh -vuZ -wQa -wQa -wQa -rwa -itB -itB +pjY +pBQ +pBQ +pBQ +pBQ +pBQ +pBQ +pBQ +pBQ +enz +rRV +pBQ +pBQ +pBQ +ivD +rnX +rnX stI vnO vnO @@ -107686,10 +107687,10 @@ ppj pfo pfo pfo -imx +nIq cFT uHg -vot +waV aJU uoo fdt @@ -107826,19 +107827,19 @@ wIv wIv wIv mZc -jjm -oxz +nCL +jlg wEA -jqH +wNl wEA axG qmT axG axG -wju -eMc -eMc -ckO +tGi +bYV +bYV +uwT uaB nGs ilH @@ -107852,7 +107853,7 @@ wsE mlK oIf pPz -att +jls ckP pEA mTT @@ -107861,52 +107862,52 @@ dXW iNT wzV wBG -oYv +sXi nVy bUT wxL bMy oBH oBH -xQF +sbT oBH -mOv -lut +ofV +ylB oBH oBH oBH oBH -xrz -nCY -nXD -kLf -xKX -uyR -kLf -kLf -kLf -kLf -kLf -atS -tNW -ehG -uzs -wyb -nZt -lvK -bZO +aga +gIP +wIx +eav +svU +kIx +eav +eav +eav +eav +eav +gky +vVQ +qfa +wTM +fjO +hOf +mQD +cjZ tgG tgG -gFu +qnW tgG tgG tgG -pWE +iSV tgG tgG -xWy -lku -uAC +nDA +loM +jtg oqK rmx dVk @@ -107917,8 +107918,8 @@ euK gHv vnO vnO -oma -wBy +jpH +cMn vnO vnO vnO @@ -107928,14 +107929,14 @@ vnO vnO vnO tEg -hCx +sMj vnO vnO vnO wzM pfo iwk -nfR +kWR txf lMb lMb @@ -108083,9 +108084,9 @@ ksa ksa ksa mZc -oSo -oxz -ghk +giP +jlg +mwv mZc lTB mov @@ -108093,114 +108094,114 @@ lTB mov xzK bLy -pYI -sZR +pkj +kPW qoF hNi mZO bQA tEK lPX -pik +fYf pPz kpg iHC xPS iHC -xbV +qCi pPz -xXk +kkr auK dJe pdc -hAo -cGj +wCv +bXn ccZ -stR -nGz -qeZ -fCE +klI +xRW +uDX +jYl cHJ wxL lbf aHD -kjO -nmY -fSB -nmY -xEM -wDg -sUx -rQv +lhr +eXv +dFZ +eXv +nil +sUW +sgE +plr rFk -bkW -nCY -rei -uII -dBB -ixK -jMa -xva -tJX -voJ -jMa -ixK -rwh -lsJ -qGP -vyZ -lMZ -vyZ -prY +haD +gIP +iZf +fDC +jEK +prP +wzn +dkk +aHL +rvp +wzn +prP +uaQ +cnF +dSK +qhM +nAy +qhM +xzi tgG -fpJ -cNO -dFR +afb +leq +ecB tgG -qVD -lku -kAb +qGS +loM +cvt tgG -xOq -lku -cQj +akH +loM +wza oqK jCy hkS -hJr -rHd -hWF +mrR +vTj +nvk jjJ -uxM +xUe rZO fYX -gsA -lQK -psI -tUK +idB +kqe +lBc +cEA ufk -pZU +qqc kgH rab ufk ufk -qQp -deb -fBh +mBh +gLO +fam ufk ufk -fpO -mrM -dhL -vDa -atO -ebS -kQx -jII -pjq -jjV +dGa +rNe +spU +pak +gfh +tCE +pMG +urN +doe +iXZ fjT -qKy +caD pfo gkZ tXu @@ -108341,7 +108342,7 @@ ksa ksa mZc mZc -qOR +ptL mZc bLy bLy @@ -108366,7 +108367,7 @@ qSH bcp pPz pPz -nAQ +eGU auK jAb tOJ @@ -108381,48 +108382,48 @@ cHJ wxL tOj vFG -ayi -ukY -imG -ukY -ukY -ukY -ukY -dRH -nsk -wID -nCY -mOZ -kLf -kWI -ixK -ixK -ixK -fbG -ixK -ixK -ixK -wAj -kxp -kvg -vyZ -lMZ -alB -eBQ +pbg +ijI +iCo +ijI +ijI +ijI +ijI +gSl +ilP +uSJ +gIP +eYU +eav +uSH +prP +prP +prP +muC +prP +prP +prP +puP +bAD +vSm +qhM +nAy +eyD +dju tgG -pZj -flV -cNO -gIF -cNO -lku -cNO -qSu -cNO -lku -alM +tRz +hdc +leq +sYK +leq +loM +leq +sYb +leq +loM +aWP oqK -dhs +wzX xMI cYX mzK @@ -108442,7 +108443,7 @@ tjI vOT mtH jaf -aqP +eXN jaf hya vOT @@ -108597,15 +108598,15 @@ qZk qZk qZk bLy -lyP -xHh -mjk +nOH +eHL +pDz bLy nSh -vME -mrB -cus -qAa +kdr +uxB +vDu +cJH njj uPs ech @@ -108628,56 +108629,56 @@ hVF mAE xVX dkb -uOS -eED -nYx +vSu +qZz +xGw xyD mGI mGI ohw wxL nWt -fTr -bIQ -hQP -gkM -yfG -lcE -lcE -lcE -yly -pZa -bsj -sMx -pZD -kLf -bJj -nJr -nQw -qFM -wPy -vzc -eOV -nQw -bZj -kxp -hWa -lkX -wfv -eZS -ecG +xqa +mWJ +fyf +hfZ +xix +uyQ +uyQ +uyQ +jHI +qVW +aPT +hSv +dIM +eav +oSx +nLq +xFY +dWY +bUa +owR +iJw +xFY +gKG +bAD +fAO +vSW +eYq +wbP +kBo tgG -wnF -pZj -fpJ +kCx +tRz +afb tgG -ruh -lku -uAC +xLe +loM +jtg tgG -cNO -lku -pZj +leq +loM +tRz oqK xXP xXP @@ -108689,17 +108690,17 @@ nAR xXP rTM ikp -qYS +lMM uQk -rZN +gWd uQk -qYS +lMM uQk -rZN +gWd uQk sKX gkZ -hGk +mbk gkZ anO uoo @@ -108851,16 +108852,16 @@ qZk qZk qZk skA -qpB +jWn ePr bLy -mQo -xHh -fRT +erz +eHL +rIq bLy bMs -cch -nVz +rIw +cbW sSf qUC hwy @@ -108871,7 +108872,7 @@ weS weS weS weS -mfe +xQF vdO vdO vdO @@ -108885,56 +108886,56 @@ rEI ibD nVt oIP -vPS -kUL -sJi +qpK +scg +mwk oIP apT -vOP +kSa cHJ wxL tOj vFG -ayi -ukY -acx -ukY -ukY -oMB -qqC -dRH -vje -wID -nCY -hCZ -nMn -fep -wKF -fep -sxS -sxS -sxS -ttr -sxS -sxS -ocd -ocd -ocd -sjy -ocd -ocd +pbg +ijI +iFj +ijI +ijI +bJK +rgH +gSl +pLv +uSJ +gIP +wpp +eVE +bdi +nZs +bdi +xXd +xXd +xXd +oFe +xXd +xXd +kpB +kpB +kpB +jlx +kpB +kpB tgG tgG tgG tgG tgG tgG -wRJ +gdL tgG tgG -alM -lku -cNO +aWP +loM +leq oqK xXP wFB @@ -108956,7 +108957,7 @@ pHI wFB jHh jDp -uou +ipG jDp sKq wFB @@ -109105,21 +109106,21 @@ mjz mjz aVH icx -bzX +iLU icx hDE hlP -sbB +plX bLy -gOA -xHh -jwZ +iSB +eHL +hRz bLy bMs nZk -sZt +wNO mxo -hqm +qsg njj uLC tjC @@ -109133,7 +109134,7 @@ anq tiT anq anq -cxY +vGu gwz dKn ukV @@ -109142,9 +109143,9 @@ xxe aSr oPd bYo -eqa -tLT -ezP +ooZ +qPb +vHa bYo uHC nVy @@ -109152,46 +109153,46 @@ bUT wxL lbf aHD -kqr -iUt -fwT -qpS -nLC -qwG -nDn -lvR +vvz +iVZ +dWI +npo +uEp +ofh +skR +jtO rFk -bkW -nCY -mOZ -nMn -dGy -uSA -dto -sxS -mWO -azx -rSN -bfl -sKC -ocd -lId -tUG -tbe -rYy -hBR -bID -qRt -aBV -iwW -dvO -lem -kaH -vto +haD +gIP +eYU +eVE +bsD +wSH +mGa +xXd +jXA +efg +iMG +cfQ +uiG +kpB +wNc +nJm +sCk +hap +lLs +mxn +pMg +guM +vmj +ufn +oks +evI +qEG tgG -cNO -lku -xOq +leq +loM +akH bpD xXP wFB @@ -109213,7 +109214,7 @@ juj wFB tXu gkZ -hGk +mbk gkZ uoo wFB @@ -109362,17 +109363,17 @@ mjz mjz aVH aFe -aGG +wgF rkF hhs -ikm +fqX hxS ckD -fJl -ojQ -dRS +nOx +cZf +qtF set -mMS +nTV imJ avR poB @@ -109391,9 +109392,9 @@ cHD cHD cHD cHD -dEo -owQ -dEo +tDq +siZ +tDq dMO dMO dMO @@ -109409,82 +109410,82 @@ cHJ wxL aBz qOH -cua -cua +lTF +lTF qOH -hdl -cua +rii +lTF qOH qOH qOH qOH -bkW -nCY -mOZ -fep -jdC -tQl -urK -sxS -gya -gEs -gJO -chy -rQU -ocd -rEz -gJJ -jNd -sFv -mHS -bID -bID -vHt -bID -dvO -lKZ -voZ -hsN +haD +gIP +eYU +bdi +cPA +xaK +lOY +xXd +wbu +lug +qkq +kAk +naW +kpB +gZX +aSg +gOK +udQ +hbA +mxn +mxn +jyL +mxn +ufn +uIU +smM +tVp tgG -qGK -lku -pZj +mYC +loM +tRz bpD xXP wFB sYs bGF -aNX +sKM wFB snh vFg -tJc +bqW wFB nxU meR -vke +xrG wFB dFT ril -qhj +cgU wFB fgv kDG -vJk +tJQ kDG maz wFB coh vze -vEc +aoP wFB dYV eKm -cML +qwc wFB lJr gxT -rmJ +aNv wFB tXu uoo @@ -109619,15 +109620,15 @@ mjz mjz aVH icx -sPm +mdi icx fck lHF -jNm +kuH bLy -gOA -xHh -vcn +iSB +eHL +kcY bLy ryL pCm @@ -109645,67 +109646,67 @@ wwC mRM ixJ kzf -ylb +fOm iGp -min +nCy cst hVF -sVg +aHF dMO -lIG +dvW mpw wFf -pgj -gqk +lRM +rYs mZT hxw -cnA -sAJ +drT +uJD nVy cHJ wxL lbf qOH -hKA -nQN -kix -joj -tYH -hPf -fpk -nhL +lYQ +ffc +wHo +sce +ghj +vfe +pYn +wsQ qOH -lsA -nCY -mOZ -nMn -jSG -tQl -rrR -sxS -rzz -skz -ycc -tHl -gBv -ocd -dZW -vuw -jNd -gJJ -jhB -bID -cZa -cMc -qXO -dvO -dua -sXm -qHm +urc +gIP +eYU +eVE +kLC +xaK +qtp +xXd +qOU +wZl +wmF +fwN +vhW +kpB +sSa +xZJ +gOK +aSg +qby +mxn +bPC +kxV +sLk +ufn +fgI +kzA +oCj tgG -cNO -lku -cNO +leq +loM +leq bpD xXP wFB @@ -109727,7 +109728,7 @@ gZH wFB uoo gkZ -hGk +mbk gkZ tXu wFB @@ -109882,9 +109883,9 @@ cQt tqj gAx bLy -iea -xHh -whv +xkb +eHL +aPK bLy ewM wLR @@ -109894,7 +109895,7 @@ wnl wnl wnl dUx -fXF +oKd hBp oRb dUx @@ -109903,8 +109904,8 @@ nCp fcm vOB btZ -bZt -min +bRb +nCy cst hVF dJe @@ -109917,52 +109918,52 @@ hXt hXt mJB eRV -gyN +rKf nVy bUT wxL kjv qOH -bCg -dDp -dDp -uMf -ydz -dDp -dDp -ppN +jsF +rOg +rOg +fNe +bxa +rOg +rOg +meD qOH -bkW -nCY -opA -xdI -sxf -rEy -hDo -sxS -uvI -skz -aAY -sna -pFu -ocd -qeV -rLQ -lmY -lgx -rvZ -bID -fvH -doy -gPO -dvO -lyy -dun -uGL +haD +gIP +dlD +rJv +xNk +cMS +vgs +xXd +oJE +wZl +rZx +pKf +lOh +kpB +dve +pAD +cLk +vKh +hYR +mxn +vjc +hrj +fSK +ufn +mzB +rvU +oCs tgG -pZj -lku -cNO +tRz +loM +leq oqK xXP wFB @@ -109984,7 +109985,7 @@ wFB wFB uoo gkZ -hGk +mbk gkZ tXu wFB @@ -110139,9 +110140,9 @@ qZk qZk qZk bLy -agf -xHh -kTq +iTz +eHL +cdG bLy gtV aVA @@ -110153,15 +110154,15 @@ tNK dUx jEw mVt -yjH +qDS dUx -ttC +mDz kaP qvC mkl gSE -vSA -min +onR +nCy cst qQz uLo @@ -110169,57 +110170,57 @@ aBj mEf cev cev -piC +afq cev cev hXt mzY -sAJ -cNc +uJD +hja neW wxL lbf qOH -vsB -rer -rer -aPy -xqe -xqe -xqe -cnX -eiO -faC -mbZ -mOZ -nMn -jSG -tQl -iHJ -sxS -fXu -nDF -ycc -chy -hKb -ocd -mVS -nrT -jNd -lBE -azt -bID -mGu -nMo -vuu -dvO -utw -sXm -kbj +kPC +dSr +dSr +maG +bXo +bXo +bXo +jAi +vfO +wyZ +iyB +eYU +eVE +kLC +xaK +fng +xXd +qvR +tEw +wmF +kAk +mgl +kpB +oLm +ckd +gOK +dcn +lWS +mxn +sRw +bZI +uqd +ufn +ubz +kzA +cXx tgG -uAC -lku -cNO +jtg +loM +leq oqK xXP xXP @@ -110241,7 +110242,7 @@ uoo uoo uoo gkZ -hGk +mbk gkZ fgv kiv @@ -110397,7 +110398,7 @@ xXP ksa mZc mZc -qOR +ptL mZc bLy rfS @@ -110408,16 +110409,16 @@ rfS rfS jDg dUx -rBF +jCX hBp nNH dUx gyo -nxH -tPP -tPP -aRd -qPP +hOZ +wMJ +wMJ +gbk +lYq vgG ebD xsX @@ -110430,52 +110431,52 @@ hXt hXt cev gqK -uLQ +sEG fsE fsE iQo wxL lbf qOH -jpg -wUo -mhY -kHg -vRh -vRh -vRh -sAT +gnD +nGO +dWs +dTG +ptt +ptt +ptt +aid qOH -bkW -nCY -mOZ -fep -jdC -tQl -sMw -sxS -bwN -ccV -ycc -chy -iib -ocd -qbk -gJJ -hNA -tvY -pvI -bID -fvH -bys -kpd -dvO -vRe -qzh -eIy +haD +gIP +eYU +bdi +cPA +xaK +jaW +xXd +art +jRU +wmF +kAk +iHh +kpB +hxD +aSg +hWZ +mCQ +jQr +mxn +vjc +eyV +wmO +ufn +cYj +gfQ +uLG tgG tgG -vlG +kUM tgG oqK oqK @@ -110653,9 +110654,9 @@ bZv bZv bZv bLy -mhM -xHh -ogZ +fNi +eHL +bVN bLy dop dEu @@ -110667,101 +110668,101 @@ dmw dUx aVO goc -bvF +wya dUx ygD dnX ahj dAg kiT -bhB -min +hZX +nCy cst hVF dJe dMO -sRA +vuG rxH ikD -oaQ -jFw +sfN +ary tqK ikD eWv xSh fsE -cTW +hdr wxL czJ qOH -wfg -fpY -tOb -tcH -eQN -kpJ -ucG -fiq +nle +lpw +hBx +wYn +tgE +eQZ +lve +nDV qOH -jbM -nCY -pZD -nMn -lHB -hME -ooN -sxS -toc -uMr -dgr -jLr -xSq -ocd -ein -gLT -abv -qax -shz -bID -tmt -bzp -hMe -dvO -voo -onG -cjZ +ulh +gIP +dIM +eVE +qaP +vao +cKD +xXd +iAq +svs +pgd +fxQ +lHT +kpB +iXj +rPG +fsk +aJu +pEc +mxn +fPI +eKW +rgL +ufn +fqP +uUp +pDI tgG -fEa -lku -cNO -pZj -pYA +hFN +loM +leq +tRz +twN tgG -mzf -nUK -jdA +mLe +iyz +cJJ tgG -pYA -uAC -alM +twN +jtg +aWP tgG -cNO -qGK -cNO +leq +mYC +leq tgG -pVH -pZj -pYA +mIu +tRz +twN cQT pKS -cPo +bhn fqV -nIb -bIu -sKd +sUJ +qcs +vXm mJo -xUG -ula +sAs +esa itA jxl aJU @@ -110907,18 +110908,18 @@ bZv dwc bZv lkh -euP -oYi +lKV +vIe bLy -xNu -xHh -gOA +wsj +eHL +iSB bLy dop mPg goi aIF -mcz +uVj rfS rfS tcP @@ -110935,7 +110936,7 @@ tcP tcP efo hVF -wVm +hAN dMO emk bsd @@ -110953,72 +110954,72 @@ nxn qOH qOH qOH -kXL -ovo +tJO +nWW qOH qOH qOH qOH qOH -bkW -nCY -mOZ -nMn -fep -wKF -fep -sxS -sxS -sxS -ttr -sxS -sxS -ocd -ocd -ocd -sNO -ocd -ocd -bID -bID -mDR -bID -dvO -dvO -oLk -dvO +haD +gIP +eYU +eVE +bdi +nZs +bdi +xXd +xXd +xXd +oFe +xXd +xXd +kpB +kpB +kpB +sUa +kpB +kpB +mxn +mxn +xBa +mxn +ufn +ufn +vCJ +ufn tgG -dIg -lku -wMD -wMD -wMD -vKt -wMD -wMD -wMD -wMD -wMD -wMD -wMD -wMD -wMD -wMD -wMD -vKt -wMD -wMD -uPa +doq +loM +ofc +ofc +ofc +pAw +ofc +ofc +ofc +ofc +ofc +ofc +ofc +ofc +ofc +ofc +ofc +pAw +ofc +ofc +kRa oqK -xTe -fza +uyB +vAD fqV -vuY +hQO mNy -whM -nli -gKj -vjI +qnp +mom +lPk +oob txI mrl txI @@ -111164,12 +111165,12 @@ nWH rIe sYw lMk -tgW +lec bbI gCi -fJl -xHh -fJl +nOx +eHL +nOx bow dPT paO @@ -111198,10 +111199,10 @@ rrv fqQ rrv dMO -ndK +qhC xAL -jbt -bVU +rrt +mou fJA knl neW @@ -111209,73 +111210,73 @@ wxL lbf xAf rFk -sLz -iqM -bQk -gHS -iqM -iqM -iqM -iqM -wko -iqG -vYY -hKz -owt -eKx -owt -olq -owt -owt -dIC -owt -owt -jLa -owt -owt -bpi -owt -owt -jLa -pNA -pwI -nyt -owt -owt -qqZ -jFA +mzT +uQm +dtT +xnA +uQm +uQm +uQm +uQm +niz +cNI +wuj +rcz +gav +tkQ +gav +tJe +gav +gav +vqr +gav +gav +fiH +gav +gav +aan +gav +gav +fiH +rNo +eJr +xFh +gav +gav +vtC +bfc tgG -geG -lku -cNO -cNO -cNO +dEz +loM +leq +leq +leq tgG -jqd -qcP -tbT +qxf +fNq +eCO tgG -cNO -cNO -cNO +leq +leq +leq tgG -upt -mfv -pZj +glg +gYG +tRz tgG -uvR -oEu -cNO +rfZ +oiW +leq oqK aTl -ppS +nQf fqV -eoJ -sGk -mwK -mwK +afQ +ecJ +rPr +rPr rPV -kZS +iIl txI muI txI @@ -111422,11 +111423,11 @@ dwc bZv fHz vTN -uuA +mxE bLy -fGh -xHh -nhv +kMp +eHL +qjW bLy iSe lHt @@ -111457,7 +111458,7 @@ fqQ dMO abf jzQ -jJq +qCP qgz vGf mGI @@ -111465,75 +111466,75 @@ bOJ vbD esr sdL -lFz -wxf -uAL -rrG -rrG -rrG -rrG -rrG -rrG -inV -nCY -fES -tEP -jQs -jQs -jQs -jQs -jQs -jQs -uEE -nNu -uEE -uEE -uEE -uEE -cUo -uEE -uEE -uEE -sfs -uEE -cUo -uEE -uEE -cUo -kBK -pSJ -uHQ -uHQ -uHQ -gzG -lmR +xsG +mqX +wSd +vdQ +vdQ +vdQ +vdQ +vdQ +vdQ +nRZ +gIP +bOe +dkm +pVm +pVm +pVm +pVm +pVm +pVm +eMi +aJn +eMi +eMi +eMi +eMi +fWB +eMi +eMi +eMi +qkr +eMi +fWB +eMi +eMi +fWB +nQa +qGz +epm +epm +epm +bvK +hwS tgG tgG tgG tgG tgG tgG -gFu +qnW tgG tgG tgG tgG tgG tgG -aXm -uwY -cgU -lpn -urb -mNF -uYe -jGm -ijG -rLH -eXJ -eXJ -pHW -xhI +gjV +jLP +fjM +fcx +bDs +vfh +qUw +xBw +hmK +xeo +eUz +eUz +cFm +dZS vRl dgl ksa @@ -111681,9 +111682,9 @@ bZv bZv bZv bLy -hNt -xHh -xGH +hqh +eHL +mpu bLy lHt lHt @@ -111691,7 +111692,7 @@ efQ oAk xLy rfS -ecf +qjK qCQ qCQ vKo @@ -111710,81 +111711,81 @@ dJe dMO fqQ jYF -tfo +uaV dMO yiI -sXd +tKh byp -grI +dZK fJA -fgw +ayk neW wxL lbf -gXW +qsK rFk -bvm -adc -lGt -fZp -lGt -xYV -lGt -lGt -eUz -gKt -gCM -hKz -ogX -qdr -ugm -qdr -qdr -jNg -sYi -bQQ -sxi -sxi -ehk -cdm -qdu -sxi -sxi -sxi -lfs -cNw -iOG -qHp -ukr -ukr -vZe +vcv +kRz +lcX +wkx +lcX +xsR +lcX +lcX +lzW +kIE +pAN +rcz +mYi +gwB +ahQ +gwB +gwB +opI +nVE +jvf +rrD +rrD +dRB +stj +cur +rrD +rrD +rrD +jkb +pJM +mNL +nic +sXP +sXP +ixP tgG -pZj -cNO -cNO -xgp -xdD +tRz +leq +leq +xaj +tsq tgG -fgR -fgR -fgR +fVE +fVE +fVE tgG -oKo -cNO -fpJ +cQr +leq +afb tgG -lDR -qnc -rng +dnA +jha +qvX tgG -pCS -mIL -cNO +ePe +kSO +leq oqK -eUa -jxd -rKd -ihO +aOK +kRi +bYp +lHU hOc hOc hOc @@ -111938,9 +111939,9 @@ ksa ksa ksa mZc -xoG -xHh -vcn +neM +eHL +kcY bLy rfS rfS @@ -111981,25 +111982,25 @@ xBK rCT lWn lWn -eLl -kwG +oQH +xIm lWn lWn lWn lWn lWn -aio -nCY -mZR -kDm -kDm -kDm -pND -kDm -kDm -kDm +ixq +gIP +oTy +ltG +ltG +ltG +aZd +ltG +ltG +ltG pvL -xuk +ton pvL pvL pvL @@ -112007,46 +112008,46 @@ pvL pvL pvL pvL -gEg -aoo -lug -aoo -aoo -aoo -aoo -aoo +cHX +tir +raH +tir +tir +tir +tir +tir oqK oqK oqK tgG -bqd +qZJ tgG tgG -hgQ -hgQ -hgQ +tGH +tGH +tGH tgG -dFR -uwY -cgU -cgU -cgU -htv -fvh -fvh -fvh -gBW -eJp +ecB +jLP +fjM +fjM +fjM +vRb +mdJ +mdJ +mdJ +efL +ime oqK sTD -qgZ -fOn -gfI -uOj -cLR -kQK +adA +nWN +gND +hEO +bGQ +pUD lHd -ssz +qhI mQF uHo ipj @@ -112195,17 +112196,17 @@ ksa ksa ksa vyg -lyP -xHh -gOA +nOH +eHL +iSB bLy tyC bpU -jjk -bQP +wqH +dnB enT bWl -bFv +gBu qCQ qCQ otQ @@ -112221,88 +112222,88 @@ wsy fzW hVF gSn -ean -fVX -mjR +smL +mbh +xes rvW -npm +fyo rDg -gqL +hiq vDF aqD fIX -stU +vVE cHJ wxL lbf -jKW +nwo lWn -tzV -qrH -nTa -vaW -vOV -sWO -kOa +hsE +uAM +oft +aZq +xte +qOS +gbl lWn -qvR -nCY -hiR -liM -xZp -qqD -whh -deB -tUA -kDm -qEI -iqN -rCS -uWp -jit +uwM +gIP +mRE +twj +nFO +bER +saM +spS +hgb +ltG +aLh +uXc +noS +qOg +rWb pvL -ePa -kKi -ouj -gEg -mdq -oXy -bRX -aoo -xSp -iOY -oKu -eBP -nge +tEi +nPN +rqw +cHX +lzy +qZv +tlT +tir +xFV +uxC +dBq +aWl +xUS oqK -tYG -xgp -cNO -nbg -cNO -hgQ -cNO +wsW +xaj +leq +plc +leq +tGH +leq tgG -xOq -fii -cNO +akH +bxw +leq tgG -alP -fii -alP +fIO +bxw +fIO tgG -dzZ -cNO -pZj +cHS +leq +tRz oqK rHp -hyb -efB -qHq -enE -lZA -qgZ -bhI +qCA +kIj +mSg +wCi +eMJ +adA +bzY nZX san pHw @@ -112452,9 +112453,9 @@ xXP xXP xXP vyg -gSG -cFU -dRS +tcq +uBG +qtF oGe rlF eFV @@ -112467,18 +112468,18 @@ qCQ qCQ qCQ bdX -cnk +bOv lHY cGF ctb ctb vEV -vbT +bsT tcP dPF hVF dJe -aMI +hbc nPR nIC qUM @@ -112488,68 +112489,68 @@ nKa nKa tBn fIX -iTg +lOu cHJ wxL lbf vOm -hTS -ohm -qrH -uaC -kSU -kYU -oWu -pRD +cVo +ddZ +uAM +aSd +riN +boU +aJa +aer lWn -aio -nCY -mZR -liM -ipt -nBH -ePf -ayr -tpU -kDm -hKq -uLS -umO -gQO -bKW -wgZ -ilX -emZ -lbL -gEg -bay -vdK -kPh -dEl -lUE -lte -vYl -wqW -buX +ixq +gIP +oTy +twj +dUi +gqO +fDL +dfq +oYj +ltG +iuC +vVt +mcp +twv +eSg +gUc +qNI +oBb +dlg +cHX +aTA +vdD +nTN +tkY +nbM +nyu +eDm +eny +mLM oqK -cNO -sIK -uHQ -uHQ -uHQ -uHQ -cgU -cgU -cgU -kcf -flV +leq +tfs +epm +epm +epm +epm +fjM +fjM +fjM +jes +hdc tgG tgG -fii +bxw tgG tgG tgG -mcO +fpl tgG oqK txI @@ -112709,15 +112710,15 @@ ksa ksa ksa vyg -bFZ -xHh -lfw +oyn +eHL +dkJ bLy rgN oIJ wFn prE -pna +sTK bWl gMW ufQ @@ -112736,7 +112737,7 @@ qZu khZ uLo iJv -pzc +xHE teQ wTy eoB @@ -112745,64 +112746,64 @@ oZf uWa cgC fIX -biI +kDn neW wxL lbf vOm -hTS -mkE -qrH -vzQ -vaW -muU -wqq -jvt +cVo +bhc +uAM +ruR +aZq +xIj +okU +bPE lWn -vho -nCY -mZR -liM -dzP -xUt -eaS -biu -bJU -kDm -ylx -nPf -hDP -srS -cCy +tuI +gIP +oTy +twj +gtr +lTq +eSB +ogX +gUD +ltG +sbx +gaq +mgF +wSr +pFc pvL -ett -wkX -nPL -gEg -vEH -eOZ -vEH -aoo -iza -qeH -tbb -kdK -qGi +hPQ +gEM +bCX +cHX +buX +vFx +buX +tir +mvx +ffL +uNo +haz +wHj oqK -nPt -alM -cNO -nbg -cNO -pZj -cNO +lxQ +aWP +leq +plc +leq +tRz +leq tgG -fpJ -cNO -pZj +afb +leq +tRz tgG dbl -vBP +aJe woy xcO mhc @@ -112966,9 +112967,9 @@ wtF wtF xXP mZc -pIH -xHh -gOA +lTQ +eHL +iSB bLy bLy bWl @@ -112980,7 +112981,7 @@ bEs voq htX nIx -xtn +dxo fgj fgj fgj @@ -112991,60 +112992,60 @@ tcP tcP fzW auK -oPv +cgz dxk dxk dxk dxk dxk dxk -dfy +lYH uWa -aRJ +qGR fIX -xkY +hUD cHJ wxL lbf iuK -hTS -kBL -qrH -iar -vaW -vaW -cgb -vaW +cVo +gFA +uAM +qdM +aZq +aZq +fUz +aZq lWn -rHq -nCY -pRd -kDm -kDm -kDm -kDm -kDm -kDm -kDm -gEg -gEg -gEg -gEg -gEg -gEg -gEg -gEg -gEg -gEg -aoo -aoo -aoo -aoo -mMX -rtJ -mFO -aoo -aoo +jAY +gIP +mBV +ltG +ltG +ltG +ltG +ltG +ltG +ltG +cHX +cHX +cHX +cHX +cHX +cHX +cHX +cHX +cHX +cHX +tir +tir +tir +tir +nnV +vKZ +mWG +tir +tir oqK oqK oqK @@ -113055,15 +113056,15 @@ tgG tgG tgG tgG -gFu +qnW tgG tgG tpC -vBP +aJe mhc raC kIt -nCP +sZi aAL nBE ksa @@ -113211,9 +113212,9 @@ ksa fKj eKK rXC -jto -uio -hSr +qVo +fOL +wWP evf qgu cDv @@ -113223,10 +113224,10 @@ mNW wtF ksa vyg -lyP -xHh -gOA -lca +nOH +eHL +iSB +fOG cFG xXP jGJ @@ -113236,14 +113237,14 @@ pZR bNU goA cNi -rzG +nrB lIQ ntc eQI ntc -ctP -fhD -uUN +gff +vLq +lKB xXP sPX fzW @@ -113258,56 +113259,56 @@ sYI fPr uWa daQ -uNz +msU nVy mIl wxL lbf vOm -hTS -vTz -qrH -hgf -uvm -wUr -fCb -mSO +cVo +icj +uAM +eCB +oRJ +vKE +erV +aCT lWn -qch -nCY -mOZ -dEH -eiY -trn -vkW -dJT -nDw -aIN -aIN -qpi -aIN -aIN -aIN -aIN -uGd -ksL -bwD -ldS -xod -cYV -gaH -nIN -dUX -rtJ -bUc -sPW -gOr -xQC -kFe +bDO +gIP +eYU +dUm +hEG +qqE +qOr +qxX +saf +qZE +qZE +tUb +qZE +qZE +qZE +qZE +laB +rdo +sBp +wtG +ffh +mqP +xOm +rfz +kSX +vKZ +nij +hoJ +kLU +gYC +wjR khD -eSE -aks -hvX +iiF +flL +oBO nBE nxW raC @@ -113316,7 +113317,7 @@ mhc mhc nBE aAL -vBP +aJe mhc tpC mhc @@ -113466,24 +113467,24 @@ fKj fKj fKj fKj -nnE -nnE -rJp -kMC -gXk -uIQ -sZV +wGC +wGC +pWf +bZm +uSb +sra +gYQ cDv -rcf -oMK -poD +gsL +dHO +tOP wtF ksa vyg -gSG -xHh -gOA -gOA +tcq +eHL +iSB +iSB maL xXP jGJ @@ -113493,14 +113494,14 @@ nhn img luX jrv -rnx -xwx -xwK -bfz -iNZ -thT -wxo -uUN +adF +szm +taF +gjh +sqq +jBQ +gjZ +lKB xXP sYk fzW @@ -113515,68 +113516,68 @@ mog eDN uWa hxv -jyS +cBT nVy cHJ wxL lbf vOm -hTS -pCb -qrH -qBz -bIt -vNq -jli -iSr +cVo +qNG +uAM +oor +tlV +qeh +mqK +gtU lWn -aio -nCY -rei -rHl -cVS -cVS -cVS -aIN -aIN -aIN -aIN -aIN -obm -npB -lhn -aIN -aIN -fow -oop -ldS -vkp -jfC -xjF -nIN -dUX -rtJ -vIM -xZR -fGP -fvT -oim -gJp -uMO -bwg -coz +ixq +gIP +iZf +cxv +pfA +pfA +pfA +qZE +qZE +qZE +qZE +qZE +xPC +nXc +mJi +qZE +qZE +hbu +wrC +wtG +vxl +oXf +xxL +rfz +kSX +vKZ +ozh +bQx +evv +mLg +fXx +svX +tbL +lbZ +jOx nBE -gWu +bSN mhc mhc tpC woy nBE aAL -vBP +aJe mhc xcO -nCP +sZi mhc nep nBE @@ -113728,19 +113729,19 @@ hOU hOU hOU hOU -kNy +pum hOU cDv mNW -oMK +dHO mNW wtF ksa vyg -bFZ -xHh -iMt -jeu +oyn +eHL +gHj +gaV dNK xXP jGJ @@ -113749,20 +113750,20 @@ lgB uzn dQx uzn -oyI +bpS mri -rZw +pms ntc ntB ntc -ebO -vJe -uUN +ggM +eUq +lKB xXP vdX fzW auK -mxF +gSN dxk flU sQL @@ -113779,62 +113780,62 @@ wxL lbf iaE lWn -sOh -koo -tjW -qui -vEu -vkc -iym +nqU +apu +xNg +kSs +mFz +cdO +mcE lWn -nYO -nCY -xZX -dEH -ycJ -aIN -cVS -jYT -vYE -xvE -xvE -obm -uNx -uNx -wjY -aIN -aIN -ixk -dBZ -ldS -xkj -pwh -neF -wrc -lpW -rtJ -bUc -sPW -tpz -vJw -uKm +fkf +gIP +wIf +dUm +eFJ +qZE +pfA +wrV +ikH +unU +unU +xPC +taU +taU +oPF +qZE +qZE +nLQ +wzc +wtG +xeD +ufc +eqx +njw +tfZ +vKZ +nij +hoJ +gMR +dMx +wgc khD -lYj -ktn -coz +eBP +rls +jOx nBE tpC mhc mhc mhc -yeo +pJq nBE nBE -vBP +aJe nBE nBE nBE -fGu +gqo nBE nBE cbj @@ -113964,7 +113965,7 @@ ksa ksa xpD fHY -kQq +kfs feX vKs cDv @@ -113985,17 +113986,17 @@ cDv cDv cDv cDv -oKb +eaT cDv cDv owu -htV +oei owu wtF xXP mZc mZc -qOR +ptL mZc mZc bLy @@ -114017,18 +114018,18 @@ fgj fgj oIP oIP -yjo -ofh -ptd +inq +bDv +rdm iaT iaT iaT iaT iaT iaT -rNx +eQr aSF -rNx +eQr cve cve iQo @@ -114037,66 +114038,66 @@ lbf nBE khD khD -rfY +dQb khD khD khD lWn lWn lWn -aio -nCY -dQC -fpy -aIN -aIN -sXL -aIN -iNq -aIN -aIN -cpA -uNx -uNx -wjY -aIN -aIN -aIN -hPC -ldS -xWq -wpG -hqF -nIN -dUX -rtJ -tfZ -nIN -nIN -nIN -nIN +ixq +gIP +cuE +qOx +qZE +qZE +uec +qZE +pHP +qZE +qZE +qoo +taU +taU +oPF +qZE +qZE +qZE +ygr +wtG +bZq +ubD +jHE +rfz +kSX +vKZ +lCC +rfz +rfz +rfz +rfz khD -kZo -pyP -noM -wkn -ewP -ewP -mpY +hDR +bjk +aXd +aPG +nrY +nrY +bvn kIt xcO nBE -yeo -vBP +pJq +aJe tpC nBE rUL mhc aAL nBE -hbO +bww mhc -whU +nZd nBE ksa ksa @@ -114221,13 +114222,13 @@ fHY fKj fKj fKj -hTE -tdv -aaN +clb +xUl +fCa cDv snt rIN -uim +qQt rIN pwn uck @@ -114241,21 +114242,21 @@ abS rIN ohk wtF -xsC -mDP -mXY -gKk -rcj -hIe +gQh +lvY +sUg +pRg +qZa +iGk bii wtF ksa vyg -uKy -xHh -uui -gOA -puX +ajA +eHL +rvt +iSB +lBM bLy uPs wNx @@ -114276,75 +114277,75 @@ emX emX crV auK -mxF +gSN iaT vvu blQ hBK -sVO +ahl kuJ wxl sSc vvQ -oBr +jaj cve bbO wxL -mOH +alG nBE tpC vLk -tLM +evE mhc tpC nBE -rMT -nOZ -lvg -bkW -nCY -dQC -fpy -aIN -aIN -iAv -xBa -jlr -maS -maS -wmb -uNx -uNx -wjY -aIN -aIN -cfU -iyC -ldS -xOa -gGe -llg -nIN -gvo -rtJ -bUc -sPW -tpz -ocN -gXP +vOY +iSi +ilR +haD +gIP +cuE +qOx +qZE +qZE +nKR +nEo +wRO +byo +byo +xOv +taU +taU +oPF +qZE +qZE +qFI +acZ +wtG +niP +guQ +rLA +rfz +pHv +vKZ +nij +hoJ +gMR +sNb +xGB khD -coz -kiM -coz +jOx +wDQ +jOx nBE mhc mhc -cUp +wTY mhc mhc nBE mhc -vBP +aJe mhc mhc mhc @@ -114479,27 +114480,27 @@ feX feX feX feX -ajt +nNe mCg cDv nBS dYt -gmo +kHB dYt vmu nBS dYt -jxm +koc dYt vmu nBS dYt -gmo +kHB dYt vmu wtF -dwq -bYD +orw +svr dzj dzj dzj @@ -114508,11 +114509,11 @@ hcu wtF ksa vyg -gOA -xHh -fJl -fJl -fJl +iSB +eHL +nOx +nOx +nOx fRp eJg nVs @@ -114544,64 +114545,64 @@ sKj gfK sKj sKj -lFJ +fBg mIl wxL fEG -dHb -tLM -tLM -tLM +uot +evE +evE +evE mhc mhc -tvs -nOZ -nOZ -hCP -wID -nCY -dQC -fpy -aIN -aIN -aRv -aIN -aIN -aIN -aIN -aIN -wmb -bXS -mDM -aIN -aIN -xaE -yjJ -ldS -nIN -nIN -nIN -nIN -xEZ -rtJ -vIM -wLd -fGP -fvT -hpM -bOP -iSD -dCs -gGs +fNm +iSi +iSi +wLA +uSJ +gIP +cuE +qOx +qZE +qZE +qtK +qZE +qZE +qZE +qZE +qZE +xOv +nQG +hoD +qZE +qZE +oED +ltl +wtG +rfz +rfz +rfz +rfz +cmU +vKZ +ozh +iDi +evv +mLg +iKH +cvj +fZr +tiH +lnx nBE -cUL +xhd mhc -hbb -ewP -ewP -dLZ -ewP -lxy +hFR +nrY +nrY +urM +nrY +fUk raC xcO tpC @@ -114613,8 +114614,8 @@ kIt tpC nBE mhc -vfE -yjI +vIR +igA cbj ksa ksa @@ -114736,27 +114737,27 @@ cDv cDv cDv cDv -fSG +sqH cDv cDv nBS dYt -kEN +ujU tVD vTL lvp tVD -uRW +gaI dYt vmu nBS tVD -lmK +afZ dYt vmu wtF gpi -wPA +boS rph lNG bIc @@ -114765,11 +114766,11 @@ iuF wtF ksa vyg -gOA -xHh -gOA -gOA -xoG +iSB +eHL +iSB +iSB +neM bLy xmm cOH @@ -114785,14 +114786,14 @@ sMk sMk oRg nJK -nrI +pYo iMo oym ijM wSN iBE iaT -wim +rzq wfM wfM wfM @@ -114801,55 +114802,55 @@ rGT vTP dKl dKl -nVA +hUc bOJ wxL -pUp +xAS nBE rHt -tLM -rNF +evE +nLG grF -bxE +aqi nBE -uqE -nOZ -lvg -ifr -vBv -ffI -dEH -aIN -pcw -tMe -ksl -vvb -aIN -aIN -fge -aIN -aIN -vvb -aIN -vjR -fek -mkP -ldS -bFJ -whA -qlC -nIN -qXC -hQX -bUc -sPW -gOr -oUD -kFe +svD +iSi +ilR +rbU +hmW +irU +dUm +qZE +rtp +hhJ +vgL +hOq +qZE +qZE +cKp +qZE +qZE +hOq +qZE +vGp +vxY +oDE +wtG +woD +bbU +uhj +rfz +lgD +emb +nij +hoJ +kLU +jwr +wjR khD bfQ -vYF -qRN +ksn +rbB nBE dbl dbl @@ -114858,7 +114859,7 @@ mhc tpC nBE tpC -ezR +lWF mhc raC mhc @@ -114868,10 +114869,10 @@ tFb mhc mhc mhc -utc -vfE -ucn -bmT +kjg +vIR +hWT +grD cbj ksa ksa @@ -115013,7 +115014,7 @@ dBA kPJ wtF nNV -bYD +svr bIc bIc bIc @@ -115022,9 +115023,9 @@ aMh wtF xXP mZc -gOA -xHh -ybw +iSB +eHL +tkU mZc mZc bLy @@ -115046,7 +115047,7 @@ dWS dWS dWS dWS -run +xaR dWS dWS svg @@ -115058,13 +115059,13 @@ hHy hHy hHy hHy -lFJ +fBg mIl qkx cyB nBE nBE -tLM +evE nBE nBE nBE @@ -115073,7 +115074,7 @@ nBE nBE nBE nBE -qnZ +dRv nBE nBE nBE @@ -115092,17 +115093,17 @@ nBE nBE nBE khD -xWq -ocN -cOp -nIN -nOv -hQX -mFO -nIN -nIN -nIN -nIN +bZq +sNb +bRD +rfz +irs +emb +mWG +rfz +rfz +rfz +rfz khD khD khD @@ -115115,20 +115116,20 @@ onZ nBE nBE aAL -ezR +lWF mhc nBE -kUm -bwJ -kUm +fKL +toE +fKL nBE tpC -xOY +aUZ aAL nBE tpC -ehq -vXb +cMf +cEq cbj ksa ksa @@ -115162,7 +115163,7 @@ fJK fJK fJK fJK -hll +srE fJK fJK fJK @@ -115251,7 +115252,7 @@ vUu ntI jXV hIU -jKn +dNk wtF kLj kLj @@ -115270,22 +115271,22 @@ kLj nax wtF rJM -bYD +svr dzj -pCo +fFr doR sEO sEO sEO sEO bLy -hYH -xHh -cpO +jJJ +eHL +nUA mZc -pVu +vNa lTB -sfu +oaA fTi bLy pYv @@ -115303,13 +115304,13 @@ tzc dhE jxy sKY -grB +fyr dsR dWS vvu blQ emu -fYu +vAn cjf dIb vmA @@ -115321,16 +115322,16 @@ qkx lTH nBE vDK -tLM +evE byX nBE cnU -laj +qlN mhc -gjV +nKG nBE tpC -tLM +evE nep nBE aAL @@ -115349,30 +115350,30 @@ nep tpC rUL khD -xkj -pwh -neF -kZE -lpW -hQX -bUc -jRY -fRK -wlU -wwm -hmZ -jwG +xeD +ufc +eqx +mKV +tfZ +emb +nij +boX +tgY +cEw +bpr +nzW +jAD khD -wau +kxp nBE tpC aAL -ctR +gFX mhc woy nBE nBE -dqu +opp nBE nBE nBE @@ -115527,20 +115528,20 @@ deQ deQ gOv bIc -gAj +tHP eTt -fFr -cTs +bBJ +wsd sEO -gTp -eDg -tsi +hae +ktl +kIw bLy -lnm -kQj -uTN +cQJ +rQB +piZ mZc -gdp +azg wEA wEA ogk @@ -115560,8 +115561,8 @@ iLB iLB jxy kWT -grB -cLc +fyr +xzI dWS dWS dWS @@ -115577,27 +115578,27 @@ eWw qkx cgP nBE -wuf -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM +rtJ +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE mhc tFb mhc @@ -115606,44 +115607,44 @@ woy mhc raC khD -xPz -mhP -xjF -nIN -dUX -hQX -vIM -dgS -gOp -gOp -lqF -dPK -gzI +bbx +hMV +xxL +rfz +kSX +emb +ozh +nMy +wEZ +wEZ +mUF +mAj +ePW khD -lBg -spb +wzz +siz mhc kIt mhc mhc -sEA +fNE nBE -eBs -ezR +rIh +lWF mhc tpC cnU nBE -bxx -aXE -bxx +uxW +eLm +uxW khD -qcT -bcw -sZC -jVd -qcT -rDD +lpt +abb +cCn +iBm +lpt +xhQ ksa ksa ksa @@ -115761,7 +115762,7 @@ dYt wpO uAP nYl -cYM +tlI rEL cmn kRS @@ -115783,24 +115784,24 @@ xRJ xRJ xRJ peN -tMy -qjq +rwi +saW rYV hyd nJb -vhh -sos -aEg -aEg -kNH -mvc -saI -dQL -svc -qbm -qbm -wjU -ghk +bdF +xik +prR +prR +yfx +hUx +sln +frk +oPi +kPk +kPk +wyi +mwv mZc nNJ iLB @@ -115817,19 +115818,19 @@ sKY iLB jxy iLB -pqw -wiD -kiu -wiD -wiD -wiD -wiD -wiD -wiD -wiD -goD -wiD -cPj +jXQ +kUd +ntd +kUd +kUd +kUd +kUd +kUd +kUd +kUd +fkU +kUd +wFy gAC nuS waq @@ -115839,12 +115840,12 @@ dsf cnU nBE cnU -wjI +pPl mhc raC nBE nep -evq +bJf kIt nBE tpC @@ -115854,69 +115855,69 @@ tpC aAL nBE kIt -tLM +evE nep nBE nep -dDF +eOZ mhc mhc -gjV +nKG khD -veK -skI -gmy -nIN -lfj -rzW -iPZ -jRY -axo -hmZ -pbf -eTA -vzG +coS +oJv +ucl +rfz +sIc +coi +htI +boX +wlU +nzW +vzr +vWw +qjg khD -pWo +dLQ nBE nep mhc tpC mhc -oox +aly nBE mhc -ezR +lWF kIt mhc nep nBE -lox -pzL -ngS +aRH +wji +kqO khD -jkv -mRD -omZ -mRD -dio -lvd -det +rgu +agx +lno +agx +mtc +tQa +tWN uoo uoo -nxm +dgk uoo uoo -nxm +dgk uoo uoo -nxm +dgk uoo uoo -nxm +dgk uoo uoo -nxm +dgk xEe cpH gOE @@ -115929,7 +115930,7 @@ dNx lyV dIp suH -ghg +uLD hdQ nMq fJK @@ -116041,40 +116042,40 @@ jWq jWq gOv dlt -gAj +tHP lNG -fFr +bBJ lns sEO -wgM -iaL -liB +qpq +ujQ +llA bLy -aRz -aRz -aRz +sMG +sMG +sMG mZc -sBT +byn wEA -mnA -beS -beS -wic -wic -wic -wic -wic -wic -waF -wic -wic -wic -wic -wic -wic -wic -wiD -eqJ +uBS +qWh +qWh +mAJ +mAJ +mAJ +mAJ +mAJ +mAJ +rOq +mAJ +mAJ +mAJ +mAJ +mAJ +mAJ +mAJ +kUd +tLk iLB jxy jxy @@ -116087,7 +116088,7 @@ jxy jxy jxy jxy -pNi +vHM nte cem nBE @@ -116111,7 +116112,7 @@ nBE nBE nBE nBE -tLM +evE nBE nBE nBE @@ -116125,7 +116126,7 @@ khD khD khD khD -olc +jcz khD khD khD @@ -116136,44 +116137,44 @@ khD khD nBE nBE -sEA +fNE mhc -nZd -cnc -cnc -rpC -cnc -lyU -aXg -aXg -aXg -sGF -kPo -kPo -qqd -aUr -uLI -iRe -kwk -iRe -jCY -kbE -jwt +gAv +dJx +dJx +wJc +dJx +rNb +jsH +jsH +jsH +mDg +gCv +gCv +hIi +eud +fgA +teG +gdb +teG +wUH +ihs +tKm vyP vyP -jwt +tKm vyP vyP -jwt +tKm vyP vyP -jwt +tKm vyP vyP -jwt +tKm vyP vyP -jwt +tKm oVm qWf qsF @@ -116298,22 +116299,22 @@ kLj kLj wtF bGH -gAj +tHP bIc -fFr +bBJ hqM sEO sEO sEO sEO bLy -aIr -fZT -bNi +xaG +huT +wvp mZc aXc wEA -sfu +oaA pME mZc iLB @@ -116322,7 +116323,7 @@ oed jxy iLB oxX -umd +tdT iLB bUg jxy @@ -116337,9 +116338,9 @@ jxy tWR fiS bPd -pfy +mfp bPd -cRq +uDo jhJ lWJ bPd @@ -116348,33 +116349,33 @@ lLd nte xUY qnE -wzA -dXi -hKH +wOn +dBh +jwu ccp -rIx -eGD -gyn +ryl +riJ +xgl vBE -icV -wzX -uQR +tDD +rOd +uKV bQY -heR -mEi -kyB -kyB -rqz -yhc +iIo +dzR +krh +krh +jRY +oVA nBE nep -tLM +evE mhc -vYH +sZj rUL nBE -vYH -pxW +sZj +qkg tpC aAL nep @@ -116382,55 +116383,55 @@ nBE rUL tpC nxW -jOx +dEm byX -iRY -ojw +prT +lfL nBE dbl grF -xTL +nyj raC byX nBE woy -oox -jOx +aly +dEm mhc mhc nBE nep -vBP +aJe mhc mhc tpC nBE -lox -vpL -gLf +aRH +hza +ktR khD -bJw -mRD -iKJ -mRD -qha -tqd -ltw +fMK +agx +ref +agx +oIF +xsa +sbI uoo uoo -qfn +tFr uoo uoo -jDj +nfc uoo uoo -jDj +nfc uoo uoo -jDj +nfc uoo uoo -jDj +nfc dCt kPa mlb @@ -116555,12 +116556,12 @@ iMs uKL wtF alq -gAj +tHP bIc bIc bIc bIc -wrt +cwp wtF xXP mZc @@ -116579,7 +116580,7 @@ jxy jxy jxy jxy -aCx +dPx jxy jxy jxy @@ -116598,34 +116599,34 @@ bPd bPd iWw iWw -tBI -grO +pcw +rKT pmV lLd nte -jCx +uMc qnE -eqe +vga ccp ccp ccp -rIx +ryl ccp -uso +soS vBE -hLs -iKN -jkZ +pfZ +tgm +fdX bQY -jRl -iOs -lZD -fzD -eyN -lhG +qMv +vpL +bao +sAH +fep +chy nBE mhc -tLM +evE kIt tpC raC @@ -116633,13 +116634,13 @@ nBE raC kIt mhc -nta -pxW +mYJ +qkg nBE woy mhc mhc -jOx +dEm mhc kIt tpC @@ -116652,30 +116653,30 @@ woy nBE mhc mhc -jOx +dEm mhc woy nBE tpC -vBP +aJe mhc kIt aAL nBE -yda -vqo -yda +hss +uAC +hss khD -qcT -kEl -tzs -urn -qcT -rDD +lpt +uzL +okB +mxt +lpt +xhQ ksa ksa ksa -jhf +vRc ksa ksa xXP @@ -116708,7 +116709,7 @@ bop aVR aVR dnp -kuk +vyO fJK fJK fJK @@ -116792,27 +116793,27 @@ cDv cDv cDv cDv -jhk +doS cDv cDv nBS dYt -dnc +pea tVD vTL lvp tVD -jGx +fhG dYt vmu nBS tVD -vse +aNb dYt vmu wtF rnm -gAj +tHP ifN eTt bIc @@ -116830,23 +116831,23 @@ enc uWY moy jxy -erQ +tun iLB soc nnv kWT nNJ -umd +tdT ybe bAh jxy -cMB -wsT -fgE -hMB -kpP -oij -iXR +cqi +cMN +hCM +aqL +jBe +wUd +onn sfC gIG gIG @@ -116862,27 +116863,27 @@ lLd nte lTH qnE -pzF +cya ccp -hKH +jwu ccp -rIx +ryl ccp -gyn +xgl vBE -nAc -rlt -haG +lzU +cty +gGy bQY -pfS -iOs -shc -wej -eyN -smR +skb +vpL +vsh +jeN +fep +lcF nBE aAL -tLM +evE mhc mhc mhc @@ -116896,25 +116897,25 @@ tFb mhc mhc kIt -usg -cnc -cnc -cnc -rpC -cnc -cnc -cnc -cnc -cnc -rpC -cnc -cnc -tAK +gWl +dJx +dJx +dJx +wJc +dJx +dJx +dJx +dJx +dJx +wJc +dJx +dJx +iLv kIt raC nBE nBE -vBP +aJe nBE nBE nBE @@ -116932,7 +116933,7 @@ khD ksa ksa ksa -jhf +vRc ksa ksa xXP @@ -117049,27 +117050,27 @@ feX feX feX feX -iIy +wJU ilM cDv nBS dYt -gmo +kHB dYt vmu nBS dYt -jxm +koc dYt vmu nBS dYt -ogl +lTd dYt vmu wtF rpP -gAj +tHP dzj dzj dzj @@ -117084,25 +117085,25 @@ xXC jxy uZj ulm -fro +iWE fxu jxy -crI +eTM iLB soc nnv iLB iLB -umd +tdT iLB -vZd +mvg jxy -nsA -bva -sqZ -rcG -jVE -bva +kQp +euu +meF +wGL +giu +euu sfC sfC ben @@ -117119,38 +117120,38 @@ lLd ewB lTH baI -uOm +txs ccp ccp ccp ccp ccp -pMI +uwP vBE -cuZ -gTK -gvn +uka +lfH +vwr bQY -pIi -iOs -vOX -cBo -eyN -sGp +iNN +vpL +lwi +hGW +fep +lvR nBE kIt -tLM +evE tpC -nCP +sZi mhc nBE -bid +sss nep mhc -pxW +qkg kIt nBE -dDF +eOZ mhc mhc mhc @@ -117165,13 +117166,13 @@ mhc tpC nBE nep -xTL -oox +nyj +aly mhc aAL nBE dbl -vBP +aJe mhc mhc mhc @@ -117182,14 +117183,14 @@ xbH xbH xbH nBE -miz +iFI cnU aAL cbj ksa ksa ksa -jhf +vRc ksa ksa xXP @@ -117218,7 +117219,7 @@ fJK fJK fJK fJK -nTp +bbK fJK fJK fJK @@ -117305,13 +117306,13 @@ fHY fKj fKj fKj -nhQ -dmt -sZV +vAS +bJl +gYQ cDv nHx rHD -ulT +jUn rHD oak gLB @@ -117325,13 +117326,13 @@ ltp rHD mhS wtF -lzt -aYt -auF -tlL -pGP +sER +tdq +kVo +acu +wGW auW -plI +vsD wtF ksa xWh @@ -117345,21 +117346,21 @@ ulm vMt gXK iLB -bcF +gTQ iLB bTN iLB kJI -eGM -wiD -wic -tRo -czu -ovM -ovM -neG -bva -nIW +nhH +kUd +mAJ +fNI +grH +obG +obG +gIJ +euu +cwe sfC tWR gIG @@ -117376,35 +117377,35 @@ lLd ewB lTH baI -hoa -oru -hKH +oCD +nRS +jwu ccp -dcz -vYa -pqL +sjy +nzo +iRe vBE -vCZ -tnv -obE +uhY +mtN +rMe bQY -kVE -mmS -iPm -uGD -civ -ukI +kjD +kEa +psF +dmm +dRy +jUO nBE mhc -tLM +evE mhc raC nep nBE raC sAN -xTL -miz +nyj +iFI sAN nBE rUL @@ -117412,8 +117413,8 @@ tpC woy mhc byX -iRY -ojw +prT +lfL nBE nep aAL @@ -117424,11 +117425,11 @@ nBE nBE nBE nBE -gvX +cYL nBE nBE dbl -vBP +aJe tpC xcO nep @@ -117438,7 +117439,7 @@ tFb mhc mhc mhc -utc +kjg mhc mhc mhc @@ -117446,7 +117447,7 @@ cbj ksa ksa ksa -jhf +vRc ksa ksa xXP @@ -117462,7 +117463,7 @@ xXP xXP uoo uoo -oGl +uhx pbE aBC jht @@ -117475,7 +117476,7 @@ fJK fJK fJK fJK -kJa +wPE fJK fJK fJK @@ -117562,7 +117563,7 @@ ksa ksa xpD fHY -nOu +kyK hOU hOU cDv @@ -117583,11 +117584,11 @@ cDv cDv cDv cDv -kVn +wyN cDv cDv owu -knW +hLT owu wtF xXP @@ -117609,51 +117610,51 @@ nNJ iLB iLB iLB -aij +eFE jxy -pHX -uSp -bva -rov -ovM -ovM -gZc +aue +hfw +euu +oeh +obG +obG +lBi qDZ qDZ -ocy +gvx qDZ qDZ qra qDZ gIG -aHS -cDe +lkk +sNx pmV lLd xFr lTH qnE -isn -tEF +bYY +xCj ccp ccp -dcz -eAu -qGp +sjy +tAF +pKz vBE vBE -ryl +oWu vBE bQY bQY bQY -xGV -crt +rwX +tvQ bQY bQY nBE nBE -tLM +evE nBE nBE nBE @@ -117667,7 +117668,7 @@ nBE nBE nBE nBE -adO +gwo nBE nBE nBE @@ -117675,35 +117676,35 @@ nBE nBE nBE nBE -adO +gwo nBE nBE -cGe +vsb nBE nxW -lBg -vYy +wzz +bIk nBE dbl -vBP +aJe mhc kIt mhc mhc nep nBE -uyr +pcZ mhc -rsR +xHm nBE -xgI +thw mhc -hbO +bww cbj ksa ksa ksa -jhf +vRc ksa ksa xXP @@ -117819,7 +117820,7 @@ xXP xXP xXP fKj -tPv +qog fKj hOU hOU @@ -117840,7 +117841,7 @@ hOU hOU hOU hOU -brh +wwj hOU cDv pyH @@ -117866,14 +117867,14 @@ niU tKX tKX uyw -aij +eFE jxy -flJ -uSp -xIH -rhs -bva -gYL +ttL +hfw +cNt +oYK +euu +mbR sfC tWR knz @@ -117890,48 +117891,48 @@ lLd xFr lTH baI -lEl -htN -hKH +sgP +qhE +jwu ccp -dcz -ych -pqL +sjy +ykL +iRe lAc -jPq -efW -bbj -vZw -hZF -hhq -efW +bnF +jpg +bQb +pBl +lfv +vNq +jpg lAZ -gtM -hUA +qUT +wVt nBE -aFJ -tLM +soY +evE tpC -jsB -lZQ +qva +qFm nBE rUL raC -qMh -qMh -qMh +eTg +eTg +eTg raC aAL nBE -qhp +jWp mhc tpC -vAP -hwB +lut +oNF nBE nep -cyt -nCP +bxI +sZi mhc vLk nBE @@ -117942,16 +117943,16 @@ nBE nBE nBE nBE -vBP +aJe nBE nBE nBE -fGu +gqo nBE nBE -jbY +ktf mhc -pjs +fNz nBE cbj cbj @@ -117960,8 +117961,8 @@ nBE xXP xXP xXP -ugt -mai +adM +oLY xXP xXP xXP @@ -118092,13 +118093,13 @@ fKj fKj fKj fKj -nnE -nnE -rJp -kMC -gXk -jGu -gvc +wGC +wGC +pWf +bZm +uSb +dXI +arv cDv dgH wML @@ -118107,7 +118108,7 @@ wtF ksa jxy jxy -dBr +bHz jxy jxy jxy @@ -118123,7 +118124,7 @@ jxy jxy jxy jxy -aij +eFE jxy sfC tJF @@ -118147,43 +118148,43 @@ lLd xFr lTH baI -uOm -oyG +txs +nCM ccp ccp ccp -oyG +nCM ccp -xgl +uzi lAZ -efW +jpg lAZ -bhk -ksR -hyj -qub -wge +oGr +adc +gJO +nxi +nxm lAZ lAZ nBE -tUl -tLM +kkV +evE mhc kIt nep nBE mhc mhc -fwB -fwB -fwB +lWY +lWY +lWY mhc tpC nBE -wuf +rtJ mhc -qhp -xTL +jWp +nyj woy nBE tpC @@ -118199,14 +118200,14 @@ mhc tpC nBE mhc -vBP +aJe mhc kIt mhc mhc tpC nBE -nue +vRm sAY sFf nBE @@ -118218,7 +118219,7 @@ ksa ksa ksa ksa -jhf +vRc ksa ksa ksa @@ -118351,10 +118352,10 @@ ksa fKj bCt otG -ioq -vqd -hSr -cot +vxm +vRj +wWP +oml qgu cDv jdJ @@ -118367,24 +118368,24 @@ oed iLB ybe jxy -uZf +eTb iLB iLB -pBc +ifh bDa jxy mld oed -veJ +jjW gJI frv jxy tbY -oof +wDi jxy -oga +rWn ucv -kie +fdf sfC pDJ jWN @@ -118404,59 +118405,59 @@ lLd xFr yaj qnE -khi -oyG -iom -rcp -rcp -rcp -rcp -tKe -efW -nOO -efW -gVG -flq -jCL -kMz -efW -nOO -efW -iYH -tLM -tLM -tLM -tLM -tLM -taA -tLM -tLM -tLM -hxe -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -tLM -iWu -tLM -vYg +veo +nCM +jft +upb +upb +upb +upb +aVZ +jpg +crt +jpg +etv +uAL +fpY +cBg +jpg +crt +jpg +eev +evE +evE +evE +evE +evE +fhy +evE +evE +evE +pUC +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +evE +gHD +evE +oIz mhc xcO mhc @@ -118475,7 +118476,7 @@ ksa ksa ksa ksa -jhf +vRc ksa ksa ksa @@ -118633,12 +118634,12 @@ sLP jSC jSC jSC -iRq +gdp iLB gXK -fRx -aij -wYc +ofT +eFE +aOF ucv ucv qgx @@ -118647,57 +118648,57 @@ sfC sfC sfC sfC -xqN +hqt gIG bPd bPd bPd lIF xFJ -wgn -grO +igf +rKT pmV wEs xFr sfj qnE -eqe +vga ccp -rcp +upb ccp ccp ccp ccp -xgl +uzi lAZ lAZ -gET -prz -aOO -ksR -xtT +aKd +xcA +jXH +adc +hMh lAZ lAZ lAZ nBE mhc -tLM +evE mhc tpC -iFR +fFN nBE mhc -nCP +sZi kIt -hxe -nCP +pUC +sZi woy mhc nBE mhc mhc -qhp -bdx +jWp +luE mhc nBE nep @@ -118710,10 +118711,10 @@ aAL woy mhc tpC -gjV +nKG nBE -miz -vYg +iFI +oIz mhc hGa mhc @@ -118732,7 +118733,7 @@ ksa ksa ksa ksa -jhf +vRc ksa ksa ksa @@ -118894,15 +118895,15 @@ exj vsU jxy nNJ -aij +eFE jxy aUh -fMC +qVI eNN sfC -cSx +iui cSY -cSx +iui sms wSC qWj @@ -118918,50 +118919,50 @@ lLd xFr lTH qnE -chJ +sXt ccp -rcp +upb ccp -weB -jtl -weB +kSU +izx +kSU lAc -nYe -sPz -skS -owK +sPc +alW +ibJ +bML lAZ lAZ -owK -wsB -lIS -qRn +bML +rrx +fWg +uVC nBE -rTL -tLM -nea -dOs -cPr +jpD +evE +naG +aAw +gLe nBE sAN tpC nep -hxe +pUC nep sAN -vYH +sZj nBE -urM -wJA -qYD -sEA +vfJ +lBs +aaf +fNE dbl nBE cnU -nCP -sEA -uqh -eQv +sZi +fNE +eLl +mzD nBE nBE nBE @@ -118970,7 +118971,7 @@ nBE nBE nBE nBE -vYg +oIz nBE nBE mhc @@ -118989,7 +118990,7 @@ ksa ksa ksa ksa -jhf +vRc ksa ksa ksa @@ -119151,15 +119152,15 @@ jxy jxy jxy jxy -aij +eFE jxy jxy sfC sfC sfC -cSx +iui oHe -cSx +iui sms sms pmV @@ -119176,9 +119177,9 @@ xFr nBQ qnE qnE -qwY -rcp -apr +qMQ +upb +wOe qnE qnE gji @@ -119195,7 +119196,7 @@ nBE nBE nBE nBE -tLM +evE nBE nBE nBE @@ -119203,7 +119204,7 @@ nBE nBE nBE nBE -rHG +nuU nBE nBE nBE @@ -119220,14 +119221,14 @@ nBE nBE nBE nBE -iYW +gtF tpC mhc nep woy nBE byX -vYg +oIz byX nBE mhc @@ -119246,7 +119247,7 @@ ksa ksa ksa ksa -jhf +vRc ksa ksa ksa @@ -119395,7 +119396,7 @@ ybe jxy bAF daY -vQt +cmm daY daY jxy @@ -119408,8 +119409,8 @@ dUM jyf jxy iLB -aij -vZd +eFE +mvg jxy bix uLz @@ -119419,12 +119420,12 @@ vXz vXz gGX sms -mjw -rEE +jKX +ooc bPd gHr lIF -tVY +onE pVJ lCw azn @@ -119434,48 +119435,48 @@ xYE ohV baI ccp -rcp +upb ccp ccp ccp gji -xYl -npc -qoW +qal +foO +lcu gji -pPF -jPy -bxN +nQr +tzQ +nvE nBE dbl -pQX +wyS dbl nBE nep -tLM +evE dbl nBE -fsH -fsH -fsH -baP -mFK -liQ -pyW -uUY -gHc -gHc -gHc -vfK -xpF -xCt -vpn -hui -vpn -vfK -iKZ -vfK -qle +orm +orm +orm +vbP +joo +tmC +bds +hrf +gHM +gHM +gHM +aVg +swv +mjc +slY +eEY +slY +aVg +rnj +aVg +uJC nBE dsf dsf @@ -119484,9 +119485,9 @@ mhc mhc tbo mhc -vYg +oIz mhc -utc +kjg mhc woy fCw @@ -119503,7 +119504,7 @@ ksa ksa ksa ksa -jhf +vRc ksa ksa ksa @@ -119647,27 +119648,27 @@ fEP ksa xWh iLB -aij -aij -kod -kod -kod -kod -kod -kod -kod -aij -aij -aij -aij -aij -aij -aij -gSA -aij -aij -aij -ezZ +eFE +eFE +pOZ +pOZ +pOZ +pOZ +pOZ +pOZ +pOZ +eFE +eFE +eFE +eFE +eFE +eFE +eFE +rIF +eFE +eFE +eFE +xMg pgh pgh eUW @@ -119691,48 +119692,48 @@ qYz yaj baI ccp -rcp -rcp -rcp -rcp -qXs -eHm -eHm +upb +upb +upb +upb +fPF +nUU +nUU qaG gji -wDe +kKv qaG qaG -uww +dlk mhc mhc mhc tbo mhc -tLM -tLM -tPw -via -via -via -via -via -liQ -liQ -liQ -liQ -liQ -exq -wsv -vUf -vUf -lrm -tlA -tlA -vfK -jrG -vfK -ntm +evE +evE +nFV +jKF +jKF +jKF +jKF +jKF +tmC +tmC +tmC +tmC +tmC +uni +akQ +tku +tku +fUG +fRV +fRV +aVg +jMx +aVg +nZJ nBE woy mhc @@ -119741,7 +119742,7 @@ tpC aAL nBE kIt -vYg +oIz byX nBE tpC @@ -119760,7 +119761,7 @@ xXP xXP xXP xXP -gRN +xfv ksa ksa ksa @@ -119904,12 +119905,12 @@ fEP xXP xWh kWT -aij -xoa +eFE +mvv jxy vMC daY -kod +pOZ daY daY jxy @@ -119935,70 +119936,70 @@ pgh vKu lIF lIF -elS -wBm -jxh +bdM +fQc +mIv lIF lIF flM oOy wxL obc -kDc -dqX -cJi -qzc -rcp -cKc -eAu -rjS +cDO +mLs +rIk +lMF +upb +lur +tAF +feu gji -vAj -eHm -hml +dlr +nUU +esq gji -tUZ -hDT -sWv +jCY +oeY +cCI nBE nep mhc byX nBE byX -tLM +evE nep nBE -fsH -via -trQ -cEq -tMY -lnu -cEq -cEq -adC -via -fsH -vfK -mTR -vUf -lhs -lhs -lhs -vfK -iyf -ptZ -rfx +orm +jKF +ljh +noH +lyA +aet +noH +noH +pfO +jKF +orm +aVg +ryx +tku +dCU +dCU +dCU +aVg +gEn +dqk +uVE nBE nBE nBE -uoq +tOb nBE nBE nBE nBE -vBP +aJe nBE nBE mhc @@ -120161,17 +120162,17 @@ fEP ksa xWh iLB -aij +eFE bnz jxy jxy jxy -kod +pOZ jxy jxy jxy jxy -hCN +hAx jxy jxy jxy @@ -120192,9 +120193,9 @@ eUW xYi gHr bPd -mbo +nRl vzy -nrz +rqH bPd wZI pmV @@ -120204,49 +120205,49 @@ jCA wdR cID qnE -agn -ibg -fTh -nhh +gbc +aUU +evS +kRs ccp -vzs +iiJ qaG -bXW -sNK -upb -sNK -sNK -eQs +wQL +vOV +vZc +vOV +vOV +vDE nBE nBE -fGu +gqo nBE nBE nBE -tLM +evE nBE nBE -siB -via -ctM -bdg -sZj -xVV -bdg -sZj -oPK -via -bRk -vfK -gub -vUf -mBa -cNR -mGe -hNJ -gSz -cFF -wAm +vfH +jKF +irk +mzg +xpS +awl +mzg +xpS +wtz +jKF +dht +aVg +lqE +tku +xzx +xtb +aif +jzz +apa +wkQ +cEB nBE dbl mhc @@ -120255,7 +120256,7 @@ byX rUL nBE woy -vYg +oIz tpC nBE mhc @@ -120418,12 +120419,12 @@ ksa ksa jxy bAh -aij +eFE oed jxy eOJ ngl -aij +eFE nub gOs jxy @@ -120431,15 +120432,15 @@ vFI iLB tzc jxy -iWI +oek iLB -wii +kun jxy ybe iLB ybe jxy -lbK +eBt xUZ eUW eUW @@ -120449,9 +120450,9 @@ eUW fDG bPd bPd -bPp -gHu -wJe +gmP +gyz +dxC bPd bPd qFf @@ -120460,50 +120461,50 @@ wdR xFr wdR fEJ -raN +kCD ccp ccp -chJ +sXt ccp ccp -qpy -bzD -poh +eoZ +ykH +npk qaG gji -mZs -hea -hIW +roW +pzV +ejv nBE byX mhc dbl nBE nxW -tLM +evE byX nBE -lyT -via -ctM -uGk -ghr -ghr -ghr -fRW -ubF -via -cJO -vfK -itK -wWx -ahy -krA -pFJ -vfK -lvc -xTW -drq +fkQ +jKF +irk +dPe +luR +luR +luR +tKC +lpB +jKF +jzK +aVg +aFd +vpN +fZj +sXr +byZ +aVg +qaT +wet +fyS nBE byX mhc @@ -120512,9 +120513,9 @@ mhc mhc tbo mhc -vYg +oIz mhc -utc +kjg mhc mhc gqX @@ -120675,22 +120676,22 @@ ksa ksa jxy jxy -aij +eFE jxy jxy -fXj -iUQ -aij +cUC +rJE +eFE aOz -bbG +fOr jxy nNJ iLB iLB jxy iLB -iJp -uFo +bsz +lsh jxy nNJ iLB @@ -120702,7 +120703,7 @@ eUW eUW eUW eUW -czD +qbs sms bpB bPd @@ -120723,44 +120724,44 @@ ccp ccp ccp ccp -sQW +iTL qaG -afd +rNa qaG gji -dOL -nVc -gSC +jQt +wSK +lqy nBE nep mhc dbl nBE dbl -tLM +evE xcO nBE -jIO -via -lnu -eCG -ghr -jUk -ghr -ogd -lnu -via -scQ -vfK -vfK -cQW -vfK -vfK -vfK -vfK -vfK -vfK -vfK +ksK +jKF +aet +odz +luR +qGY +luR +pNt +aet +jKF +uDs +aVg +aVg +vcf +aVg +aVg +aVg +aVg +aVg +aVg +aVg nBE dbl mhc @@ -120769,7 +120770,7 @@ woy tpC nBE nep -vYg +oIz cnU nBE nep @@ -120931,13 +120932,13 @@ kjj kjj kjj dWS -uKb -aij +sGq +eFE uyw jxy soc rWt -aij +eFE pHK gxY jxy @@ -120964,8 +120965,8 @@ sms gHr xcb gJb -ure -lOM +izX +eMn mOP gHr lCw @@ -120976,48 +120977,48 @@ mCc hDJ baI ccp -wId -gLa -gWA +mOq +vKL +fxa ccp gji -slz -nit -gYp +vpQ +qKN +tYY gji -cvm -vzx -rjp +fii +lvd +sNK nBE byX mhc dbl nBE dbl -tLM +evE dbl nBE -rPJ -via -iZD -bdg -ghr -ghr -ghr -sZj -oPK -via -gHc -vfK -jOi -vUf -jtE -qOp -jtE -tvk -jtE -mGe -nQC +ohS +jKF +bQR +mzg +luR +luR +luR +xpS +wtz +jKF +gHM +aVg +bei +tku +cVH +kMF +cVH +dES +cVH +aif +hJj nBE nBE nBE @@ -121026,7 +121027,7 @@ nBE nBE nBE nBE -apm +saQ nBE nBE nBE @@ -121189,12 +121190,12 @@ tNL fSX dWS xak -aij +eFE tvo jxy jxy wSk -pZC +bqr wSk jxy jxy @@ -121251,39 +121252,39 @@ rot nBE nBE nBE -tLM +evE nBE nBE -myz -via -iZD -uGk -fRW -wtN -uGk -fRW -ubF -via -fdz -vfK -boP -lDQ -vjj -rAh -fuM -vfK -nKz -jtE -dlI +iDU +jKF +bQR +dPe +tKC +iHl +dPe +tKC +lpB +jKF +uHV +aVg +xif +vJJ +cfy +daD +lBK +aVg +dpB +cVH +tbi nBE dzV mhc -jRA -dKQ -nbm -sMe +xcv +kqU +elJ +kDE mhc -vYg +oIz nep cbj ksa @@ -121435,7 +121436,7 @@ oAN oAN oAN nKr -ker +uaJ sWc bcQ mHO @@ -121444,14 +121445,14 @@ rWH tfF jjD dOx -amE -aij -aij +rfQ +eFE +eFE qtL jxy pTI nbF -bYW +fpT yeV uAu jxy @@ -121474,13 +121475,13 @@ jdb bBA lKY wfT -sRJ -rOu -sRJ -bpI +cAl +bAb +cAl +xYz lKY -tnK -egs +tbl +iKq nyc flt xVW @@ -121489,14 +121490,14 @@ eBF iap igL rPX -dDd +djW eaE -pQy +mew nBE nep -dDF +eOZ kIt -qMh +eTg dbl nBE nep @@ -121504,44 +121505,44 @@ tpC nep nBE mhc -lus +ool tpC nBE dbl -tLM +evE nep nBE -fsH -via -trQ -uPZ -uPZ -lnu -cIJ -uPZ -trQ -via -gHc -vfK -itK -ntZ -boP -kvW -iFK -bfx -cwb -jtE -jPA +orm +jKF +ljh +dLO +dLO +aet +iyM +dLO +ljh +jKF +gHM +aVg +aFd +mTi +xif +nQw +taQ +ewL +kFF +cVH +sbb nBE -fkJ -fFT +evw +fif mhc -rgY -wQO -wQO -wQO -eGI -aOU +jBD +pmC +pmC +pmC +ocV +avg cbj xXP xXP @@ -121702,13 +121703,13 @@ rgi fSi rTm dWS -gNB +fDK iLB hsf jxy bxy lzT -usd +gcv nbF vxs jxy @@ -121731,12 +121732,12 @@ eUW eUW lKY sVt -gLh -uFl -uBT +qeu +nqW +hEN tsN lKY -faD +pQG bms bms bms @@ -121749,51 +121750,51 @@ lBq lBq lBq fQS -fcR -hpb -hpb -hpb -ueH -hpb -hpb -hpb -hpb -wQO -hpb -wQO -wQO -wQO -hpb -wQO -fRU -tLM -tPw -via -via -via -via -via -via -via -via -via -via -giO -dxH -ntZ -ntZ -mCl -uGO -gHK -bfx -xWS -jtE -kOl +tKg +xSe +xSe +xSe +qNz +xSe +xSe +xSe +xSe +pmC +xSe +pmC +pmC +pmC +xSe +pmC +eDX +evE +nFV +jKF +jKF +jKF +jKF +jKF +jKF +jKF +jKF +jKF +jKF +erk +nNc +mTi +mTi +udf +uNH +cYY +ewL +gZA +cVH +njG nBE -tZd -tZd -gjV -vYg +wNA +wNA +nKG +oIz mhc nep mhc @@ -121959,14 +121960,14 @@ kjj kjj kjj dWS -cEM +rUH iLB nNJ jxy sfm lzT -kDe -kMR +oYV +cRf yeV jxy uyw @@ -121987,10 +121988,10 @@ fJY gcx lsC lKY -osP +bdp tsN -loR -hqN +clt +tnp cDP cSv dxP @@ -121998,9 +121999,9 @@ bms mbx mbx mzR -hkg -grG -dqt +fbe +euC +sWZ cDF mbx mbx @@ -122010,7 +122011,7 @@ nBE jwC tpC xcO -gvm +onk mhc nBE dbl @@ -122022,38 +122023,38 @@ xcO dbl nBE tpC -vBP -pxW +aJe +qkg nBE -fsH -gHc -fsH -rGt -iIF -via -lpR -bgm -fsH -fsH -gHc -vfK -aJJ -uFM -cwb -xWS -gHK -bfx -cwb -dLV -jsb +orm +gHM +orm +kuP +wOW +jKF +fiv +wXF +orm +orm +gHM +aVg +eDn +diV +kFF +gZA +cYY +ewL +kFF +iti +oaw nBE nBE nBE nBE -vBP +aJe nBE nBE -hbO +bww mhc mhc nBE @@ -122222,7 +122223,7 @@ jxy jxy bEL bEL -ddB +jUU kjP asu jxy @@ -122245,12 +122246,12 @@ gcx gcx lKY qBi -nwj -edc -krY -dXF +xBY +xcz +eHx +mGx lKY -hhJ +fbW bms oZb tTi @@ -122262,12 +122263,12 @@ bQL tTi unj bms -uzN +mER nBE -qiM +jLa mhc mhc -gvm +onk kIt nBE nBE @@ -122279,7 +122280,7 @@ nBE nBE nBE nBE -vBP +aJe nBE nBE nBE @@ -122287,7 +122288,7 @@ nBE nBE nBE nBE -pmQ +hgm nBE nBE nBE @@ -122307,7 +122308,7 @@ nBE byX byX nep -vYg +oIz xuN khD khD @@ -122479,7 +122480,7 @@ ybe jxy rRt oDn -pZV +oxm nbF yeV jxy @@ -122502,54 +122503,54 @@ lsC gcx lKY sue -jjx +fMO umP -jjx -nKP +fMO +isr lKY -ioZ +fvU bms tTi tTi -iAo +qUY keg ahd kZN -cXz +jRh tTi tTi bms -hUS +cHW nBE kBn -doT +vSy mhc -gvm -dDF +onk +eOZ nBE -cGe +vsb nBE dbl -lus -pxW -lus +ool +qkg +ool dbl nBE -nIw -vBP +vte +aJe nep nBE -jyp -acw -eHi -swz -jVQ -gNh +sRd +sTk +mDR +nQO +rWs +uYa hpY -gtq +iPX dSU -lct -cKq +oGJ +eGb nBE vJI nep @@ -122564,11 +122565,11 @@ nBE tpC mhc kIt -vYg -trh +oIz +jzh khD koC -qgd +gfV vNr seP qHu @@ -122732,12 +122733,12 @@ xXP xWh nNJ iLB -eSr +wna jxy xzw nbF -qed -wFZ +tXl +omM vxs jxy jxy @@ -122753,7 +122754,7 @@ jxy dXd dXd sms -bvd +tVT sms dXd dXd @@ -122768,20 +122769,20 @@ pHL bms tTi tTi -onF +iZN nPz gRo kxM -hoR +hDB tTi tTi bms -xzd +wdT khD khD khD khD -kWG +tXw khD khD khD @@ -122790,40 +122791,40 @@ byX mhc kIt tpC -pxW -xEx -pxW -eFs -hpb -gkj -gkj -gkj -gkj -gkj -njN -njN -njN -njN -njN -njN -njN -gkj -wQO -wQO -wQO -hpb -hpb -wQO -wQO -hpb -wQO -wQO -wQO -hpb -wQO -eGI -tLM -sfI +qkg +pdp +qkg +xSy +xSe +hTW +hTW +hTW +hTW +hTW +ycw +ycw +ycw +ycw +ycw +ycw +ycw +hTW +pmC +pmC +pmC +xSe +xSe +pmC +pmC +xSe +pmC +pmC +pmC +xSe +pmC +ocV +evE +woz anP hOt vdf @@ -122832,7 +122833,7 @@ vdf eyt qwx bDS -nZy +gVL nia bDS cau @@ -122992,10 +122993,10 @@ iLB oed jxy rDA -xJR +mhG rRl -inn -iVh +nfW +eQg jxy oed iLB @@ -123003,69 +123004,69 @@ ybe jxy nNJ iLB -iJp +bsz iLB iLB jxy ksa ksa sms -mqZ +plC sms ksa ksa xvI -kiC -uum -bDu -nlg -pvF +hfO +vId +eSY +wWI +bcT xvI gvO bms tTi tTi -agL +xjd dCT mvr keg -gNL +kkE tTi tTi bms -uUB -kLr -uhG -oAT -fDB -mNz -nhT -oAT -cCi +jBo +bcL +emD +meI +jNc +jNT +hnC +meI +vgE khD dbl tpC -pxW -hur +qkg +eMG tpC nBE dbl -hur -fKd +eMG +ejC nBE -hkR -vIv -dgf -rbH +ylX +xlF +xCg +vlY hpY hpY -vIv -dDn -lNZ +xlF +ftC +nVP lPf -eHi +mDR nBE -sFE +jCE tpC mhc nBE @@ -123077,8 +123078,8 @@ cnU nBE kIt mhc -nRV -aSD +lnG +lBd oOS khD lLb @@ -123245,7 +123246,7 @@ ksa ksa jxy jxy -hCN +hAx jxy jxy jxy @@ -123267,22 +123268,22 @@ jxy xXP xXP sms -uoH +oEr sms xXP xXP xvI -aIe +uBz hVK -mht +iFD hVK -inB -aSW +oDd +xqw dEK bms ttD tTi -beU +dew pLK dFq sRp @@ -123291,23 +123292,23 @@ tTi nMG bms vdT -aed -lER -beQ -gBo -tGW -beQ -ppv -aSj +kud +axa +gjm +gBb +txi +gjm +gXN +cAK khD nBE nBE nBE -ftr +qLo nBE nBE nBE -ftr +qLo nBE nBE nBE @@ -123315,7 +123316,7 @@ nBE nBE nBE cbj -pYF +pqe cbj nBE nBE @@ -123332,10 +123333,10 @@ nBE nBE nBE nBE -bzB +wtf dbl tpC -aSD +lBd nep khD seP @@ -123516,9 +123517,9 @@ iLB iLB qkw iLB -bTm -bTm -bTm +vlj +vlj +vlj nNJ jxy ksa @@ -123531,7 +123532,7 @@ ksa xvI cug nFR -hHd +xSp nFK oMx mrv @@ -123540,40 +123541,40 @@ bms mbx mbx gxh -iuy -tRD -pCX +vgi +vaQ +sqb oRx mbx mbx bms oWG -kNw -adB -qVX -qVX -lry +wWn +iRE +pCO +pCO +faQ tyG -wiT -bio -kLr -rGu -rGu -rGu -rGu -rGu -eYv -rGu -rGu -rGu -rmR +mHx +bUp +bcL +hXe +hXe +hXe +hXe +hXe +qSY +hXe +hXe +hXe +pxh bOr bOr bOr nBE -cxf -bQm -oaX +bIp +rgM +pGW nBE bOr bOr @@ -123592,7 +123593,7 @@ nBE nBE nBE nBE -aSD +lBd nBE nBE ksa @@ -123761,13 +123762,13 @@ xWh iLB iLB iLB -pxp +hTI iLB iLB iLB iLB iLB -pxp +hTI iLB iLB iLB @@ -123786,12 +123787,12 @@ uoo ksa ksa xvI -ogK +dhw mEH -uxx +oyT htF -bTZ -aSW +gBg +xqw dEK mbx mbx @@ -123805,31 +123806,31 @@ mbx mbx mbx vdT -aed -rtd -fZX -gPM -dnK -uQh -fZX -rMz -kLr -rGu -rGu -rGu -rGu -rGu -tBl -rGu -rGu -rGu -rmR +kud +gIE +dVG +cOe +cgZ +kJG +dVG +cCM +bcL +hXe +hXe +hXe +hXe +hXe +xLB +hXe +hXe +hXe +pxh bOr bOr bOr nBE cbj -lKk +ybn cbj nBE bOr @@ -123840,16 +123841,16 @@ bOr bOr bOr nBE -sea +xzD mhc -uPg +neB nBE byX mhc byX nBE cnU -aSD +lBd mhc cbj ksa @@ -124019,7 +124020,7 @@ ybe ybe nNJ jxy -jJh +xgL iUf fVV cEn @@ -124043,44 +124044,44 @@ uoo ksa ksa xvI -kkz +cmy dgK -gXL -cJN -ttK +iws +pQW +clW xvI -aIZ +svx csE tGK csE -naK -deW -deW -deW +hxO +lPx +lPx +lPx pNS csE tGK csE -dLL -kLr -hmP -tkc -mzn -vvM -dMg -tkc -hmP -kLr -rGu -rGu -rGu -rGu -rGu -rmR -rGu -rGu -rGu -rGu +rER +bcL +tcX +ssE +uVm +ars +vSN +ssE +tcX +bcL +hXe +hXe +hXe +hXe +hXe +pxh +hXe +hXe +hXe +hXe bOr bOr bOr @@ -124098,16 +124099,16 @@ bOr bOr nBE hKC -xhY -khF +rDK +sLM nBE tpC mhc mhc -utc +kjg mhc -aSD -qmb +lBd +aLq cbj uoo noh @@ -124300,44 +124301,44 @@ uoo fEP fEP xvI -wjW -wjW +hWc +hWc xvI -wjW -wjW +hWc +hWc xvI lKY hEL lKY svo lKY -ncq -aSC -ncq +ciF +vuv +ciF lKY svo lKY svo lKY -kLr -xMO -kLr -xMO -kLr -xMO -kLr -xMO -kLr -eYv -rmR -rGu -rGu -rmR -rmR -rmR -rGu -rGu -rGu +bcL +fmz +bcL +fmz +bcL +fmz +bcL +fmz +bcL +qSY +pxh +hXe +hXe +pxh +pxh +pxh +hXe +hXe +hXe bOr bOr bOr @@ -124355,15 +124356,15 @@ bOr bOr nBE btm -tzN -xaD +wKa +oyZ nBE byX mhc byX nBE -uru -aSD +qNj +lBd mhc cbj ksa @@ -124564,7 +124565,7 @@ ksa ksa ksa lKY -jev +vQw wfQ baO lKY @@ -124572,7 +124573,7 @@ wfQ wfQ wfQ lKY -jev +vQw wfQ baO lKY @@ -124616,11 +124617,11 @@ fec lZu nBE nBE -vej +mWP nBE nBE nBE -arU +cAt nBE nBE ksa @@ -124873,7 +124874,7 @@ cbj cbj nBE iqS -lBg +wzz byX nBE lld @@ -125133,9 +125134,9 @@ nBE nBE nBE nBE -hCz +klC eDD -coz +jOx cbj ksa ksa @@ -125390,9 +125391,9 @@ bOr bOr bOr nBE -tod +amo fPp -coz +jOx cbj uoo uoo @@ -125647,9 +125648,9 @@ bOr bOr bOr nBE -hCz +klC mrU -coz +jOx cbj ksa ksa @@ -125906,7 +125907,7 @@ bOr nBE bfQ eDD -qRN +rbB nBE tNr ksa diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 2722d1256f0fa6..95b5ea7f773764 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -353,6 +353,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"adS" = ( +/obj/structure/sign/warning/rad_shelter/directional/west, +/turf/closed/wall, +/area/station/security/prison/toilet) "adZ" = ( /turf/open/floor/iron/dark/side{ dir = 9 @@ -728,15 +732,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"ahS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/orange/half, -/obj/machinery/light/small/warm/directional/south, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) "ahV" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/engine/co2, @@ -805,6 +800,12 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/lobby) +"aiZ" = ( +/obj/item/storage/secure/safe/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/dish_drive/bullet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "ajc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -1598,6 +1599,17 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"arE" = ( +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "arF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1840,6 +1852,15 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/tcommsat/server) +"atK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/orange/half, +/obj/machinery/light/small/warm/directional/south, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "atM" = ( /obj/structure/table/wood, /obj/item/storage/secure/safe/hos{ @@ -2562,21 +2583,6 @@ }, /turf/open/floor/carpet/black, /area/station/security/prison/mess) -"aCe" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Treatment Center" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron, -/area/station/medical/treatment_center) "aCo" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -3001,20 +3007,6 @@ /obj/item/toy/figure/chef, /turf/open/floor/iron/dark, /area/station/service/kitchen) -"aHz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/old{ - name = "Cell 5"; - id_tag = "iso_cell_hall_bolt" - }, -/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/security/prison/toilet) "aHC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/status_display/evac/directional/east, @@ -3758,19 +3750,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"aPN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/old{ - name = "Cell 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/security/prison/toilet) "aPO" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/effect/turf_decal/tile/yellow{ @@ -3789,6 +3768,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/cargo/sorting) +"aQr" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/stellar, +/area/station/security/prison/toilet) "aQs" = ( /obj/effect/turf_decal/trimline/hot_pink/filled/corner{ dir = 4 @@ -3879,13 +3865,11 @@ /obj/effect/turf_decal/tile/purple/full, /turf/open/floor/iron/large, /area/station/science/research) -"aRG" = ( -/obj/structure/toilet, -/obj/machinery/shower/directional/south, -/obj/effect/spawner/random/trash/soap{ - spawn_scatter_radius = 1 - }, -/obj/effect/turf_decal/bot, +"aRY" = ( +/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted, +/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/freezer, /area/station/security/prison/toilet) "aRZ" = ( @@ -4016,15 +4000,6 @@ /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"aUw" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/smes, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "aUG" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/disposalpipe/segment{ @@ -4048,13 +4023,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"aVc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/carpet/donk, -/area/station/security/prison/toilet) "aVo" = ( /obj/machinery/computer/security/hos{ dir = 1 @@ -5474,13 +5442,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space, /area/space/nearstation) -"bmF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/royalblack, -/area/station/security/prison/toilet) "bmG" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -6041,6 +6002,10 @@ /obj/machinery/duct, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"btg" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/security/prison/toilet) "bti" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -6139,13 +6104,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"bug" = ( -/obj/effect/turf_decal/tile/hot_pink{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "buK" = ( /obj/structure/table/wood/fancy, /turf/open/floor/iron/grimy, @@ -6617,16 +6575,6 @@ /mob/living/basic/cockroach, /turf/open/floor/plating, /area/station/maintenance/fore) -"bBu" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/dorms{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/donk, -/area/station/security/prison/toilet) "bBz" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -7050,6 +6998,10 @@ }, /turf/open/floor/iron/dark/corner, /area/station/maintenance/disposal/incinerator) +"bFK" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "bFS" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/structure/cable, @@ -7207,6 +7159,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron, /area/station/engineering/atmos/project) +"bGH" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/structure/rack/gunrack, +/obj/effect/spawner/armory_spawn/mod_lasers_big, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "bGI" = ( /obj/machinery/vending/wallmed/directional/north, /obj/structure/table/optable, @@ -7856,6 +7815,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"bOB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/stellar, +/area/station/security/prison/toilet) "bOF" = ( /obj/structure/cable, /obj/effect/turf_decal/delivery, @@ -9011,6 +8977,11 @@ /obj/structure/cable, /turf/open/floor/stone, /area/station/smithing) +"caX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "cbq" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -9107,16 +9078,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/kitchen, /area/station/security/prison/mess) -"cce" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/dorms{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/black, -/area/station/security/prison/toilet) "ccj" = ( /obj/structure/bodycontainer/morgue, /obj/effect/turf_decal/trimline/neutral/warning{ @@ -9290,16 +9251,6 @@ "ceF" = ( /turf/closed/wall, /area/station/science/genetics) -"ceP" = ( -/obj/effect/turf_decal/tile/hot_pink{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "ceV" = ( /obj/structure/sign/warning/radiation, /turf/closed/wall, @@ -10297,16 +10248,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/medical/pathology) -"cqh" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/window/reinforced/spawner/directional/east{ - pixel_x = 3 - }, -/obj/structure/rack/gunrack, -/obj/effect/spawner/armory_spawn/shotguns, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "cqj" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/west, @@ -10706,6 +10647,9 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"cwT" = ( +/turf/closed/wall/r_wall, +/area/station/security/prison/toilet) "cwU" = ( /obj/structure/table/wood, /obj/item/radio/intercom/prison, @@ -12841,6 +12785,25 @@ /obj/effect/landmark/start/geneticist, /turf/open/floor/iron/dark, /area/station/science/genetics) +"cXW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Xenobiology Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/turf/open/floor/iron, +/area/station/science/xenobiology) "cYf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13164,14 +13127,6 @@ /obj/structure/table/reinforced/rglass, /turf/open/floor/iron, /area/station/medical/treatment_center) -"dcD" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot, -/obj/structure/rack/gunrack, -/obj/effect/spawner/armory_spawn/mod_lasers_small, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "dcG" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/landmark/start/depsec/science, @@ -13625,12 +13580,6 @@ /obj/structure/sign/poster/contraband/hacking_guide/directional/south, /turf/open/floor/iron/dark, /area/station/maintenance/department/science) -"diq" = ( -/obj/effect/turf_decal/tile/hot_pink{ - dir = 1 - }, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "diL" = ( /turf/closed/wall/r_wall, /area/station/command/bridge) @@ -14392,6 +14341,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"dte" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/reinforced/spawner/directional/east{ + pixel_x = 3 + }, +/obj/structure/rack/gunrack, +/obj/effect/spawner/armory_spawn/shotguns, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "dtf" = ( /obj/structure/table/reinforced, /obj/item/gun_maintenance_supplies{ @@ -15027,6 +14986,13 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/science/research) +"dCz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/royalblue, +/area/station/security/prison/toilet) "dCH" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -15634,13 +15600,6 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"dJQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/donk, -/area/station/security/prison/toilet) "dJS" = ( /obj/item/storage/toolbox/electrical, /obj/effect/decal/cleanable/dirt, @@ -15787,6 +15746,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"dLM" = ( +/obj/effect/turf_decal/tile/red{ + 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, +/area/station/security/execution/transfer) "dLX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15975,13 +15943,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/security/medical) -"dNF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/royalblue, -/area/station/security/prison/toilet) "dNM" = ( /obj/effect/decal/cleanable/blood/old, /obj/machinery/airalarm/directional/west, @@ -16772,17 +16733,6 @@ /mob/living/simple_animal/bot/secbot/beepsky/officer, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"dYc" = ( -/obj/structure/sink/directional/south{ - dir = 8; - pixel_x = 14; - pixel_y = 0 - }, -/obj/structure/mirror/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood/parquet, -/area/station/security/prison/toilet) "dYj" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/hfr_room) @@ -18204,6 +18154,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) +"eqf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/black, +/area/station/security/prison/toilet) "eqg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -18293,19 +18250,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/bar) -"eqR" = ( -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced/spawner/directional/east{ - pixel_x = 3 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/rack, -/obj/item/clothing/suit/hooded/ablative, -/obj/item/gun/energy/temperature/security, -/obj/item/gun/energy/ionrifle, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "eqU" = ( /turf/open/space, /area/space) @@ -19088,19 +19032,6 @@ /obj/effect/spawner/random/food_or_drink/seed, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) -"eAL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/old{ - name = "Cell 4" - }, -/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/security/prison/toilet) "eAO" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/purple/filled/warning{ @@ -19845,20 +19776,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/science) -"eJR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/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/security/old/glass{ - name = "Cryogenics" - }, -/turf/open/floor/iron/dark, -/area/station/security/prison/toilet) "eKe" = ( /turf/open/floor/iron/white, /area/station/medical/chemistry) @@ -19895,19 +19812,6 @@ }, /turf/open/floor/iron, /area/station/science/research/abandoned) -"eKF" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/orange/anticorner, -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -5 - }, -/obj/item/toy/crayon/orange{ - pixel_x = 8 - }, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) "eKL" = ( /obj/structure/table/reinforced, /obj/machinery/button/door{ @@ -20988,6 +20892,17 @@ /obj/item/storage/toolbox/mechanical, /turf/open/floor/iron, /area/station/science/ordnance/office) +"eXD" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Solar - Aft Port"; + name = "solar camera" + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "eXJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21822,19 +21737,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/service/theater/abandoned) -"fgf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/old{ - name = "Cell 3" - }, -/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/security/prison/toilet) "fgj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22040,16 +21942,6 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/station/solars/starboard/fore) -"fjl" = ( -/obj/machinery/door/airlock/security{ - name = "Isolation Cell" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/security/brig, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/security/prison/safe) "fju" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/flora/bush/sparsegrass/style_random, @@ -22104,6 +21996,13 @@ dir = 1 }, /area/station/security/prison/workout) +"fkc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/landmark/start/prisoner, +/turf/open/floor/carpet/royalblue, +/area/station/security/prison/toilet) "fkd" = ( /obj/structure/chair{ dir = 8 @@ -23605,6 +23504,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/port) +"fBz" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood/parquet, +/area/station/security/prison/toilet) "fBG" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 5 @@ -25019,13 +24925,6 @@ }, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"fUP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/black, -/area/station/security/prison/toilet) "fUQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -27576,14 +27475,6 @@ /obj/effect/mapping_helpers/mail_sorting/service/law_office, /turf/open/floor/plating, /area/station/maintenance/department/security) -"gzh" = ( -/obj/machinery/cryopod/prison, -/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "gzz" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 8 @@ -28733,6 +28624,13 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/garden) +"gNV" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/station/security/prison/toilet) "gNZ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -28955,33 +28853,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/central) -"gQt" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/bed{ - pixel_y = 2; - pixel_x = 2 - }, -/obj/effect/turf_decal/tile/orange/anticorner{ - dir = 4 - }, -/obj/item/bedsheet/orange{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/machinery/flasher/directional/east{ - id = "IsolationFlash" - }, -/obj/machinery/light_switch/directional/east{ - pixel_y = 24; - pixel_x = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/camera/directional/east{ - c_tag = "Prison Isolation Cell"; - network = list("ss13","prison","isolation") - }, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) "gQz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -30169,15 +30040,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay) -"hgc" = ( -/obj/effect/turf_decal/tile/hot_pink{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/mapping_helpers/apc/cell_10k, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "hgi" = ( /obj/structure/closet/l3closet/scientist, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -31226,13 +31088,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/maintenance/solars/port/aft) -"htx" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot, -/obj/structure/rack/gunrack, -/obj/effect/spawner/armory_spawn/mod_lasers_big, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "htC" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -31405,6 +31260,19 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) +"hvI" = ( +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced/spawner/directional/east{ + pixel_x = 3 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/rack, +/obj/item/clothing/suit/hooded/ablative, +/obj/item/gun/energy/temperature/security, +/obj/item/gun/energy/ionrifle, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "hvJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31868,13 +31736,6 @@ /obj/item/pen, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) -"hBX" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/donk, -/area/station/security/prison/toilet) "hBZ" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -32295,19 +32156,6 @@ /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hHU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/old{ - name = "Cell 2" - }, -/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/security/prison/toilet) "hHW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/machinery/airalarm/directional/south, @@ -32579,10 +32427,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"hLY" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/security/prison/toilet) "hMd" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -32682,6 +32526,14 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) +"hNv" = ( +/obj/machinery/computer/cryopod/directional/west, +/obj/structure/chair/comfy/black, +/obj/effect/turf_decal/tile/hot_pink{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "hNx" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -33493,16 +33345,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/department/science) -"hXi" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/interrogation{ - name = "isolation room monitor"; - network = list("isolation"); - pixel_x = -27; - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/execution/transfer) "hXm" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -33564,11 +33406,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/warehouse) -"hXG" = ( -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/lime, -/turf/open/space, -/area/space/nearstation) "hXO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -33938,6 +33775,14 @@ /obj/structure/chair/pew/left, /turf/open/floor/iron/chapel, /area/station/service/chapel) +"ibE" = ( +/obj/machinery/cryopod/prison, +/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "ibH" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2, /obj/machinery/air_sensor/ordnance_freezer_chamber, @@ -34719,16 +34564,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/engineering/supermatter/room) -"ikv" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "ikx" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -35347,21 +35182,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"irD" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Treatment Center" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron, -/area/station/medical/treatment_center) "irJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36623,6 +36443,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/commons/fitness/recreation) +"iHI" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/royalblue, +/area/station/security/prison/toilet) "iHV" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, @@ -37057,6 +36884,16 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"iNI" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/dorms{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/black, +/area/station/security/prison/toilet) "iNJ" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -37368,6 +37205,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"iSo" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/royalblack, +/area/station/security/prison/toilet) "iSI" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -37736,6 +37580,19 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"iXu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/old{ + name = "Cell 2" + }, +/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/security/prison/toilet) "iXw" = ( /obj/structure/chair{ dir = 1 @@ -38479,6 +38336,10 @@ }, /turf/open/floor/iron/large, /area/station/security/processing) +"jfh" = ( +/obj/structure/chair/comfy/black, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "jfn" = ( /obj/machinery/vending/wardrobe/bar_wardrobe, /obj/structure/sign/poster/random/directional/east, @@ -38620,6 +38481,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"jgw" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space) "jgI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -39191,12 +39057,6 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron, /area/station/security/courtroom) -"jmZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/security/prison/toilet) "jnd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -39794,10 +39654,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"jvk" = ( -/obj/structure/sign/warning/rad_shelter/directional/west, -/turf/closed/wall, -/area/station/security/prison/toilet) "jvm" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/west, @@ -40355,16 +40211,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"jBq" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot, -/obj/structure/rack, -/obj/effect/spawner/random/armory/riot_armor, -/obj/effect/spawner/random/armory/riot_shield, -/obj/effect/spawner/random/armory/riot_helmet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "jBs" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -40812,6 +40658,16 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron, /area/station/engineering/atmos) +"jGr" = ( +/obj/effect/turf_decal/tile/hot_pink{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "jGs" = ( /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; @@ -42099,9 +41955,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/sandy_dirt, /area/station/service/hydroponics) -"jVj" = ( -/turf/closed/wall/r_wall, -/area/station/security/prison/toilet) "jVx" = ( /obj/machinery/computer/crew{ dir = 1 @@ -42247,10 +42100,6 @@ }, /turf/open/floor/iron, /area/station/cargo/warehouse) -"jXj" = ( -/obj/structure/chair/comfy/black, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "jXk" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -42482,6 +42331,13 @@ dir = 1 }, /area/station/engineering/atmos) +"jZv" = ( +/obj/effect/turf_decal/tile/hot_pink{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "jZH" = ( /obj/effect/landmark/start/hangover, /obj/structure/chair/sofa/bench/right, @@ -42804,6 +42660,15 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) +"kde" = ( +/obj/machinery/power/smes, +/obj/machinery/light/small/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "kdg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/generic, @@ -43071,14 +42936,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"kgd" = ( -/obj/structure/sign/clock/directional/north, -/obj/effect/turf_decal/tile/hot_pink{ - dir = 1 - }, -/obj/machinery/camera/directional/north, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "kgf" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43464,6 +43321,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"kkk" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/royalblack, +/area/station/security/prison/toilet) "kkm" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -43879,6 +43743,15 @@ /obj/structure/cable, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/starboard/aft) +"kpS" = ( +/obj/structure/toilet, +/obj/machinery/shower/directional/south, +/obj/effect/spawner/random/trash/soap{ + spawn_scatter_radius = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "kpX" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=hall13"; @@ -43971,6 +43844,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/medical/abandoned) +"krM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/landmark/start/prisoner, +/turf/open/floor/carpet/stellar, +/area/station/security/prison/toilet) "krO" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -44876,6 +44756,16 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"kDm" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/dorms{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/royalblue, +/area/station/security/prison/toilet) "kDo" = ( /obj/structure/chair/pew/right, /turf/open/floor/iron/chapel, @@ -45186,13 +45076,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kHr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +"kHq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/orange/anticorner, +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -5 }, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/carpet/royalblue, -/area/station/security/prison/toilet) +/obj/item/toy/crayon/orange{ + pixel_x = 8 + }, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "kHu" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -45208,18 +45104,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"kHK" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Solar - Aft Port"; - name = "solar camera" - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "kHV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/shower/directional/east{ @@ -45780,12 +45664,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) -"kPf" = ( -/obj/item/storage/secure/safe/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/dish_drive/bullet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "kPu" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/navbeacon{ @@ -47205,16 +47083,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"lgB" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/dorms{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/stellar, -/area/station/security/prison/toilet) "lgN" = ( /obj/machinery/door/window/brigdoor/left/directional/west{ name = "Captain's Bedroom"; @@ -48231,26 +48099,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"ltS" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "side_door_bolt"; - name = "Medbay Side Entrance" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron, -/area/station/medical/cryo) "ltV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48778,9 +48626,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron/dark/herringbone, /area/station/security/prison) -"lAS" = ( -/turf/open/space, -/area/station/cargo/mining/asteroid_magnet) "lAV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/duct, @@ -48889,11 +48734,6 @@ /obj/machinery/computer/diseasesplicer, /turf/open/floor/iron, /area/station/medical/pathology) -"lBL" = ( -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/lime, -/turf/open/space/basic, -/area/space/nearstation) "lBR" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, @@ -49132,6 +48972,12 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) +"lEG" = ( +/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/security/execution/transfer) "lEH" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49282,11 +49128,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"lGm" = ( -/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/security/prison/toilet) "lGq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -50023,12 +49864,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/checkpoint/medical/medsci) -"lOn" = ( -/obj/effect/turf_decal/tile/orange/half{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) "lOw" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ dir = 4 @@ -50049,13 +49884,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/security/courtroom) -"lOQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/carpet/stellar, -/area/station/security/prison/toilet) "lOW" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -50393,15 +50221,6 @@ }, /turf/open/floor/iron, /area/station/cargo/quartermaster) -"lRP" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/random/food_or_drink/soup, -/obj/effect/turf_decal/tile/hot_pink{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "lRR" = ( /obj/machinery/light/neon_lining{ dir = 1 @@ -50463,13 +50282,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pathology) -"lSM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "lTg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red{ @@ -50511,9 +50323,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/range) -"lTv" = ( -/turf/closed/wall, -/area/station/security/prison/toilet) "lTx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, @@ -51070,6 +50879,20 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"mcF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/old{ + name = "Cell 5"; + id_tag = "iso_cell_hall_bolt" + }, +/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/security/prison/toilet) "mcG" = ( /obj/machinery/button/door/directional/east{ id = "Dorm6"; @@ -51713,6 +51536,14 @@ "mlE" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) +"mlK" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/structure/rack/gunrack, +/obj/effect/spawner/armory_spawn/mod_lasers_small, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "mlT" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -51801,6 +51632,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space/basic, /area/space/nearstation) +"mms" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/bed{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/effect/turf_decal/tile/orange/anticorner{ + dir = 4 + }, +/obj/item/bedsheet/orange{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/machinery/flasher/directional/east{ + id = "IsolationFlash" + }, +/obj/machinery/light_switch/directional/east{ + pixel_y = 24; + pixel_x = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/camera/directional/east{ + c_tag = "Prison Isolation Cell"; + network = list("ss13","prison","isolation") + }, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "mmy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/loafer, @@ -51933,15 +51791,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/security/office) -"mog" = ( -/obj/effect/turf_decal/tile/red{ - 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, -/area/station/security/execution/transfer) "mor" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/wall/peppertank/directional/west, @@ -52001,6 +51850,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"mpi" = ( +/obj/structure/sign/clock/directional/north, +/obj/effect/turf_decal/tile/hot_pink{ + dir = 1 + }, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "mpj" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/door/firedoor, @@ -53255,6 +53112,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"mDV" = ( +/obj/effect/turf_decal/tile/hot_pink{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "mEb" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/effect/decal/cleanable/glass, @@ -53784,10 +53647,6 @@ /obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/plating, /area/station/maintenance/port) -"mJo" = ( -/obj/structure/table/wood, -/turf/open/floor/wood/parquet, -/area/station/security/prison/toilet) "mJp" = ( /obj/effect/turf_decal/trimline/hot_pink/filled/corner{ dir = 1 @@ -54183,6 +54042,16 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/vaporwave, /area/station/security/prison/mess) +"mOm" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/spawner/random/armory/riot_armor, +/obj/effect/spawner/random/armory/riot_shield, +/obj/effect/spawner/random/armory/riot_helmet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "mOp" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -54286,6 +54155,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"mPm" = ( +/obj/machinery/light/directional/north, +/obj/machinery/asteroid_magnet{ + center_y = 61; + center_x = 105; + area_size = 3 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "mPo" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy/lily, @@ -54318,13 +54196,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den) -"mPN" = ( -/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted, -/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/freezer, -/area/station/security/prison/toilet) "mPV" = ( /obj/structure/cable, /obj/machinery/power/smes, @@ -54531,6 +54402,16 @@ "mSe" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"mSl" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/reinforced/spawner/directional/east{ + pixel_x = 3 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/closet/secure_closet/armory_kiboko, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "mSp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, @@ -54584,24 +54465,6 @@ /obj/structure/closet/secure_closet/medical1, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"mSZ" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Treatment Center" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron, -/area/station/medical/treatment_center) "mTc" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/disposal/bin, @@ -54787,6 +54650,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/commons/locker) +"mVX" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/dorms{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/royalblack, +/area/station/security/prison/toilet) "mVY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54921,16 +54794,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"mXT" = ( -/obj/effect/turf_decal/tile/hot_pink{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "mYk" = ( /obj/effect/turf_decal/loading_area{ dir = 8 @@ -55659,13 +55522,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space/basic, /area/space/nearstation) -"niz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/carpet/black, -/area/station/security/prison/toilet) "niE" = ( /obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral/full, @@ -55762,6 +55618,13 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/maintenance/department/chapel) +"njM" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/donk, +/area/station/security/prison/toilet) "nkb" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -56990,13 +56853,6 @@ }, /turf/open/floor/sandy_dirt, /area/station/service/hydroponics) -"nzC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/carpet/royalblack, -/area/station/security/prison/toilet) "nzD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57116,6 +56972,15 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"nAV" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/food_or_drink/soup, +/obj/effect/turf_decal/tile/hot_pink{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "nAY" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, /obj/effect/decal/cleanable/dirt, @@ -57479,9 +57344,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"nFM" = ( -/turf/open/floor/glass/reinforced, -/area/station/security/prison/safe) "nFO" = ( /obj/machinery/firealarm/directional/east, /obj/structure/extinguisher_cabinet/directional/north, @@ -58314,25 +58176,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"nQI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Xenobiology Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/turf/open/floor/iron, -/area/station/science/xenobiology) "nQJ" = ( /obj/structure/cable, /obj/structure/chair, @@ -58591,6 +58434,25 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"nTl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay Foyer" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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/unres, +/obj/effect/landmark/navigate_destination/med, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron, +/area/station/medical/medbay/lobby) "nTn" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -58981,6 +58843,20 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"nYT" = ( +/obj/effect/turf_decal/tile/red, +/obj/item/kirbyplants/random, +/obj/machinery/button/flasher{ + id = "IsolationFlash"; + pixel_x = -24; + pixel_y = 2 + }, +/obj/machinery/button/door/directional/west{ + pixel_y = -8; + id = "Isolation" + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "nYV" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -59050,6 +58926,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/cargo/drone_bay) +"nZB" = ( +/obj/structure/toilet/greyscale{ + pixel_y = 11 + }, +/obj/item/toy/plush/slimeplushie{ + pixel_y = 10 + }, +/obj/effect/turf_decal/tile/orange/half{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "nZC" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -59556,6 +59444,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"ogr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "side_door_bolt"; + name = "Medbay Side Entrance" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron, +/area/station/medical/cryo) "ogs" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -60173,6 +60081,9 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"onJ" = ( +/turf/closed/wall, +/area/station/security/prison/toilet) "onK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60575,6 +60486,26 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) +"our" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology{ + name = "Pathology Access" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "viro-passthrough" + }, +/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/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron, +/area/station/medical/medbay) "ouu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60820,13 +60751,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"oxQ" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/stellar, -/area/station/security/prison/toilet) "oxV" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -60889,6 +60813,13 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/security/brig) +"ozi" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/orange/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "ozm" = ( /obj/structure/tank_holder/extinguisher, /obj/effect/turf_decal/tile/red, @@ -61869,6 +61800,16 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/service/theater) +"oLy" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/reinforced/spawner/directional/east{ + pixel_x = 3 + }, +/obj/structure/rack/gunrack, +/obj/effect/spawner/armory_spawn/smg, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "oLz" = ( /obj/structure/cable, /obj/structure/chair/office{ @@ -62206,15 +62147,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space/basic, /area/space/nearstation) -"oPp" = ( -/obj/effect/turf_decal/tile/orange/half{ - 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/white, -/area/station/security/prison/safe) "oPz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, @@ -63082,6 +63014,9 @@ }, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "pbP" = ( @@ -64161,6 +64096,19 @@ /obj/item/stack/sheet/glass/fifty, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"pno" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/old{ + name = "Cell 3" + }, +/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/security/prison/toilet) "pnu" = ( /obj/item/kirbyplants/random, /obj/machinery/light/directional/south, @@ -65294,16 +65242,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"pCd" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/window/reinforced/spawner/directional/east{ - pixel_x = 3 - }, -/obj/structure/rack/gunrack, -/obj/effect/spawner/armory_spawn/smg, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "pCf" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/west, @@ -66316,6 +66254,14 @@ /obj/machinery/atm/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"pNp" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/effect/spawner/random/armory/bulletproof_armor, +/obj/effect/spawner/random/armory/bulletproof_helmet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "pNq" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -67882,10 +67828,6 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, /area/station/maintenance/department/science) -"qfM" = ( -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "qfO" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -68146,25 +68088,6 @@ "qjO" = ( /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qkb" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay Foyer" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/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/unres, -/obj/effect/landmark/navigate_destination/med, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron, -/area/station/medical/medbay/lobby) "qkf" = ( /obj/structure/sign/departments/lawyer/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68350,6 +68273,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"qmb" = ( +/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/security/prison/toilet) "qmd" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -68761,16 +68689,6 @@ /obj/item/pen, /turf/open/floor/wood, /area/station/service/electronic_marketing_den) -"qrA" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/dorms{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/royalblack, -/area/station/security/prison/toilet) "qrP" = ( /obj/effect/landmark/start/hangover, /obj/structure/chair/stool/bar/directional/south, @@ -69702,6 +69620,13 @@ /obj/effect/spawner/random/engineering/canister, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"qEe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/donk, +/area/station/security/prison/toilet) "qEf" = ( /turf/open/floor/iron/white, /area/station/medical/medbay) @@ -70511,6 +70436,20 @@ /obj/effect/turf_decal/bot_red, /turf/open/floor/iron/white, /area/station/maintenance/fore) +"qMA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/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/security/old/glass{ + name = "Cryogenics" + }, +/turf/open/floor/iron/dark, +/area/station/security/prison/toilet) "qMB" = ( /obj/effect/turf_decal/bot, /obj/machinery/firealarm/directional/north, @@ -70531,6 +70470,16 @@ /obj/machinery/light/small/broken/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/science) +"qMN" = ( +/obj/effect/turf_decal/tile/hot_pink{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "qMS" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/item/kirbyplants/random, @@ -71109,6 +71058,15 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"qTP" = ( +/obj/effect/turf_decal/tile/hot_pink{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/mapping_helpers/apc/cell_10k, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "qUa" = ( /obj/machinery/corral_corner{ mapping_id = "4" @@ -71161,6 +71119,19 @@ /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/station/tcommsat/server) +"qUV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/old{ + name = "Cell 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/security/prison/toilet) "qVf" = ( /obj/structure/chair, /obj/effect/decal/cleanable/blood/splatter, @@ -71631,18 +71602,6 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/dark/smooth_large, /area/station/service/chapel/storage) -"rcZ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/power/solar_control{ - dir = 4; - id = "aftport"; - name = "Port Quarter Solar Control" - }, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/aft) "rde" = ( /obj/machinery/space_heater/improvised_chem_heater, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -71933,6 +71892,15 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) +"rgU" = ( +/obj/effect/turf_decal/tile/orange/half{ + 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/white, +/area/station/security/prison/safe) "rgW" = ( /turf/open/floor/iron/grimy, /area/station/command/meeting_room/council) @@ -72043,6 +72011,12 @@ }, /turf/open/floor/iron, /area/station/medical/pathology) +"rhU" = ( +/obj/effect/turf_decal/tile/orange/half{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "rhV" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/south, @@ -72646,10 +72620,23 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"rnU" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood/parquet, -/area/station/security/prison/toilet) +"rnW" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "External Airlock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "rod" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -72657,6 +72644,10 @@ }, /turf/open/floor/iron, /area/station/maintenance/port) +"ron" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/wood/parquet, +/area/station/security/prison/toilet) "rop" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -74021,6 +74012,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"rGf" = ( +/obj/machinery/power/solar_control{ + dir = 4; + id = "aftport"; + name = "Port Quarter Solar Control" + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "rGi" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -74106,14 +74109,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"rHZ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot, -/obj/structure/rack, -/obj/effect/spawner/random/armory/bulletproof_armor, -/obj/effect/spawner/random/armory/bulletproof_helmet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "rIa" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -74594,6 +74589,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"rNF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/landmark/start/prisoner, +/turf/open/floor/carpet/black, +/area/station/security/prison/toilet) "rNV" = ( /obj/item/kirbyplants/random, /obj/machinery/status_display/door_timer{ @@ -74812,12 +74814,6 @@ /obj/item/storage/medkit/emergency, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"rPH" = ( -/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/freezer, -/area/station/security/prison/toilet) "rPI" = ( /obj/structure/sign/directions/engineering{ pixel_y = -8 @@ -75119,13 +75115,6 @@ dir = 8 }, /area/station/engineering/lobby) -"rSn" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood/parquet, -/area/station/security/prison/toilet) "rSq" = ( /obj/effect/turf_decal/plaque{ icon_state = "L8" @@ -75310,6 +75299,17 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"rVv" = ( +/obj/structure/sink/directional/south{ + dir = 8; + pixel_x = 14; + pixel_y = 0 + }, +/obj/structure/mirror/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood/parquet, +/area/station/security/prison/toilet) "rVx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -76105,6 +76105,13 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) +"sgd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/landmark/start/prisoner, +/turf/open/floor/carpet/donk, +/area/station/security/prison/toilet) "sge" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76141,6 +76148,16 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"sgF" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/dorms{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/stellar, +/area/station/security/prison/toilet) "sgZ" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -76155,6 +76172,17 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"shH" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/window/preopen{ + id = "Isolation"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) "shJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 4 @@ -76622,13 +76650,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/explab) -"snC" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/royalblue, -/area/station/security/prison/toilet) "snE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -76637,20 +76658,6 @@ }, /turf/open/floor/plating, /area/station/science/genetics) -"snF" = ( -/obj/effect/turf_decal/tile/red, -/obj/item/kirbyplants/random, -/obj/machinery/button/flasher{ - id = "IsolationFlash"; - pixel_x = -24; - pixel_y = 2 - }, -/obj/machinery/button/door/directional/west{ - pixel_y = -8; - id = "Isolation" - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "snK" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/effect/decal/cleanable/dirt, @@ -76709,15 +76716,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/service/hydroponics) -"soF" = ( -/obj/machinery/light/directional/north, -/obj/machinery/asteroid_magnet{ - center_y = 59; - center_x = 101; - area_size = 7 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "soK" = ( /obj/structure/chair{ dir = 4 @@ -77104,16 +77102,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/engineering/storage) -"stG" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/item/bedsheet/dorms{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/royalblue, -/area/station/security/prison/toilet) "stK" = ( /obj/structure/closet/crate/coffin, /turf/open/floor/plating, @@ -77632,17 +77620,6 @@ "szy" = ( /turf/closed/wall, /area/station/service/bar/backroom) -"szC" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "Isolation"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/security/prison/safe) "szF" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/stripes/line{ @@ -78703,6 +78680,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/science/research/abandoned) +"sLS" = ( +/obj/structure/sink/directional/south{ + dir = 8; + pixel_x = 14; + pixel_y = 0 + }, +/obj/structure/mirror/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/ghost_critter_spawn, +/turf/open/floor/wood/parquet, +/area/station/security/prison/toilet) "sLV" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 10 @@ -80192,13 +80181,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"tew" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/orange/anticorner{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) "teA" = ( /obj/structure/displaycase/captain, /turf/open/floor/iron/grimy, @@ -80439,6 +80421,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"thw" = ( +/obj/structure/toilet, +/obj/machinery/shower/directional/south, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "thz" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/effect/turf_decal/stripes/line{ @@ -80618,6 +80606,24 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"tlD" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/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, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Treatment Center" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron, +/area/station/medical/treatment_center) "tlF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -81586,11 +81592,6 @@ dir = 8 }, /area/station/commons/fitness/recreation) -"twR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "twZ" = ( /obj/machinery/computer/message_monitor{ dir = 4 @@ -81723,12 +81724,6 @@ "tzm" = ( /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"tzp" = ( -/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/security/execution/transfer) "tzK" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 8 @@ -81982,13 +81977,6 @@ "tCs" = ( /turf/closed/wall, /area/station/service/janitor) -"tCu" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/black, -/area/station/security/prison/toilet) "tCv" = ( /obj/machinery/suit_storage_unit/cmo, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -82169,6 +82157,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"tEf" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Treatment Center" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron, +/area/station/medical/treatment_center) "tEg" = ( /obj/machinery/airalarm/directional/west, /obj/structure/rack, @@ -83021,22 +83024,6 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/service/bar/backroom) -"tOi" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay Foyer" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron, -/area/station/medical/medbay/lobby) "tOm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -83163,6 +83150,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) +"tPw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/security/prison/toilet) "tPx" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/box/red/corners, @@ -83405,13 +83398,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"tSK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/stellar, -/area/station/security/prison/toilet) "tSU" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -83560,6 +83546,14 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"tUx" = ( +/obj/machinery/cryopod/prison, +/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "tUG" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -83826,6 +83820,10 @@ dir = 10 }, /area/station/security/office) +"tXN" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space) "tXO" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, @@ -84920,6 +84918,22 @@ }, /turf/open/floor/plating, /area/station/engineering/transit_tube) +"ulu" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay Foyer" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron, +/area/station/medical/medbay/lobby) "ulv" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -86213,6 +86227,16 @@ dir = 1 }, /area/station/medical/morgue) +"uBa" = ( +/obj/machinery/door/airlock/security{ + name = "Isolation Cell" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/security/brig, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/security/prison/safe) "uBd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -86443,18 +86467,6 @@ /obj/effect/spawner/random/engineering/toolbox, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"uEy" = ( -/obj/structure/sink/directional/south{ - dir = 8; - pixel_x = 14; - pixel_y = 0 - }, -/obj/structure/mirror/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/ghost_critter_spawn, -/turf/open/floor/wood/parquet, -/area/station/security/prison/toilet) "uED" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, @@ -86875,6 +86887,16 @@ /obj/structure/flora/rock/style_random, /turf/open/misc/grass, /area/station/hallway/primary/fore) +"uKI" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/dorms{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/donk, +/area/station/security/prison/toilet) "uKK" = ( /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, @@ -88132,14 +88154,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"uZP" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/random/food_or_drink/soup, -/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "uZQ" = ( /obj/structure/rack, /obj/item/stack/medical/gauze, @@ -88425,13 +88439,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) -"vcW" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/tile/orange/anticorner{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) "vcY" = ( /obj/effect/turf_decal/trimline/hot_pink/filled/line{ dir = 1 @@ -88883,6 +88890,9 @@ /obj/structure/chair/stool/bar/directional/west, /turf/open/floor/wood, /area/station/service/electronic_marketing_den) +"vjU" = ( +/turf/open/floor/glass/reinforced, +/area/station/security/prison/safe) "vjY" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -89011,12 +89021,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"vmm" = ( -/obj/structure/toilet, -/obj/machinery/shower/directional/south, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "vmn" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -90642,6 +90646,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage) +"vEi" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/orange/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/security/prison/safe) "vEj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -90824,6 +90835,24 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"vFy" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/interrogation{ + name = "isolation room monitor"; + network = list("isolation"); + pixel_x = -27; + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/execution/transfer) +"vFA" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/food_or_drink/soup, +/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "vFC" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ @@ -91188,6 +91217,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/locker) +"vMi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Treatment Center" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron, +/area/station/medical/treatment_center) "vMj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -92405,6 +92449,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"wbI" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/parquet, +/area/station/security/prison/toilet) "wbP" = ( /obj/machinery/power/shieldwallgen, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -93231,6 +93279,13 @@ dir = 1 }, /area/station/maintenance/disposal/incinerator) +"wlJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/landmark/start/prisoner, +/turf/open/floor/carpet/royalblack, +/area/station/security/prison/toilet) "wlS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -94608,26 +94663,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"wzO" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - name = "Pathology Access" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "viro-passthrough" - }, -/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/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron, -/area/station/medical/medbay) "wzT" = ( /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/stripes/line{ @@ -94768,16 +94803,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"wBC" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/window/reinforced/spawner/directional/east{ - pixel_x = 3 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/closet/secure_closet/armory_kiboko, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "wBF" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -95043,11 +95068,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"wEt" = ( -/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/security/prison/toilet) "wEx" = ( /obj/structure/table/reinforced, /obj/item/clipboard, @@ -95762,24 +95782,6 @@ }, /turf/open/floor/iron/half, /area/station/security/range) -"wPK" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - name = "External Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, -/obj/structure/fans/tiny, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) "wPN" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -96036,6 +96038,11 @@ /obj/item/folder/yellow, /turf/open/floor/carpet, /area/station/command/meeting_room/council) +"wSJ" = ( +/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/security/prison/toilet) "wSK" = ( /obj/machinery/light_switch/directional/east, /obj/structure/table, @@ -96825,6 +96832,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"xcB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/landmark/start/prisoner, +/turf/open/floor/iron/freezer, +/area/station/security/prison/toilet) "xcD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -97411,14 +97425,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) -"xkB" = ( -/obj/machinery/cryopod/prison, -/obj/effect/turf_decal/tile/hot_pink/anticorner/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "xkU" = ( /obj/effect/turf_decal/bot_white{ color = "#435a88" @@ -97800,15 +97806,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/pathology) -"xqs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) "xqC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -98985,18 +98982,6 @@ /obj/item/stamp/head/rd, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) -"xEm" = ( -/obj/structure/toilet/greyscale{ - pixel_y = 11 - }, -/obj/item/toy/plush/slimeplushie{ - pixel_y = 10 - }, -/obj/effect/turf_decal/tile/orange/half{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/security/prison/safe) "xEt" = ( /turf/open/floor/iron, /area/station/engineering/supermatter/room) @@ -99336,14 +99321,6 @@ /obj/machinery/bluespace_vendor/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"xHT" = ( -/obj/machinery/computer/cryopod/directional/west, -/obj/structure/chair/comfy/black, -/obj/effect/turf_decal/tile/hot_pink{ - dir = 1 - }, -/turf/open/floor/iron/freezer, -/area/station/security/prison/toilet) "xHW" = ( /obj/structure/cable, /obj/machinery/status_display/ai/directional/east, @@ -99573,13 +99550,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"xLf" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/royalblack, -/area/station/security/prison/toilet) "xLi" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 10 @@ -99866,6 +99836,19 @@ "xPc" = ( /turf/closed/wall, /area/station/medical/pathology) +"xPl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/old{ + name = "Cell 4" + }, +/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/security/prison/toilet) "xPo" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Prison Port" @@ -101558,10 +101541,6 @@ /obj/item/pushbroom, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"ykO" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "ykX" = ( /obj/structure/table/wood, /obj/item/electronics/firelock, @@ -101616,6 +101595,12 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos/project) +"ylP" = ( +/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/freezer, +/area/station/security/prison/toilet) "ylS" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -121091,7 +121076,7 @@ bVK lns nXZ nCi -nQI +cXW uhb uhb yiB @@ -125240,22 +125225,22 @@ aaa aad aad rWQ -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw -lvw +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -125495,24 +125480,24 @@ qYo qYo aaa aad -lBL -vVc -vVc -vVc -vVc -vVc -vVc -lBL -vVc -lBL -vVc -vVc -vVc -vVc -vVc -vVc -lBL -lvw +aaa +efQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -125752,24 +125737,24 @@ aaa qYo aaa aad -abj -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -vVc -lvw +aad +efQ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -126009,24 +125994,24 @@ aaa qYo aaa aad -vVc -lAS -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -vVc -lvw +aaa +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -126266,24 +126251,24 @@ aaa qYo aaa aad -vVc -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -vVc -lvw +aaa +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -126523,42 +126508,8 @@ aaa qYo aaa aad -vVc -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -vVc -lvw -aaa aaa -aaa -aad aad -qgl -bbD -qgl -aad -qgl -bbD -qgl -aad -qgl -bbD -qgl -aad -aac aaa aaa aaa @@ -126578,6 +126529,21 @@ aaa aaa aaa aaa +aad +aad +qgl +bbD +qgl +aad +qgl +bbD +qgl +aad +qgl +bbD +qgl +aad +aac aaa aaa aaa @@ -126590,8 +126556,27 @@ aaa aaa aaa aaa -"} -(98,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(98,1,1) = {" aaa aaa aaa @@ -126775,29 +126760,29 @@ gkT nEc qYo qYo +vVc qYo -qYo -qYo +vVc aad +abj aad abj -lAS -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -vVc -lvw +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -127032,29 +127017,29 @@ ebX nEc qYo aaa -aaa +vVc aaa qYo aaa aad -vVc -lAS -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -vVc -lvw +aaa +abj +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +efQ +efQ +aaa efQ efQ aaa @@ -127289,28 +127274,28 @@ lxM hoT qYo qYo +vVc qYo -qYo -qYo +vVc aad +abj aad -lBL -lAS -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -lBL +abj +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +efQ +qYo qYo qYo qYo @@ -127551,29 +127536,29 @@ aaa qYo aaa aad -vVc -lAS -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz -vVc -vVc -vVc +aaa +abj +tXN +tXN +tXN +tXN +tXN +tXN +tXN +tXN +tXN +aaa +aaa +jgw +aaa +efQ +qYo pSj -kun -bbD -bbD +pSj +pSj +pSj +bBc +bBc bBc bBc bBc @@ -127808,15 +127793,9 @@ aaa qYo aaa aad -lBL -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz +aaa +aaa +tXN bTz bTz bTz @@ -127824,11 +127803,17 @@ bTz bTz bTz bTz -lBL +tXN +jUT +jUT +jgw +jUT qYo qYo pSj qYo +qYo +qYo aad aaa aaa @@ -128065,15 +128050,9 @@ aaa qYo aaa aad -vVc -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz +aaa +aaa +tXN bTz bTz bTz @@ -128081,11 +128060,17 @@ bTz bTz bTz bTz -vVc -qYo +tXN +aaa +aaa +jgw +aaa +efQ qYo kun qYo +aaa +aaa aac aaa qgl @@ -128322,15 +128307,9 @@ aaa qYo aaa aad -vVc -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz +aaa +aaa +tXN bTz bTz bTz @@ -128338,11 +128317,17 @@ bTz bTz bTz bTz -vVc -qYo +tXN +aaa +aaa +aaa +aaa +efQ qYo kun qYo +aaa +aaa aac aaa qgl @@ -128579,15 +128564,9 @@ aaa aad aaa aad -vVc -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz +aaa +aaa +tXN bTz bTz bTz @@ -128595,11 +128574,17 @@ bTz bTz bTz bTz -abj -qYo +tXN +aaa +aaa +aaa +aaa +aad aad bbD aad +aad +aaa aac aad qgl @@ -128836,15 +128821,9 @@ aaa aad aaa aad -vVc -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz +aaa +aaa +tXN bTz bTz bTz @@ -128852,11 +128831,17 @@ bTz bTz bTz bTz -abj -qYo +tXN +aaa +aaa +aaa +aaa +aad fuV ocY fuV +aad +aaa aac aaa qgl @@ -129090,18 +129075,12 @@ aad aad aad aad -aad +abj aaa -aad abj -lAS -bTz -bTz -bTz -bTz -bTz -bTz -bTz +aad +aad +tXN bTz bTz bTz @@ -129109,11 +129088,17 @@ bTz bTz bTz bTz -abj -qYo +tXN +aaa +jgw +aaa +aaa +aad fuV htw fuV +aad +aad aFo aaa qgl @@ -129350,15 +129335,9 @@ aaa aad aaa aad -vVc -bTz -bTz -bTz -bTz -bTz -bTz -bTz -bTz +aaa +aaa +tXN bTz bTz bTz @@ -129366,12 +129345,18 @@ bTz bTz bTz bTz -vVc +tXN +jUT +jgw +jUT +jUT fuV fuV jNx fuV fuV +aad +aac aaa aaa aad @@ -129604,31 +129589,31 @@ aad aad aad aad -aad +abj aaa -aad -hXG abj -vVc -vVc -vVc -vVc -vVc -lBL -vVc -lBL -vVc -vVc -vVc -vVc -vVc -vVc -lBL +abj +abj +tXN +tXN +tXN +tXN +tXN +tXN +tXN +tXN +tXN +aaa +jgw +aaa +aaa dPR -ikv +arE uWa -rcZ +rGf dPR +aad +aac aac aac aFo @@ -129864,28 +129849,28 @@ fLf blX cUJ kzc -wPK +rnW qQM aaa +jUT aaa aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa +jUT aaa aaa aaa aaa dPR -aUw +kde jKG eZz dPR +aad +aaa aaa aaa aad @@ -130135,14 +130120,14 @@ igg igg igg igg -eqU -aaa -aaa +aad dPR -kHK +eXD dkH qXJ dPR +aad +aad qYo aaa aad @@ -130394,12 +130379,12 @@ ntA igg qQM kzc -kzc -jtV -kyA jGs +kyA +jtV kzc qQM +qQM qYo efQ qYo @@ -130637,7 +130622,7 @@ hGW hEt nRr igg -soF +mPm fBX oIX fBX @@ -130653,7 +130638,7 @@ tTg dzF dzF frM -xqs +tlV tTg oUU wjP @@ -131919,7 +131904,7 @@ aZz kui wEI oGr -ykO +uYH ejx qQM wVd @@ -139891,7 +139876,7 @@ qEf sez kkq sHK -wzO +our nmy yjG uJa @@ -140893,8 +140878,8 @@ kNT qaL veM rQB -irD -irD +tEf +tEf rQB veM ldY @@ -142170,11 +142155,11 @@ gVB nhQ onK sQH -qkb +nTl ePd dFB vIq -mSZ +tlD lPF mvb rKG @@ -142431,7 +142416,7 @@ pGo ntX tVM cjE -aCe +vMi oyy lSr qQG @@ -142684,7 +142669,7 @@ bLp kLo tCr iED -tOi +ulu fZp hkm azr @@ -144494,7 +144479,7 @@ oUz gOM gQl cwe -ltS +ogr cwe oDE fUr @@ -150332,9 +150317,9 @@ aad aaa aaa mSe -szC -szC -szC +shH +shH +shH mSe abj abj @@ -150589,9 +150574,9 @@ aaa aaa aaa mSe -vcW -lOn -tew +ozi +rhU +vEi mSe qYo aaa @@ -150846,9 +150831,9 @@ uHd uHd uHd mSe -xEm -nFM -ahS +nZB +vjU +atK mSe aad aaa @@ -151103,9 +151088,9 @@ aaa aaa aaa mSe -gQt -oPp -eKF +mms +rgU +kHq vgQ vgQ vgQ @@ -151361,7 +151346,7 @@ mcb hLz mSe mSe -fjl +uBa mSe vgQ hYa @@ -151617,9 +151602,9 @@ lQj xBD qyB ydH -snF -tzp -hXi +nYT +lEG +vFy vgQ csD lTh @@ -151874,8 +151859,8 @@ log vVa onT ydH -qfM -mog +bFK +dLM oaO dwV dEv @@ -152132,7 +152117,7 @@ eEi rFX ydH xPo -mog +dLM tPF vgQ nBC @@ -152876,12 +152861,12 @@ rWS cBq brG mqW -lTv -lTv -lTv -lTv -lTv -lTv +onJ +onJ +onJ +onJ +onJ +onJ spo brG dQR @@ -153133,12 +153118,12 @@ rWS cBq brG giW -hLY -mJo -rSn -dJQ -bBu -lTv +btg +wbI +fBz +qEe +uKI +onJ iYa brG dQR @@ -153390,12 +153375,12 @@ vmB oVY brG giW -hLY -rnU -jmZ -aVc -hBX -lTv +btg +ron +tPw +sgd +njM +onJ cBq brG gbE @@ -153647,12 +153632,12 @@ vmB cBq brG lXj -lTv -vmm -uEy -lGm -lGm -aHz +onJ +thw +sLS +qmb +qmb +mcF bWj brG inj @@ -153904,12 +153889,12 @@ vmB cBq brG mhC -lTv -lTv -lTv -lTv -lTv -lTv +onJ +onJ +onJ +onJ +onJ +onJ oVY brG giW @@ -154161,12 +154146,12 @@ nUo aML brG nXA -hLY -mJo -rSn -fUP -cce -jvk +btg +wbI +fBz +eqf +iNI +adS mWb brG bsI @@ -154418,12 +154403,12 @@ heW sBN brG nXA -hLY -rnU -jmZ -niz -tCu -lTv +btg +ron +tPw +rNF +gNV +onJ cBq brG giW @@ -154675,12 +154660,12 @@ pct brG brG ebY -lTv -aRG -dYc -wEt -wEt -eAL +onJ +kpS +rVv +wSJ +wSJ +xPl uIw brG utT @@ -154932,12 +154917,12 @@ vcY jjl brG rWw -lTv -lTv -lTv -lTv -lTv -lTv +onJ +onJ +onJ +onJ +onJ +onJ cBq brG brG @@ -155189,12 +155174,12 @@ iwO jjl brG vTQ -hLY -mJo -rSn -bmF -qrA -jvk +btg +wbI +fBz +iSo +mVX +adS arw brG rRL @@ -155446,12 +155431,12 @@ vcY jjl brG izP -hLY -rnU -jmZ -nzC -xLf -lTv +btg +ron +tPw +wlJ +kkk +onJ cBq brG mze @@ -155498,10 +155483,10 @@ aWO bLs iRi nIV -wBC -pCd -cqh -eqR +mSl +oLy +dte +hvI gFF pIX cdr @@ -155703,12 +155688,12 @@ vcY mRW brG epS -lTv -vmm -dYc -wEt -wEt -fgf +onJ +thw +rVv +wSJ +wSJ +pno uIw brG iAu @@ -155755,10 +155740,10 @@ sRd bLs aqW aEs -dcD -htx -rHZ -jBq +mlK +bGH +pNp +mOm dwU wtB qBw @@ -155960,12 +155945,12 @@ vcY jjl brG gMN -lTv -lTv -lTv -lTv -lTv -lTv +onJ +onJ +onJ +onJ +onJ +onJ cBq brG okK @@ -156217,12 +156202,12 @@ ryu jjl brG nXA -hLY -mJo -rSn -dNF -stG -jvk +btg +wbI +fBz +dCz +kDm +adS cBq brG dIi @@ -156270,7 +156255,7 @@ bLs bLs nyy xWI -kPf +aiZ gYv tdv pFH @@ -156474,12 +156459,12 @@ vcY jjl brG nXA -hLY -rnU -jmZ -kHr -snC -lTv +btg +ron +tPw +fkc +iHI +onJ cBq brG dQR @@ -156731,12 +156716,12 @@ pct iAx brG ebY -lTv -aRG -dYc -wEt -wEt -hHU +onJ +kpS +rVv +wSJ +wSJ +iXu uIw brG gbE @@ -156988,12 +156973,12 @@ vcY jjl brG mhC -lTv -lTv -lTv -lTv -lTv -lTv +onJ +onJ +onJ +onJ +onJ +onJ oVY brG frS @@ -157245,12 +157230,12 @@ udv aQs brG nsl -hLY -mJo -rSn -tSK -lgB -jvk +btg +wbI +fBz +bOB +sgF +adS mWb brG xfl @@ -157502,12 +157487,12 @@ vmB kpz lKj uZZ -hLY -rnU -jmZ -lOQ -oxQ -lTv +btg +ron +tPw +krM +aQr +onJ cBq brG giW @@ -157759,12 +157744,12 @@ vmB aCo dFW aCo -lTv -vmm -dYc -wEt -wEt -aPN +onJ +thw +rVv +wSJ +wSJ +qUV qpb lKj dSD @@ -158016,12 +158001,12 @@ gdJ sAE wOK acx -lTv -lTv -lTv -lTv -lTv -lTv +onJ +onJ +onJ +onJ +onJ +onJ srD qSo srD @@ -158273,12 +158258,12 @@ hyJ iDg gBB sVD -lTv -gzh -diq -xHT -uZP -lTv +onJ +tUx +mDV +hNv +vFA +onJ dUu bIL kHc @@ -158530,12 +158515,12 @@ bCN wOK wOK cjT -lTv -kgd -lSM -jXj -lRP -lTv +onJ +mpi +xcB +jfh +nAV +onJ wAG bIL bfi @@ -158787,12 +158772,12 @@ sAE jaO sAE sVD -lTv -hgc -rPH -twR -bug -lTv +onJ +qTP +ylP +caX +jZv +onJ wAG bIL sOb @@ -159044,12 +159029,12 @@ sAE iIH giP cjT -lTv -xkB -ceP -mXT -mPN -eJR +onJ +ibE +qMN +jGr +aRY +qMA iTY bIL ehp @@ -159301,12 +159286,12 @@ qWZ qWZ qWZ qWZ -jVj -jVj -jVj -jVj -jVj -jVj +cwT +cwT +cwT +cwT +cwT +cwT dzo sXT sXT diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 7ab56793b048b2..bef001a2cd8fdf 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -2607,27 +2607,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"aSH" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/structure/rack, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/gun/ballistic/automatic/pistol/paco/no_mag{ - pixel_y = 6 - }, -/obj/item/gun/ballistic/automatic/pistol/paco/no_mag{ - pixel_y = 0 - }, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory/upper) "aSS" = ( /obj/effect/turf_decal/trimline/dark_red/end, /obj/machinery/meter, @@ -6219,6 +6198,30 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"bVE" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/structure/rack, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/gun/ballistic/automatic/pistol/paco/no_mag{ + pixel_y = 6 + }, +/obj/item/gun/ballistic/automatic/pistol/paco/no_mag{ + pixel_y = 0 + }, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory/upper) "bVI" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -7867,6 +7870,24 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"cve" = ( +/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, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-med-passthrough" + }, +/obj/machinery/door/airlock/medical{ + name = "Medbay" + }, +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/large, +/area/station/maintenance/aft/greater) "cvh" = ( /obj/effect/landmark/start/ai, /obj/item/radio/intercom/directional/west{ @@ -25713,24 +25734,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ikw" = ( -/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, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-med-passthrough" - }, -/obj/machinery/door/airlock/medical{ - name = "Medbay" - }, -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/large, -/area/station/maintenance/aft/greater) "ikz" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -27091,17 +27094,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/hallway/primary/central) -"iIE" = ( -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/turf_decal/tile/blue/full, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/large, -/area/station/medical/medbay/lobby) "iIF" = ( /obj/effect/landmark/start/hangover, /obj/machinery/status_display/evac/directional/south, @@ -32844,6 +32836,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/warden) +"kyD" = ( +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay" + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/large, +/area/station/medical/medbay/lobby) "kyL" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -37326,23 +37329,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"lUb" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/structure/disposalpipe/segment, -/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/full, -/obj/effect/landmark/navigate_destination/med, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/large, -/area/station/medical/medbay/lobby) "lUw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45594,6 +45580,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"owL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay" + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/structure/disposalpipe/segment, +/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/full, +/obj/effect/landmark/navigate_destination/med, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/large, +/area/station/medical/medbay/lobby) "owP" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/station_map/engineering/directional/south, @@ -69654,12 +69657,7 @@ /turf/closed/wall/r_wall, /area/station/hallway/primary/fore) "wqE" = ( -/mob/living/basic/goat/pete{ - desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; - habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); - minimum_survivable_temperature = 150; - name = "Snowy Pete" - }, +/mob/living/basic/goat/pete/icebox, /turf/open/misc/asteroid/snow/coldroom, /area/station/service/kitchen/coldroom) "wqI" = ( @@ -232507,7 +232505,7 @@ mAe stt qum diC -aSH +bVE mwJ rUb hYu @@ -244131,7 +244129,7 @@ pKb eTM vkG teZ -lUb +owL vWm pbW sco @@ -244645,7 +244643,7 @@ mJM obG dEf mFl -iIE +kyD iAO niu pZm @@ -248250,7 +248248,7 @@ sZF sZF sZF sZF -ikw +cve uWp sZF pwV diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index ce9cebdf54a893..76cb89de71fded 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -16409,6 +16409,15 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"fju" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=HOP"; + location = "Security"; + name = "security navigation beacon" + }, +/turf/open/floor/iron, +/area/station/security/brig) "fjw" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -17118,23 +17127,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"fuP" = ( -/obj/structure/rack, -/obj/item/gun/energy/disabler{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/energy/disabler, -/obj/item/gun/energy/disabler{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/turf/open/floor/iron/dark/textured_large, -/area/station/ai_monitored/security/armory) "fuX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31576,40 +31568,6 @@ dir = 1 }, /area/station/service/chapel) -"jIX" = ( -/obj/item/radio/intercom/directional/north{ - freerange = 1; - listening = 0; - name = "Custom Channel" - }, -/obj/item/radio/intercom/directional/east{ - freerange = 1; - listening = 0; - name = "Common Channel"; - pixel_y = 4 - }, -/obj/effect/landmark/start/ai, -/obj/machinery/button/door/directional/north{ - id = "AI Core shutters"; - name = "AI Core Shutters Toggle"; - pixel_x = 24; - req_access = list("ai_upload") - }, -/obj/machinery/button/door/directional/north{ - id = "AI Chamber entrance shutters"; - name = "AI Chamber Lockdown"; - pixel_x = -24; - req_access = list("ai_upload") - }, -/obj/item/radio/intercom/directional/west{ - freerange = 1; - frequency = 1447; - name = "Private Channel"; - pixel_y = 4; - listening = 0 - }, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) "jJd" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/beaker/large{ @@ -55501,6 +55459,26 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft) +"rtq" = ( +/obj/structure/rack, +/obj/item/gun/energy/disabler{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/iron/dark/textured_large, +/area/station/ai_monitored/security/armory) "rtw" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; @@ -69220,15 +69198,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"vHR" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=HOP"; - location = "Security"; - name = "security navigation beacon" - }, -/turf/open/floor/iron, -/area/station/security/brig) "vHS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74196,6 +74165,40 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pathology) +"xdj" = ( +/obj/item/radio/intercom/directional/north{ + freerange = 1; + listening = 0; + name = "Custom Channel" + }, +/obj/item/radio/intercom/directional/east{ + freerange = 1; + listening = 0; + name = "Common Channel"; + pixel_y = 4 + }, +/obj/effect/landmark/start/ai, +/obj/machinery/button/door/directional/north{ + id = "AI Core shutters"; + name = "AI Core Shutters Toggle"; + pixel_x = 24; + req_access = list("ai_upload") + }, +/obj/machinery/button/door/directional/north{ + id = "AI Chamber entrance shutters"; + name = "AI Chamber Lockdown"; + pixel_x = -24; + req_access = list("ai_upload") + }, +/obj/item/radio/intercom/directional/west{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_y = 4; + listening = 0 + }, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "xdl" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/black, @@ -99390,7 +99393,7 @@ swZ uNG nPD wNz -fuP +rtq bwI bwI tPO @@ -104006,7 +104009,7 @@ ych ych ych vVt -vHR +fju sQa cfL pRP @@ -106482,7 +106485,7 @@ aac aay iBD cdY -jIX +xdj vFk ceq atB diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 34eb00157334d0..fadadcf9d1addd 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -13212,6 +13212,12 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) +"eSQ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/atmos_alert, +/obj/machinery/incident_display/delam/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/main) "eSZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ dir = 4 @@ -13232,6 +13238,31 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"eTq" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/structure/rack, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/ammo_box/magazine/m35, +/obj/item/gun/ballistic/automatic/pistol/paco/no_mag, +/obj/item/gun/ballistic/automatic/pistol/paco/no_mag{ + pixel_y = 6 + }, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "eTv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24195,11 +24226,6 @@ dir = 8 }, /area/station/service/chapel) -"iIC" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/station_alert, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "iIP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26047,12 +26073,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"jjU" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/atmos_alert, -/obj/machinery/incident_display/delam/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "jkj" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 4 @@ -28493,28 +28513,6 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"kaC" = ( -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/structure/rack, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/ammo_box/magazine/m35, -/obj/item/gun/ballistic/automatic/pistol/paco/no_mag, -/obj/item/gun/ballistic/automatic/pistol/paco/no_mag{ - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "kaF" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -28571,6 +28569,17 @@ /obj/item/clothing/glasses/science, /turf/open/floor/iron, /area/station/service/janitor) +"kbR" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/obj/structure/sign/poster/official/moth_piping/directional/north, +/obj/structure/tank_dispenser, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "kbU" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -52048,6 +52057,11 @@ /obj/item/key/janitor, /turf/open/floor/iron, /area/station/service/janitor) +"slf" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/station_alert, +/turf/open/floor/iron/dark, +/area/station/engineering/main) "sli" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -54442,14 +54456,6 @@ /obj/machinery/coffeemaker/impressa, /turf/open/floor/iron/dark, /area/station/service/cafeteria) -"tcu" = ( -/obj/machinery/door/poddoor/preopen{ - id = "Engineering"; - name = "Engineering Security Doors" - }, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "tcx" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -57542,17 +57548,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"uht" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth_piping/directional/north, -/obj/structure/tank_dispenser, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "uhu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58667,6 +58662,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"uBv" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Security Doors" + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "uBy" = ( /obj/machinery/camera/directional/north{ c_tag = "Science Robotics Workshop"; @@ -96545,7 +96548,7 @@ sDw eew hxF daO -kaC +eTq anl vDh ewj @@ -99977,7 +99980,7 @@ fMn gal fgH gyQ -uht +kbR fhi fhi fhi @@ -107873,7 +107876,7 @@ tfg ssI ssI uXd -jjU +eSQ vEF pvX fYa @@ -108130,7 +108133,7 @@ tfg ssI mBw uXd -iIC +slf gLK qul fYa @@ -109683,7 +109686,7 @@ cDQ inP dOQ cnK -tcu +uBv uMU mGX kfp diff --git a/_maps/map_files/Ouroboros/Ouroboros.dmm b/_maps/map_files/Ouroboros/Ouroboros.dmm index 0433af9e8ab13f..40fc726d8ded58 100644 --- a/_maps/map_files/Ouroboros/Ouroboros.dmm +++ b/_maps/map_files/Ouroboros/Ouroboros.dmm @@ -4525,6 +4525,36 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tcomms) +"bqi" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/red/line{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/clothing/suit/jacket/straight_jacket, +/obj/item/clothing/mask/muzzle, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 10 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = -4 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -16; + pixel_y = 2 + }, +/obj/effect/turf_decal/trimline/red/mid_joiner{ + dir = 1 + }, +/obj/item/clothing/gloves/latex, +/obj/item/healthanalyzer{ + pixel_y = 10 + }, +/turf/open/floor/iron/white/smooth_edge{ + dir = 1 + }, +/area/station/security/medical) "bqn" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron, @@ -4880,18 +4910,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"buC" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 4 - }, -/obj/structure/closet/secure_closet/brig_physician, -/turf/open/floor/iron/white, -/area/station/security/medical) "buK" = ( /obj/structure/table/wood, /obj/machinery/light_switch/directional/north, @@ -11579,6 +11597,18 @@ "dxt" = ( /turf/closed/wall/r_wall, /area/station/service/forge) +"dxx" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 4 + }, +/obj/structure/closet/secure_closet/brig_physician, +/turf/open/floor/iron/white, +/area/station/security/medical) "dxz" = ( /obj/structure/railing{ dir = 1 @@ -27007,18 +27037,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"ibV" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/morgue, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/medbay/lobby) "ibY" = ( /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -30690,6 +30708,18 @@ /obj/machinery/suit_storage_unit/industrial/loader, /turf/open/floor/iron/dark, /area/station/cargo/office) +"jec" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay" + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/morgue, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/medbay/lobby) "jei" = ( /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark/side{ @@ -39404,21 +39434,6 @@ }, /turf/open/floor/iron/white/diagonal, /area/station/commons/toilet/auxiliary) -"lEq" = ( -/obj/structure/rack/gunrack, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/requests_console/auto_name/directional/south, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Security - Armory" - }, -/obj/effect/spawner/random/armory/disablers, -/turf/open/floor/engine, -/area/station/ai_monitored/security/armory) "lEB" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/structure/railing{ @@ -51391,6 +51406,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/security/checkpoint/science/research) +"pis" = ( +/obj/structure/rack/gunrack, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Security - Armory" + }, +/obj/effect/spawner/random/armory/disablers, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/engine, +/area/station/ai_monitored/security/armory) "pit" = ( /obj/structure/bodycontainer/morgue, /obj/effect/turf_decal/bot_white, @@ -69048,36 +69081,6 @@ /obj/structure/cable, /turf/open/floor/glass, /area/station/ai_monitored/turret_protected/ai) -"uwX" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/red/line{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/clothing/suit/jacket/straight_jacket, -/obj/item/clothing/mask/muzzle, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 10 - }, -/obj/item/reagent_containers/syringe{ - pixel_y = -4 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -16; - pixel_y = 2 - }, -/obj/effect/turf_decal/trimline/red/mid_joiner{ - dir = 1 - }, -/obj/item/clothing/gloves/latex, -/obj/item/healthanalyzer{ - pixel_y = 10 - }, -/turf/open/floor/iron/white/smooth_edge{ - dir = 1 - }, -/area/station/security/medical) "uxe" = ( /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/bot, @@ -122003,7 +122006,7 @@ kdj hSi rXg jsY -lEq +pis sFW sFW wbh @@ -123805,7 +123808,7 @@ aCe ylF ylF jUS -buC +dxx lkS iXU mfV @@ -124062,7 +124065,7 @@ qld ggS laD cYP -uwX +bqi xvx mji gKl @@ -187833,7 +187836,7 @@ wxt aoe sDc wPe -ibV +jec eCg itW lHD diff --git a/_maps/map_files/Voidraptor/VoidRaptor.dmm b/_maps/map_files/Voidraptor/VoidRaptor.dmm index 06fc443218daa1..23849d1fdfe387 100644 --- a/_maps/map_files/Voidraptor/VoidRaptor.dmm +++ b/_maps/map_files/Voidraptor/VoidRaptor.dmm @@ -570,6 +570,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured, /area/station/cargo/storage) +"ahM" = ( +/obj/structure/bed/medical/emergency{ + dir = 4 + }, +/obj/machinery/iv_drip, +/obj/item/bedsheet/medical, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/box/blue, +/turf/open/floor/iron/white/herringbone, +/area/station/medical/pathology) "ahP" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -1078,6 +1090,13 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/white/textured_edge, /area/station/science/lab) +"aoJ" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/virologist, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/pathology) "aoQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /obj/structure/cable, @@ -1091,6 +1110,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured, /area/station/science/ordnance/storage) +"aoT" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Virology Maintenance" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/medical/pathology) "apl" = ( /obj/structure/spider/stickyweb, /obj/machinery/power/port_gen/pacman, @@ -1419,14 +1448,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating/airless, /area/station/engineering/supermatter) -"atW" = ( -/obj/machinery/vending/wardrobe/viro_wardrobe, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "aub" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/effect/turf_decal/siding/wood{ @@ -1644,16 +1665,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold/supply/visible, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/science/xenobiology) -"axN" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Pharmacy Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/pharmacy, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/medical/central) "axY" = ( /obj/structure/dresser, /obj/item/toy/figure/cmo{ @@ -1886,6 +1897,16 @@ }, /turf/open/floor/iron/textured_edge, /area/station/engineering/lobby) +"aAo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/cloth/fancy/mechanical{ + icon_state = "bounty-open"; + icon_type = "bounty"; + id = "Cell5Privacy"; + name = "curtain" + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) "aAs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -1972,15 +1993,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"aBT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/grunge{ - id_tag = "Cell6Privacy"; - name = "Cell 6" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/prison/safe) "aBX" = ( /obj/effect/decal/cleanable/dirt, /obj/item/screwdriver, @@ -2086,6 +2098,18 @@ "aDR" = ( /turf/closed/wall/r_wall, /area/station/security/warden) +"aEi" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 4 + }, +/obj/structure/sign/poster/official/cleanliness/directional/east, +/obj/effect/turf_decal/bot, +/obj/machinery/light/cold/directional/east, +/obj/machinery/disease2/incubator, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "aEB" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/freezer, @@ -2338,20 +2362,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/textured_edge, /area/station/construction/mining/aux_base) -"aIV" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/effect/landmark/start/prisoner, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/button/curtain{ - id = "Cell3Privacy"; - pixel_x = -4; - pixel_y = 24 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "aJr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2903,19 +2913,6 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/medical) -"aQo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark_green/filled/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white/textured_corner{ - dir = 8 - }, -/area/station/medical/pathology) "aQv" = ( /obj/machinery/door/airlock/maintenance{ name = "Commissary Maintenance" @@ -3392,13 +3389,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/corner, /area/station/commons/vacant_room) -"aWG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/medical/central) "aWH" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron/textured, @@ -4371,14 +4361,6 @@ }, /turf/open/floor/iron/white/textured_edge, /area/station/hallway/primary/fore) -"bmv" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Air to Distro" - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/textured, -/area/station/medical/pathology) "bmG" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -4800,25 +4782,6 @@ dir = 4 }, /area/station/hallway/primary/central) -"btY" = ( -/obj/structure/table/glass, -/obj/item/folder/white{ - pixel_y = 4 - }, -/obj/item/pen/red{ - pixel_y = 4 - }, -/obj/machinery/camera{ - c_tag = "Medbay - Virology Ward 1"; - dir = 4; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/pathology) "btZ" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/light_switch/directional/south{ @@ -4927,6 +4890,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos) +"buT" = ( +/obj/structure/flora/bush/large, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/grass, +/area/station/medical/pathology) "buX" = ( /obj/structure/cable, /obj/structure/cable/layer3, @@ -5014,39 +4982,6 @@ dir = 8 }, /area/station/hallway/primary/central/aft) -"bvV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/dark_green/line{ - dir = 8 - }, -/obj/structure/closet/secure_closet/wall/directional/west{ - name = "Pathologist Equipment" - }, -/obj/item/clothing/glasses/science, -/obj/item/clothing/glasses/science, -/obj/item/clothing/glasses/science, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/gloves/latex, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/obj/item/device/antibody_scanner, -/obj/item/device/antibody_scanner, -/obj/item/device/antibody_scanner, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 9 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "bws" = ( /obj/structure/table, /obj/item/storage/bag/egg, @@ -5094,6 +5029,17 @@ dir = 8 }, /area/station/science/xenobiology) +"bxl" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 5 + }, +/obj/machinery/vending/wallmed/directional/east, +/obj/machinery/reagentgrinder{ + pixel_y = 7 + }, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "bxm" = ( /obj/structure/cable, /obj/machinery/modular_computer/preset/engineering{ @@ -5366,6 +5312,18 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"bAZ" = ( +/obj/structure/table/glass, +/obj/item/clothing/gloves/latex, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/science, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "bBd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5474,17 +5432,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/textured, /area/station/maintenance/department/security/greater) -"bCw" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 4 - }, -/obj/structure/sink/directional/west, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "bCE" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -5669,15 +5616,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/small, /area/station/security/prison/garden) -"bGR" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/disease2/centrifuge, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/obj/item/reagent_containers/cup/tube, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "bGZ" = ( /obj/structure/showcase/machinery/signal_decrypter, /obj/machinery/power/apc/auto_name/directional/north, @@ -5886,14 +5824,6 @@ dir = 1 }, /area/station/commons/fitness/recreation) -"bKT" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/medical/pathology) "bKX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6033,16 +5963,17 @@ }, /turf/open/floor/iron/textured_edge, /area/station/cargo/storage) -"bNs" = ( -/obj/structure/bed/medical/emergency{ +"bNp" = ( +/obj/structure/toilet/greyscale{ dir = 4 }, -/obj/machinery/iv_drip, -/obj/item/bedsheet/medical, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/box/blue, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/pathology) +/obj/machinery/light/small/directional/west, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "bNu" = ( /obj/structure/chair/sofa/left/brown{ dir = 4 @@ -6269,18 +6200,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) -"bQy" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_corner{ - dir = 8 - }, -/area/station/medical/pathology) "bQF" = ( /turf/open/floor/iron/textured, /area/station/maintenance/department/science/ordnance_maint) @@ -7091,15 +7010,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/engine, /area/station/science/ordnance/storage) -"cfa" = ( -/obj/effect/decal/cleanable/blood/xtracks, -/obj/machinery/door/window/brigdoor/left/directional/south{ - name = "Secure Creature Pen"; - req_access = list("xenobiology") - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/science/xenobiology) "cfm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -7268,6 +7178,13 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/hallway/secondary/command) +"chH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ + dir = 5 + }, +/obj/item/clothing/head/cone, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/medical/pathology) "chJ" = ( /obj/structure/cable, /turf/open/floor/iron/textured_large, @@ -7528,17 +7445,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/science/ordnance/testlab) -"cmO" = ( -/obj/structure/flora/bush/lavendergrass/style_random, -/obj/item/food/grown/banana, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/window/right/directional/east{ - name = "Monkey Pen"; - req_access = list("pathology") - }, -/turf/open/floor/grass, -/area/station/medical/pathology) "cmW" = ( /obj/effect/turf_decal/tile/brown/anticorner{ dir = 1 @@ -7753,11 +7659,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured, /area/station/science/research/abandoned) -"cqf" = ( -/obj/structure/flora/bush/large, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/grass, -/area/station/medical/pathology) "cqn" = ( /obj/item/toy/basketball, /obj/effect/turf_decal/trimline/blue/line{ @@ -7799,13 +7700,6 @@ dir = 4 }, /area/station/science/auxlab) -"cqz" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Air to Distro" - }, -/turf/open/floor/iron/textured, -/area/station/medical/pathology) "cqB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8968,36 +8862,6 @@ dir = 8 }, /area/station/engineering/main) -"cIz" = ( -/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/dark_green/filled/warning{ - dir = 4 - }, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_x = 24; - pixel_y = -24; - req_access = list("pathology") - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8; - name = "Virology Junction"; - sortType = 27 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/medbay/virology, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "cIE" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 1 @@ -9047,16 +8911,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/hop) -"cIZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark_green/filled/warning, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_edge{ - dir = 1 - }, -/area/station/medical/pathology) "cJm" = ( /obj/effect/decal/cleanable/dirt, /obj/item/stack/sheet/cardboard, @@ -9234,6 +9088,10 @@ dir = 1 }, /area/station/medical/medbay/central) +"cMW" = ( +/obj/machinery/atmospherics/miner/nitrogen, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "cMY" = ( /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 9 @@ -9335,12 +9193,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"cOm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/medical/central) "cOs" = ( /obj/machinery/door/airlock/grunge{ name = "Chapel Office" @@ -9388,18 +9240,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) -"cPj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "cPv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9418,15 +9258,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white/textured_large, /area/station/commons/fitness/recreation/entertainment) -"cPF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/obj/structure/closet/l3closet/virology, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "cPN" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -9796,6 +9627,16 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/textured_large, /area/station/command/cc_dock) +"cVf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/cloth/fancy/mechanical{ + icon_state = "bounty-open"; + icon_type = "bounty"; + id = "Cell3Privacy"; + name = "curtain" + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) "cVl" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -10048,6 +9889,11 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/disposal/incinerator) +"cZD" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/space_heater, +/turf/open/floor/iron/textured, +/area/station/maintenance/department/medical/central) "cZG" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 4; @@ -10857,6 +10703,21 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, /area/station/maintenance/department/engine/atmos/lesser) +"djO" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Xtestlab"; + name = "Test Chamber Blast Door" + }, +/obj/item/toy/toy_xeno, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/window/brigdoor/left/directional/north{ + name = "Secure Creature Pen"; + req_access = list("xenobiology") + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "djR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 4 @@ -10869,10 +10730,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel) -"dkF" = ( -/obj/machinery/atmospherics/miner/carbon_dioxide, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) "dkR" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -11498,6 +11355,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured, /area/station/maintenance/department/science/ordnance_maint) +"dtV" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "dtW" = ( /obj/machinery/power/shieldwallgen/xenobiologyaccess, /obj/structure/cable, @@ -11540,6 +11403,21 @@ }, /turf/open/floor/plating, /area/station/security/prison) +"dur" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 6 + }, +/obj/machinery/light_switch/directional/south, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/box, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "dus" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -11767,6 +11645,20 @@ dir = 4 }, /area/station/hallway/primary/fore) +"dxT" = ( +/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/stripes/line{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "dxW" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -11852,13 +11744,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/central) -"dzh" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/pathology) "dzk" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -12065,14 +11950,6 @@ dir = 8 }, /area/station/hallway/primary/aft) -"dBG" = ( -/obj/structure/flora/bush/sparsegrass, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/grass, -/area/station/medical/pathology) "dBK" = ( /obj/structure/railing, /obj/structure/flora/grass/jungle, @@ -12408,18 +12285,6 @@ }, /turf/open/floor/iron/textured, /area/station/cargo/sorting) -"dGL" = ( -/obj/structure/toilet/greyscale{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/newscaster/directional/north, -/obj/effect/spawner/random/contraband/prison, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "dGO" = ( /obj/structure/bookcase/random/nonfiction, /obj/effect/turf_decal/siding/wood, @@ -12985,6 +12850,20 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/science/research/abandoned) +"dNl" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/effect/landmark/start/prisoner, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/machinery/button/curtain{ + id = "Cell2Privacy"; + pixel_x = -4; + pixel_y = 24 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "dNz" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -13204,11 +13083,14 @@ dir = 8 }, /area/station/security/medical) -"dQu" = ( +"dQt" = ( +/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/spawner/random/engineering/tracking_beacon, +/obj/machinery/duct, +/obj/structure/disposalpipe/junction{ + dir = 1 }, /turf/open/floor/iron/white/textured_large, /area/station/medical/pathology) @@ -13230,27 +13112,6 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/central) -"dQO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark_green/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) -"dQX" = ( -/obj/structure/toilet/greyscale{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "dRs" = ( /obj/structure/disposalpipe/junction/yjunction, /turf/open/floor/iron/white/textured_large, @@ -13783,16 +13644,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) -"dYB" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/cloth/fancy/mechanical{ - icon_state = "bounty-open"; - icon_type = "bounty"; - id = "Cell5Privacy"; - name = "curtain" - }, -/turf/open/floor/plating, -/area/station/security/prison/safe) "dYG" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -14291,16 +14142,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"efi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/cloth/fancy/mechanical{ - icon_state = "bounty-open"; - icon_type = "bounty"; - id = "Cell4Privacy"; - name = "curtain" - }, -/turf/open/floor/plating, -/area/station/security/prison/safe) "efl" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -15932,11 +15773,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white/diagonal, /area/station/medical/medbay/central) -"eDJ" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/space_heater, -/turf/open/floor/iron/textured, -/area/station/maintenance/department/medical/central) "eDN" = ( /obj/structure/chair/sofa/bench/right, /obj/effect/turf_decal/siding/wood{ @@ -16611,6 +16447,16 @@ }, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"eNa" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "eNq" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning, /obj/effect/turf_decal/trimline/blue/filled/warning, @@ -16866,6 +16712,17 @@ dir = 4 }, /area/station/medical/surgery) +"eQE" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/dark_green/filled/line, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 + }, +/obj/item/stack/sheet/mineral/uranium/five, +/turf/open/floor/iron/white/textured_edge{ + dir = 1 + }, +/area/station/medical/pathology) "eQQ" = ( /obj/effect/turf_decal/trimline/dark_red/filled/warning{ dir = 9 @@ -17460,6 +17317,18 @@ "faq" = ( /turf/open/floor/iron/textured_large, /area/station/maintenance/disposal/incinerator) +"far" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_green/filled/warning{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "faR" = ( /obj/effect/turf_decal/box, /obj/machinery/light/small/directional/east, @@ -18790,6 +18659,16 @@ "fvs" = ( /turf/open/floor/iron/white/textured_large, /area/station/science/lab) +"fvS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_green/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "fvW" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 @@ -19146,6 +19025,9 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/carpet/cyan, /area/station/commons/dorms) +"fAX" = ( +/turf/closed/wall, +/area/station/security/prison/safe) "fBi" = ( /obj/structure/table/wood/fancy, /obj/item/flashlight/lantern, @@ -19585,15 +19467,6 @@ }, /turf/open/floor/wood/large, /area/station/hallway/primary/central/fore) -"fJz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/grunge{ - id_tag = "Cell3Privacy"; - name = "Cell 3" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/prison/safe) "fJT" = ( /obj/structure/railing, /obj/structure/flora/grass/jungle, @@ -19841,12 +19714,6 @@ }, /turf/open/floor/wood/large, /area/station/security/courtroom) -"fNY" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "fOm" = ( /obj/effect/turf_decal/trimline/brown/filled/corner, /obj/structure/disposalpipe/segment{ @@ -19872,10 +19739,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/medical/central) -"fOv" = ( -/obj/structure/trash_pile, -/turf/open/floor/iron/textured, -/area/station/maintenance/department/medical/central) "fOR" = ( /obj/machinery/camera/directional/south{ c_tag = "Bridge - Captain's Quarters"; @@ -20088,6 +19951,15 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"fSj" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/disease2/centrifuge, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/pathology) "fSo" = ( /obj/machinery/air_sensor/incinerator_tank, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, @@ -20298,15 +20170,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron/dark/textured_large, /area/station/security/office) -"fVz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark_green/filled/warning{ - dir = 9 - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "fVF" = ( /obj/structure/chair{ dir = 4 @@ -20407,39 +20270,6 @@ }, /turf/open/floor/noslip, /area/station/service/janitor) -"fXr" = ( -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/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/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "virology_airlock_interior"; - name = "Virology Interior Airlock" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_x = 9; - pixel_y = -24; - req_access = list("pathology") - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "fXv" = ( /obj/effect/landmark/start/detective, /turf/open/floor/carpet, @@ -20551,17 +20381,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/textured, /area/station/engineering/atmos) -"fZs" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 5 - }, -/obj/machinery/vending/wallmed/directional/east, -/obj/machinery/reagentgrinder{ - pixel_y = 7 - }, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "fZt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, @@ -20680,6 +20499,17 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/general, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) +"gaV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_green/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron/white/textured_corner{ + dir = 8 + }, +/area/station/medical/pathology) "gba" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20795,6 +20625,20 @@ /obj/structure/girder, /turf/open/floor/iron/dark/textured, /area/station/engineering/supermatter/room) +"gde" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 4 + }, +/obj/machinery/light/warm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "gdk" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron/stairs/right{ @@ -20815,14 +20659,6 @@ /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/asteroid, /area/station/hallway/secondary/exit/departure_lounge) -"gdQ" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "gdS" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -20985,6 +20821,39 @@ dir = 1 }, /area/station/engineering/gravity_generator) +"ggk" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/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/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "virology_airlock_interior"; + name = "Virology Interior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door_buttons/access_button{ + idDoor = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + pixel_x = 9; + pixel_y = -24; + req_access = list("pathology") + }, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/pathology) "ggm" = ( /turf/open/floor/glass/reinforced, /area/station/maintenance/port/fore) @@ -21526,21 +21395,6 @@ /obj/effect/mapping_helpers/mail_sorting/science/xenobiology, /turf/open/floor/iron/white/diagonal, /area/station/science/research) -"glS" = ( -/obj/structure/rack, -/obj/item/analyzer{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/pipe_dispenser, -/obj/item/clothing/glasses/meson/engine, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "gmb" = ( /obj/effect/turf_decal/delivery, /obj/structure/closet/crate, @@ -21758,6 +21612,20 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/textured_large, /area/station/engineering/atmos) +"gqx" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/effect/landmark/start/prisoner, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/machinery/button/curtain{ + id = "Cell4Privacy"; + pixel_x = -4; + pixel_y = 24 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "gqB" = ( /obj/effect/turf_decal/tile/blue/diagonal_centre, /obj/structure/disposalpipe/segment{ @@ -22155,19 +22023,6 @@ }, /turf/open/floor/wood/large, /area/station/hallway/secondary/exit/departure_lounge) -"gvA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/dark_green/filled/warning{ - dir = 8 - }, -/obj/effect/landmark/start/virologist, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_edge{ - dir = 4 - }, -/area/station/medical/pathology) "gvG" = ( /turf/open/floor/engine, /area/station/science/auxlab/firing_range) @@ -22450,19 +22305,6 @@ }, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"gAh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/sign/warning/biohazard/directional/south, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/obj/machinery/light/cold/directional/south, -/obj/machinery/computer/records/pathology{ - dir = 1 - }, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "gAm" = ( /obj/machinery/disposal/bin, /obj/structure/extinguisher_cabinet/directional/west, @@ -22505,13 +22347,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/engineering/power_room) -"gAC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ - dir = 5 - }, -/obj/item/clothing/head/cone, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/medical/pathology) "gAG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, @@ -23073,6 +22908,14 @@ }, /turf/open/floor/carpet/purple, /area/station/common/night_club) +"gIV" = ( +/obj/effect/mapping_helpers/airlock/access/any/medical/chemistry, +/obj/machinery/door/airlock/research{ + name = "Chemical Storage" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/department/medical/central) "gIW" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -23201,6 +23044,30 @@ }, /turf/open/floor/carpet/black, /area/station/service/chapel/office) +"gKI" = ( +/obj/structure/flora/bush/large, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/grass, +/area/station/medical/pathology) +"gKJ" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = 4 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 4 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 4 + }, +/obj/machinery/camera{ + c_tag = "Medbay - Virology Ward 2"; + dir = 4; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white/herringbone, +/area/station/medical/pathology) "gKO" = ( /turf/open/floor/catwalk_floor/iron_smooth, /area/station/hallway/primary/aft) @@ -23346,18 +23213,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured_edge, /area/station/engineering/lobby) -"gME" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 21 - }, -/obj/structure/rack, -/obj/item/analyzer, -/obj/item/pipe_dispenser, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"gMI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain, +/turf/open/floor/plating, +/area/station/medical/pathology) "gMQ" = ( /obj/docking_port/stationary/random{ name = "lavaland"; @@ -23467,12 +23327,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured, /area/station/command/cc_dock) -"gPi" = ( -/obj/machinery/atmospherics/components/tank/air{ - dir = 8 - }, -/turf/open/floor/iron/textured, -/area/station/medical/pathology) "gPk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23934,6 +23788,18 @@ /obj/item/pai_card, /turf/open/floor/wood/large, /area/station/commons/fitness/recreation/entertainment) +"gVs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/effect/landmark/start/virologist, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "gVA" = ( /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/textured, @@ -24770,6 +24636,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/storage_shared) +"hgv" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/department/medical/central) "hgW" = ( /obj/structure/trash_pile, /obj/effect/decal/cleanable/dirt, @@ -24852,13 +24725,6 @@ dir = 4 }, /area/station/service/hydroponics) -"hhO" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 10 - }, -/obj/machinery/disease2/diseaseanalyser, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "hhP" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 1 @@ -26238,16 +26104,6 @@ /obj/structure/cable, /turf/open/space, /area/station/solars/port/aft) -"hBV" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 10 - }, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "hBZ" = ( /obj/machinery/pdapainter/research, /obj/machinery/computer/security/telescreen/rd{ @@ -27082,6 +26938,10 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) +"hPF" = ( +/obj/machinery/atmospherics/miner/carbon_dioxide, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "hPR" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/cup/soda_cans/monkey_energy, @@ -27463,6 +27323,10 @@ }, /turf/open/floor/iron/textured, /area/station/engineering/atmos/storage) +"hTX" = ( +/obj/machinery/atmospherics/miner/oxygen, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) "hUc" = ( /turf/open/floor/iron/dark/textured, /area/station/engineering/supermatter/room) @@ -27570,6 +27434,16 @@ /obj/item/clothing/mask/gas/cyborg, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/science/robotics/mechbay) +"hVB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/cloth/fancy/mechanical{ + icon_state = "bounty-open"; + icon_type = "bounty"; + id = "Cell2Privacy"; + name = "curtain" + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) "hVH" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 8 @@ -27623,6 +27497,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"hWN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/mirror/directional/west, +/obj/structure/sink/directional/east, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "hXd" = ( /obj/machinery/digital_clock, /turf/closed/wall/r_wall, @@ -28162,6 +28047,19 @@ "ifq" = ( /turf/closed/wall/r_wall, /area/station/medical/pharmacy) +"ifx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_green/filled/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white/textured_corner{ + dir = 8 + }, +/area/station/medical/pathology) "ifS" = ( /obj/machinery/atmospherics/components/unary/cryo_cell, /obj/effect/turf_decal/bot, @@ -28169,6 +28067,21 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/central) +"ifW" = ( +/obj/structure/rack, +/obj/item/analyzer{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/pipe_dispenser, +/obj/item/clothing/glasses/meson/engine, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "igd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -28260,33 +28173,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/corner, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"ihA" = ( -/obj/machinery/door/airlock/virology/glass{ - name = "Isolation B" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/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/pathology) -"ihB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 8 - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_edge{ - dir = 4 - }, -/area/station/medical/pathology) "ihT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28489,6 +28375,21 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white/textured_edge, /area/station/medical/storage) +"ikB" = ( +/obj/machinery/door/airlock/virology/glass{ + name = "Virology Lab" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/pathology) "ikN" = ( /obj/structure/railing{ pixel_y = -5 @@ -28634,19 +28535,16 @@ dir = 8 }, /area/station/science/robotics/lab) +"imH" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Air to Distro" + }, +/turf/open/floor/iron/textured, +/area/station/medical/pathology) "imR" = ( /turf/closed/wall, /area/station/commons/vacant_room) -"imS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/cloth/fancy/mechanical{ - icon_state = "bounty-open"; - icon_type = "bounty"; - id = "Cell3Privacy"; - name = "curtain" - }, -/turf/open/floor/plating, -/area/station/security/prison/safe) "imV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28986,6 +28884,15 @@ /obj/machinery/digital_clock, /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory) +"iqy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_green/filled/warning{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_edge, +/area/station/medical/pathology) "iqD" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -29068,6 +28975,12 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/execution/transfer) +"irx" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "virology water reservoir" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/medical/pathology) "irB" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -29296,6 +29209,23 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/power_room) +"itz" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Virology - Hallway"; + name = "virology camera"; + network = list("ss13","medbay","virology") + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "itE" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/machinery/door/poddoor/shutters{ @@ -29448,13 +29378,6 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/captain) -"ivF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ - dir = 6 - }, -/obj/effect/spawner/random/structure/tank_holder, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/medical/pathology) "ivM" = ( /obj/structure/table/wood/fancy/black, /obj/effect/turf_decal/siding/wood{ @@ -29491,11 +29414,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/station/security/checkpoint/medical) -"ivS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain, -/turf/open/floor/plating, -/area/station/medical/pathology) "ivY" = ( /obj/structure/flora/grass/jungle, /obj/structure/flora/bush/grassy, @@ -30294,17 +30212,6 @@ /obj/machinery/requests_console/auto_name/directional/north, /turf/open/floor/carpet/green, /area/station/commons/dorms) -"iHU" = ( -/obj/structure/table/glass, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 9 - }, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_y = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "iHX" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/stripes/corner{ @@ -30647,6 +30554,11 @@ /obj/machinery/camera/directional/north, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/power_room) +"iNK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/medical/pathology) "iNL" = ( /obj/structure/chair/comfy{ color = "#596479" @@ -30827,10 +30739,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/cargo/lobby) -"iQz" = ( -/obj/machinery/atmospherics/miner/n2o, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) "iQV" = ( /obj/machinery/light_switch/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31469,17 +31377,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/large, /area/station/commons/fitness/recreation/entertainment) -"iYH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "iYT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/green/diagonal_centre, @@ -31866,6 +31763,14 @@ /obj/structure/closet/crate/bin, /turf/open/floor/pod/dark, /area/station/service/chapel) +"jew" = ( +/mob/living/carbon/human/species/monkey, +/obj/structure/flora/bush/sparsegrass, +/obj/structure/window/reinforced/spawner/directional/east{ + layer = 2.9 + }, +/turf/open/floor/grass, +/area/station/medical/pathology) "jeR" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/disposal/bin, @@ -32298,6 +32203,38 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) +"jkc" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/structure/cable, +/obj/machinery/door_buttons/access_button{ + dir = 1; + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + pixel_y = -26; + req_access = list("pathology") + }, +/obj/machinery/door/airlock/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "virology_airlock_exterior"; + name = "Virology Exterior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/pathology) "jki" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -32948,6 +32885,18 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"jsY" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_corner{ + dir = 8 + }, +/area/station/medical/pathology) "jtc" = ( /turf/open/floor/carpet, /area/station/commons/dorms) @@ -33038,6 +32987,10 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/textured_edge, /area/station/engineering/lobby) +"jtU" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/pathology) "jtX" = ( /obj/machinery/computer/station_alert, /obj/structure/sign/nanotrasen{ @@ -33450,6 +33403,16 @@ dir = 8 }, /area/station/medical/medbay/central) +"jzu" = ( +/obj/structure/bed/medical/emergency{ + dir = 4 + }, +/obj/machinery/iv_drip, +/obj/item/bedsheet/medical, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/box/blue, +/turf/open/floor/iron/white/herringbone, +/area/station/medical/pathology) "jzH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33655,6 +33618,12 @@ /obj/effect/turf_decal/bot_red, /turf/open/floor/vault, /area/station/ai_monitored/turret_protected/ai_upload) +"jCg" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 8 + }, +/turf/open/floor/iron/textured, +/area/station/medical/pathology) "jCo" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -34683,6 +34652,20 @@ /obj/effect/turf_decal/box, /turf/open/floor/wood/tile, /area/station/service/library) +"jOW" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/effect/landmark/start/prisoner, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/machinery/button/curtain{ + id = "Cell6Privacy"; + pixel_x = -4; + pixel_y = 24 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "jOZ" = ( /obj/machinery/modular_computer/preset/engineering{ dir = 8 @@ -35060,6 +35043,15 @@ dir = 4 }, /area/station/security/checkpoint/engineering) +"jWD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/obj/structure/closet/l3closet/virology, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "jWK" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -35278,6 +35270,16 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/textured_large, /area/station/cargo/miningdock) +"jZJ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Pharmacy Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/pharmacy, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/department/medical/central) "jZS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35761,6 +35763,23 @@ dir = 1 }, /area/station/engineering/power_room) +"khl" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 1 + }, +/obj/machinery/requests_console/directional/north{ + department = "Virology"; + name = "Virology Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/item/folder/white, +/obj/item/pen/red, +/turf/open/floor/iron/white/textured_edge, +/area/station/medical/pathology) "khz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36148,11 +36167,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"kmU" = ( -/obj/structure/flora/bush/sparsegrass, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/grass, -/area/station/medical/pathology) "kmZ" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -36221,6 +36235,17 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/carpet, /area/station/medical/psychology) +"knZ" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 5 + }, +/obj/structure/rack, +/obj/item/wrench/medical, +/obj/item/crowbar/red, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "kob" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/secure_closet/engineering_personal, @@ -36587,6 +36612,28 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/textured_large, /area/station/science/xenobiology) +"ktQ" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/suit/hooded/ablative{ + pixel_y = 7 + }, +/obj/item/gun/energy/temperature/security{ + pixel_y = 5 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east{ + layer = 2.9; + pixel_x = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/iron/dark/textured_large, +/area/station/ai_monitored/security/armory) "ktT" = ( /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, @@ -36723,6 +36770,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"kvo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + id_tag = "Cell2Privacy"; + name = "Cell 2" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/prison/safe) "kvy" = ( /obj/effect/turf_decal/box/white{ color = "#9FED58" @@ -36821,6 +36877,43 @@ dir = 8 }, /area/station/commons/vacant_room) +"kxc" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/o_plus{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/reagent_containers/blood/o_minus, +/obj/item/reagent_containers/blood/b_plus, +/obj/item/reagent_containers/blood/b_minus, +/obj/item/reagent_containers/blood/a_plus, +/obj/item/reagent_containers/blood/a_minus, +/obj/item/reagent_containers/blood/lizard, +/obj/item/reagent_containers/blood/ethereal, +/obj/item/reagent_containers/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/reagent_containers/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/reagent_containers/blood{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 1 + }, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/white/textured_edge, +/area/station/medical/pathology) "kxd" = ( /obj/structure/training_machine, /obj/item/target/syndicate, @@ -37009,17 +37102,6 @@ /obj/effect/turf_decal/siding/green, /turf/open/floor/iron/textured, /area/station/service/hydroponics/garden/abandoned) -"kzj" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/dark_green/filled/line, -/obj/item/stack/sheet/mineral/plasma{ - amount = 5 - }, -/obj/item/stack/sheet/mineral/uranium/five, -/turf/open/floor/iron/white/textured_edge{ - dir = 1 - }, -/area/station/medical/pathology) "kzk" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -37487,18 +37569,6 @@ dir = 1 }, /area/station/security/checkpoint/customs) -"kEM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/landmark/start/virologist, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "kEP" = ( /obj/machinery/door/airlock/grunge{ name = "Funeral Room" @@ -38553,6 +38623,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/wood/large, /area/station/hallway/secondary/entry) +"kTx" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Medical Maintenance" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/department/medical/central) "kTB" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 1 @@ -38562,6 +38641,17 @@ }, /turf/open/floor/iron/textured_edge, /area/station/hallway/primary/aft) +"kTE" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 10 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "kTR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -38881,15 +38971,6 @@ /obj/structure/table/reinforced/rglass, /turf/open/floor/carpet/blue, /area/station/command/heads_quarters/cmo) -"kXw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark_green/filled/warning{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_edge, -/area/station/medical/pathology) "kXz" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/brown/filled/warning{ @@ -39042,6 +39123,15 @@ dir = 8 }, /area/station/commons/fitness/recreation/entertainment) +"kZx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + id_tag = "Cell1Privacy"; + name = "Cell 1" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/prison/safe) "kZF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -39671,10 +39761,6 @@ dir = 8 }, /area/station/hallway/secondary/command) -"liY" = ( -/obj/machinery/atmospherics/miner/oxygen, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) "liZ" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 @@ -39745,6 +39831,25 @@ /obj/effect/turf_decal/trimline/green/filled/corner, /turf/open/floor/noslip, /area/station/service/janitor) +"lkx" = ( +/obj/structure/table/glass, +/obj/item/folder/white{ + pixel_y = 4 + }, +/obj/item/pen/red{ + pixel_y = 4 + }, +/obj/machinery/camera{ + c_tag = "Medbay - Virology Ward 1"; + dir = 4; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white/herringbone, +/area/station/medical/pathology) "lky" = ( /obj/machinery/light/small/directional/east, /obj/structure/cable, @@ -40360,16 +40465,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/parquet, /area/station/common/night_club) -"ltw" = ( -/obj/machinery/shower{ - pixel_y = 16 - }, -/obj/structure/drain, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/stripes/box, -/obj/effect/turf_decal/siding/thinplating/dark/end, -/turf/open/floor/iron/checker, -/area/station/medical/pathology) "ltz" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/supply/qm, @@ -40482,28 +40577,6 @@ "luV" = ( /turf/closed/wall, /area/station/engineering/atmos) -"lva" = ( -/obj/structure/table/glass, -/obj/item/book/manual/wiki/infections, -/obj/item/reagent_containers/syringe/antiviral, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 4 - }, -/obj/structure/reagent_dispensers/wall/virusfood/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Virology - Laboratory"; - name = "virology camera"; - network = list("ss13","medbay","virology") - }, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "lvs" = ( /obj/machinery/door/airlock/maintenance{ name = "Barbershop Maintenance" @@ -41439,6 +41512,19 @@ dir = 1 }, /area/station/engineering/main) +"lIf" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Medbay - Virology Access"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "lIj" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/box, @@ -41750,16 +41836,6 @@ /obj/effect/turf_decal/delivery/blue, /turf/open/floor/iron/white/textured_large, /area/station/medical/storage) -"lML" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/cloth/fancy/mechanical{ - icon_state = "bounty-open"; - icon_type = "bounty"; - id = "Cell2Privacy"; - name = "curtain" - }, -/turf/open/floor/plating, -/area/station/security/prison/safe) "lMS" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port) @@ -41777,16 +41853,6 @@ }, /turf/open/floor/iron/textured, /area/station/science/ordnance/testlab) -"lNn" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Virology Maintenance" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/medical/pathology) "lNr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42093,6 +42159,16 @@ /obj/item/stack/package_wrap, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"lRf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/cloth/fancy/mechanical{ + icon_state = "bounty-open"; + icon_type = "bounty"; + id = "Cell1Privacy"; + name = "curtain" + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) "lRk" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/camera/directional/west{ @@ -42584,6 +42660,15 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/medical) +"lWT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + id_tag = "Cell3Privacy"; + name = "Cell 3" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/prison/safe) "lWY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42751,15 +42836,6 @@ "lZg" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/central) -"lZl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/grunge{ - id_tag = "Cell2Privacy"; - name = "Cell 2" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/prison/safe) "lZs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43123,6 +43199,18 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"mgb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "mgk" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -43269,20 +43357,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/engineering/lobby) -"miz" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/effect/landmark/start/prisoner, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/button/curtain{ - id = "Cell5Privacy"; - pixel_x = -4; - pixel_y = 24 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "miA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -43603,6 +43677,20 @@ }, /turf/open/floor/iron/checker, /area/station/service/theater) +"mmS" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/effect/landmark/start/prisoner, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/machinery/button/curtain{ + id = "Cell5Privacy"; + pixel_x = -4; + pixel_y = 24 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "mna" = ( /obj/structure/plasticflaps{ name = "Deliveries" @@ -44102,6 +44190,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"mvN" = ( +/mob/living/carbon/human/species/monkey, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/sign/poster/official/fruit_bowl/directional/west, +/turf/open/floor/grass, +/area/station/medical/pathology) "mwd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44355,6 +44449,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/service/chapel/funeral) +"mAx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 21 + }, +/obj/structure/rack, +/obj/item/analyzer, +/obj/item/pipe_dispenser, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mAy" = ( /turf/open/floor/engine, /area/station/engineering/main) @@ -44549,12 +44655,6 @@ /obj/effect/landmark/start/janitor, /turf/open/floor/noslip, /area/station/service/janitor) -"mDd" = ( -/obj/structure/reagent_dispensers/plumbed{ - name = "virology water reservoir" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/medical/pathology) "mDf" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/cable, @@ -44807,6 +44907,16 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/science/ordnance_maint) +"mHz" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 10 + }, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/neck/stethoscope, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "mHA" = ( /obj/structure/flora/bush/flowers_yw/style_random, /obj/machinery/light/small/directional/east, @@ -44923,10 +45033,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, /area/station/security/courtroom) -"mIH" = ( -/obj/effect/decal/cleanable/blood/xtracks, -/turf/open/floor/engine, -/area/station/science/xenobiology) "mII" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 @@ -45036,18 +45142,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark/textured, /area/station/service/chapel/office) -"mKo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 8 - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_edge{ - dir = 4 - }, -/area/station/medical/pathology) "mKs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -45279,6 +45373,13 @@ dir = 4 }, /area/station/science/xenobiology) +"mNu" = ( +/obj/effect/mapping_helpers/airlock/access/any/medical/chemistry, +/obj/machinery/door/airlock/maintenance{ + name = "Chemistry Maintenance" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/department/medical/central) "mNz" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -45905,10 +46006,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood/large, /area/station/commons/fitness/recreation/entertainment) -"mVF" = ( -/obj/machinery/atmospherics/miner/nitrogen, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) "mVK" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/rnd_secure_all, @@ -46115,6 +46212,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured, /area/station/maintenance/aft/lesser) +"mYk" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/medical/pathology) "mYm" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46657,6 +46762,16 @@ dir = 4 }, /area/station/hallway/secondary/command) +"ngS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_green/filled/warning, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_edge{ + dir = 1 + }, +/area/station/medical/pathology) "ngZ" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -46914,17 +47029,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_edge, /area/station/security/interrogation) -"njV" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 5 - }, -/obj/structure/rack, -/obj/item/wrench/medical, -/obj/item/crowbar/red, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "nkb" = ( /obj/item/kirbyplants/random, /obj/structure/cable, @@ -46979,13 +47083,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark/textured_large, /area/station/command/heads_quarters/ce) -"nkv" = ( -/obj/effect/mapping_helpers/airlock/access/any/medical/chemistry, -/obj/machinery/door/airlock/maintenance{ - name = "Chemistry Maintenance" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/medical/central) "nkA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/small, @@ -48193,12 +48290,6 @@ dir = 8 }, /area/station/medical/medbay/lobby) -"nCp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/supply/visible{ - dir = 1 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/medical/pathology) "nCE" = ( /obj/machinery/door/airlock{ id_tag = "Cell1"; @@ -49297,6 +49388,9 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_edge, /area/station/ai_monitored/security/armory) +"nSl" = ( +/turf/closed/wall/r_wall, +/area/station/medical/pathology) "nSm" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 4 @@ -49843,6 +49937,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/execution/transfer) +"oaw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/obj/machinery/computer/diseasesplicer, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/pathology) "oaA" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -50018,6 +50119,12 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"odK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/department/medical/central) "odX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50035,6 +50142,19 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, /area/station/science/research) +"oeg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/dark_green/filled/warning{ + dir = 8 + }, +/obj/effect/landmark/start/virologist, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_edge{ + dir = 4 + }, +/area/station/medical/pathology) "oej" = ( /obj/effect/turf_decal/weather/sand{ dir = 4 @@ -50148,6 +50268,17 @@ /obj/machinery/requests_console/auto_name/directional/north, /turf/open/floor/iron/freezer, /area/station/medical/surgery) +"ofm" = ( +/obj/structure/toilet/greyscale{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "ofo" = ( /obj/effect/turf_decal/delivery, /obj/machinery/space_heater, @@ -50240,6 +50371,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/research) +"ogF" = ( +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/medical/pathology) "ogL" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -50425,15 +50563,6 @@ dir = 4 }, /area/station/maintenance/disposal/incinerator) -"ojc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/grunge{ - id_tag = "Cell1Privacy"; - name = "Cell 1" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/prison/safe) "ojJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50549,17 +50678,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/science/robotics/lab) -"okV" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 10 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "okX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50917,13 +51035,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/crew_quarters/bar) -"oqM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/obj/machinery/computer/diseasesplicer, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "ore" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -51366,6 +51477,20 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/white, /area/station/medical/storage) +"owD" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/effect/landmark/start/prisoner, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/machinery/button/curtain{ + id = "Cell1Privacy"; + pixel_x = -4; + pixel_y = 24 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "owF" = ( /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /obj/effect/turf_decal/stripes/line, @@ -51582,17 +51707,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/ce) -"oAf" = ( -/obj/structure/closet/secure_closet/medical1, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 1 - }, -/obj/machinery/light_switch/directional/north, -/obj/effect/turf_decal/bot, -/obj/machinery/light/cold/directional/north, -/obj/item/crowbar/red, -/turf/open/floor/iron/white/textured_edge, -/area/station/medical/pathology) "oAo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51762,21 +51876,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/greater) -"oCP" = ( -/obj/machinery/door/airlock/virology/glass{ - name = "Virology Lab" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "oCY" = ( /obj/structure/chair/office{ dir = 8 @@ -52039,6 +52138,15 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron/textured, /area/station/maintenance/starboard/greater) +"oGd" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/item/stack/sheet/iron/fifty, +/obj/item/storage/toolbox/mechanical, +/obj/item/flashlight, +/obj/item/clothing/glasses/meson/engine, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/main) "oGk" = ( /obj/machinery/recharge_station, /obj/machinery/requests_console/directional/east{ @@ -52367,18 +52475,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/science/ordnance_maint) -"oLN" = ( -/obj/structure/bed/medical/emergency{ - dir = 4 - }, -/obj/machinery/iv_drip, -/obj/item/bedsheet/medical, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/box/blue, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/pathology) "oLS" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52715,6 +52811,13 @@ }, /turf/open/floor/iron/textured_large, /area/station/cargo/storage) +"oQU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/pathology) "oRj" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/cable, @@ -52824,17 +52927,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood/large, /area/station/hallway/primary/central/fore) -"oSw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "oSy" = ( /obj/structure/table/wood, /obj/machinery/status_display/evac/directional/east, @@ -52959,20 +53051,6 @@ /obj/effect/turf_decal/tile/red/diagonal_centre, /turf/open/floor/iron/dark/diagonal, /area/station/hallway/secondary/exit/departure_lounge) -"oUn" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 8 - }, -/obj/machinery/microwave{ - desc = "Cooks and boils stuff, somehow."; - pixel_x = -2; - pixel_y = 5 - }, -/turf/open/floor/iron/white/textured_edge{ - dir = 4 - }, -/area/station/medical/pathology) "oUo" = ( /obj/structure/cable, /obj/effect/spawner/random/trash/garbage, @@ -52990,15 +53068,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) -"oUG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "oUR" = ( /obj/structure/flora/bush/fullgrass, /obj/structure/flora/bush/ferny, @@ -53059,6 +53128,20 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/carpet/black, /area/station/commons/dorms) +"oVu" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = 4 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 4 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/white/herringbone, +/area/station/medical/pathology) "oVv" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -53489,12 +53572,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/hallway/primary/fore) -"paz" = ( -/mob/living/carbon/human/species/monkey, -/obj/structure/flora/bush/lavendergrass/style_random, -/obj/structure/sign/poster/official/fruit_bowl/directional/west, -/turf/open/floor/grass, -/area/station/medical/pathology) "paA" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/bot, @@ -53504,6 +53581,30 @@ dir = 1 }, /area/station/engineering/lobby) +"paC" = ( +/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/dark_green/filled/corner{ + dir = 1 + }, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_corner{ + dir = 1 + }, +/area/station/medical/pathology) +"paL" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/item/food/grown/banana, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/window/right/directional/east{ + name = "Monkey Pen"; + req_access = list("pathology") + }, +/turf/open/floor/grass, +/area/station/medical/pathology) "paM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/textured_large, @@ -54320,6 +54421,17 @@ dir = 8 }, /area/station/medical/medbay/lobby) +"pjQ" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 1 + }, +/obj/machinery/light_switch/directional/north, +/obj/effect/turf_decal/bot, +/obj/machinery/light/cold/directional/north, +/obj/item/crowbar/red, +/turf/open/floor/iron/white/textured_edge, +/area/station/medical/pathology) "pjT" = ( /turf/closed/wall, /area/station/cargo/drone_bay) @@ -55252,6 +55364,10 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/iron/textured, /area/station/maintenance/aft/lesser) +"pyE" = ( +/obj/machinery/atmospherics/miner/plasma, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "pyQ" = ( /turf/open/floor/iron/stairs/medium{ dir = 4 @@ -55498,13 +55614,6 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"pCd" = ( -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/medical/pathology) "pCl" = ( /obj/machinery/light/warm/directional/east, /obj/structure/bed/double, @@ -55897,43 +56006,6 @@ dir = 8 }, /area/station/commons/fitness/recreation/entertainment) -"pId" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/o_plus{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/reagent_containers/blood/o_minus, -/obj/item/reagent_containers/blood/b_plus, -/obj/item/reagent_containers/blood/b_minus, -/obj/item/reagent_containers/blood/a_plus, -/obj/item/reagent_containers/blood/a_minus, -/obj/item/reagent_containers/blood/lizard, -/obj/item/reagent_containers/blood/ethereal, -/obj/item/reagent_containers/blood{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/reagent_containers/blood{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/reagent_containers/blood{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 1 - }, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/white/textured_edge, -/area/station/medical/pathology) "pIi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56197,6 +56269,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/engine/atmos) +"pLJ" = ( +/obj/machinery/vending/wardrobe/viro_wardrobe, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "pLL" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -56322,20 +56402,6 @@ }, /turf/open/floor/iron/edge, /area/station/service/hydroponics) -"pNw" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/beaker{ - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe{ - pixel_y = 4 - }, -/obj/item/reagent_containers/dropper{ - pixel_y = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/pathology) "pNx" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -56534,21 +56600,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/warden) -"pQY" = ( -/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/dark_green/filled/line{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white/textured_edge{ - dir = 4 - }, -/area/station/medical/pathology) "pRr" = ( /mob/living/basic/spider/giant/hunter/scrawny, /obj/machinery/light/small/directional/south, @@ -56956,17 +57007,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/science/lab) -"pXg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_green/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron/white/textured_corner{ - dir = 8 - }, -/area/station/medical/pathology) "pXj" = ( /obj/effect/turf_decal/tile/red/anticorner{ dir = 8 @@ -57095,6 +57135,28 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/break_room) +"pXZ" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/infections, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 4 + }, +/obj/structure/reagent_dispensers/wall/virusfood/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Virology - Laboratory"; + name = "virology camera"; + network = list("ss13","medbay","virology") + }, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "pYc" = ( /obj/structure/girder, /obj/structure/grille/broken, @@ -57475,17 +57537,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/commons/storage/primary) -"qbc" = ( -/obj/structure/toilet/greyscale{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "qbl" = ( /obj/effect/turf_decal/siding/thinplating, /obj/machinery/door/firedoor, @@ -57550,10 +57601,6 @@ "qbS" = ( /turf/open/floor/iron/textured, /area/station/maintenance/port) -"qbX" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/medical/pathology) "qca" = ( /obj/machinery/cryopod{ dir = 1 @@ -57609,11 +57656,6 @@ dir = 8 }, /area/station/engineering/atmos) -"qct" = ( -/obj/effect/spawner/random/trash/garbage, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/medical/central) "qcB" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -58547,15 +58589,6 @@ dir = 1 }, /area/station/science/robotics/lab) -"qpM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/grunge{ - id_tag = "Cell4Privacy"; - name = "Cell 4" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/prison/safe) "qpR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/assistant, @@ -58703,6 +58736,15 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/medical) +"qsQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_green/filled/warning{ + dir = 9 + }, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "qsW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -58903,6 +58945,36 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/main) +"qvv" = ( +/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/dark_green/filled/warning{ + dir = 4 + }, +/obj/machinery/door_buttons/airlock_controller{ + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Console"; + pixel_x = 24; + pixel_y = -24; + req_access = list("pathology") + }, +/obj/machinery/duct, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + name = "Virology Junction"; + sortType = 27 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/medbay/virology, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "qvU" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -58985,6 +59057,16 @@ dir = 1 }, /area/station/security/office) +"qyc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/cloth/fancy/mechanical{ + icon_state = "bounty-open"; + icon_type = "bounty"; + id = "Cell4Privacy"; + name = "curtain" + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) "qyg" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -59292,25 +59374,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qBO" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/suit/hooded/ablative{ - pixel_y = 7 - }, -/obj/item/gun/energy/temperature/security{ - pixel_y = 5 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9; - pixel_x = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/dark/textured_large, -/area/station/ai_monitored/security/armory) "qBR" = ( /obj/structure/transit_tube, /obj/structure/lattice, @@ -59998,38 +60061,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/command/teleporter) -"qLq" = ( -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/structure/cable, -/obj/machinery/door_buttons/access_button{ - dir = 1; - idDoor = "virology_airlock_exterior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_y = -26; - req_access = list("pathology") - }, -/obj/machinery/door/airlock/virology{ - autoclose = 0; - frequency = 1449; - id_tag = "virology_airlock_exterior"; - name = "Virology Exterior Airlock" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "qLu" = ( /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/science/xenobiology) @@ -60373,19 +60404,6 @@ /obj/item/clothing/head/cone, /turf/open/floor/iron/textured, /area/station/maintenance/department/crew_quarters/bar) -"qRj" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Medbay - Virology Access"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "qRv" = ( /obj/structure/table, /obj/effect/spawner/random/trash/food_packaging, @@ -60661,6 +60679,14 @@ dir = 1 }, /area/station/engineering/atmos) +"qUh" = ( +/obj/machinery/door/window/brigdoor/left/directional/south{ + name = "Secure Creature Pen"; + req_access = list("xenobiology") + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/science/xenobiology) "qUl" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -60816,16 +60842,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/textured_large, /area/station/security/medical) -"qVR" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/cloth/fancy/mechanical{ - icon_state = "bounty-open"; - icon_type = "bounty"; - id = "Cell6Privacy"; - name = "curtain" - }, -/turf/open/floor/plating, -/area/station/security/prison/safe) "qVT" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/wood{ @@ -60913,6 +60929,17 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/textured_large, /area/station/command/gateway) +"qXx" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 4 + }, +/obj/structure/sink/directional/west, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "qXG" = ( /obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, /obj/structure/disposalpipe/segment, @@ -61226,6 +61253,14 @@ dir = 1 }, /area/station/hallway/primary/aft) +"rbY" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "rcf" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, @@ -61714,6 +61749,16 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/command/bridge) +"rjG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "rjI" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -62913,22 +62958,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood/large, /area/station/service/library) -"rCy" = ( -/obj/machinery/door/poddoor/preopen{ - id = "Xtestlab"; - name = "Test Chamber Blast Door" - }, -/obj/effect/decal/cleanable/blood/xtracks, -/obj/item/toy/toy_xeno, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/window/brigdoor/left/directional/north{ - name = "Secure Creature Pen"; - req_access = list("xenobiology") - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "rCB" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, @@ -63127,6 +63156,20 @@ dir = 8 }, /area/station/hallway/primary/aft) +"rFs" = ( +/obj/structure/table/glass, +/obj/item/folder/white{ + pixel_y = 4 + }, +/obj/item/pen/red{ + pixel_y = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/white/herringbone, +/area/station/medical/pathology) "rFx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -63277,6 +63320,16 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/engineering/atmos/hfr_room) +"rHT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/cloth/fancy/mechanical{ + icon_state = "bounty-open"; + icon_type = "bounty"; + id = "Cell6Privacy"; + name = "curtain" + }, +/turf/open/floor/plating, +/area/station/security/prison/safe) "rHX" = ( /obj/effect/turf_decal/siding/green/corner{ dir = 4 @@ -63455,6 +63508,21 @@ /obj/effect/turf_decal/box, /turf/open/floor/pod, /area/station/service/chapel/funeral) +"rKY" = ( +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation B" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/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/pathology) "rKZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -63525,6 +63593,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/freezer, /area/station/medical/chemistry) +"rLI" = ( +/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/white/textured_large, +/area/station/medical/pathology) "rLK" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -63728,6 +63804,11 @@ "rOQ" = ( /turf/open/floor/iron/textured, /area/station/maintenance/department/engine/atmos) +"rPg" = ( +/obj/effect/spawner/random/trash/garbage, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/department/medical/central) "rPp" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/white/textured_large, @@ -64179,15 +64260,6 @@ }, /turf/open/floor/wood/large, /area/station/service/theater) -"rUC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/grunge{ - id_tag = "Cell5Privacy"; - name = "Cell 5" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/prison/safe) "rUE" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -64604,21 +64676,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/pod/dark, /area/station/service/chapel) -"scE" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 6 - }, -/obj/machinery/light_switch/directional/south, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/box, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "scI" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -65100,9 +65157,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron/textured, /area/station/maintenance/department/crew_quarters/bar) -"sjV" = ( -/turf/closed/wall, -/area/station/security/prison/safe) "sjW" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 4 @@ -65446,11 +65500,6 @@ }, /turf/open/floor/carpet/royalblack, /area/station/command/heads_quarters/hos) -"soY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/medical/pathology) "soZ" = ( /obj/effect/turf_decal/nova_decals/enclave/top/middle{ color = "#52B4E9" @@ -65559,13 +65608,6 @@ }, /turf/open/floor/grass, /area/station/service/hydroponics/upper) -"sqo" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/virologist, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "sqD" = ( /obj/structure/table/optable, /obj/effect/turf_decal/tile/blue/full, @@ -65738,20 +65780,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/greater) -"stk" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/effect/landmark/start/prisoner, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/button/curtain{ - id = "Cell2Privacy"; - pixel_x = -4; - pixel_y = 24 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "sts" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65768,6 +65796,14 @@ /obj/structure/chair/office/light, /turf/open/floor/iron/large, /area/station/science/lab) +"stE" = ( +/obj/structure/flora/bush/sparsegrass, +/obj/structure/window/reinforced/spawner/directional/east{ + layer = 2.9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/grass, +/area/station/medical/pathology) "stJ" = ( /obj/machinery/door/airlock/wood{ name = "Closet" @@ -65865,15 +65901,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron/textured, /area/station/maintenance/aft/lesser) -"suM" = ( -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Medical Maintenance" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/medical/central) "svh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/lawyer, @@ -65926,6 +65953,21 @@ }, /turf/open/floor/iron/textured_edge, /area/station/engineering/atmos) +"svJ" = ( +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation A" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/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/pathology) "svT" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 @@ -66559,6 +66601,15 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) +"sEJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/white/textured_large, +/area/station/medical/pathology) "sEK" = ( /obj/machinery/door/poddoor/incinerator_atmos_main, /turf/open/floor/engine, @@ -67500,15 +67551,6 @@ }, /turf/open/floor/iron/textured, /area/station/maintenance/department/science/xenobiology) -"sOG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/sink/directional/south, -/obj/structure/sign/poster/official/cleanliness/directional/north, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "sOJ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -67588,20 +67630,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"sQc" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/effect/landmark/start/prisoner, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/button/curtain{ - id = "Cell4Privacy"; - pixel_x = -4; - pixel_y = 24 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "sQk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/green{ @@ -67759,6 +67787,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, /area/station/medical/chemistry) +"sSv" = ( +/obj/structure/table/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 9 + }, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "sSx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68288,20 +68327,6 @@ /obj/structure/girder, /turf/open/floor/iron/textured, /area/station/maintenance/department/crew_quarters/bar) -"sZC" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 4 - }, -/obj/machinery/light/warm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "sZG" = ( /obj/machinery/computer/records/security, /obj/structure/sign/calendar/directional/north, @@ -68460,15 +68485,6 @@ /obj/structure/cable, /turf/open/floor/wood/large, /area/station/security/courtroom) -"tbw" = ( -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/item/stack/sheet/iron/fifty, -/obj/item/storage/toolbox/mechanical, -/obj/item/flashlight, -/obj/item/clothing/glasses/meson/engine, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/main) "tbD" = ( /obj/effect/turf_decal/trimline/dark_red/arrow_ccw, /obj/structure/disposalpipe/junction{ @@ -68595,18 +68611,6 @@ "tdv" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/testlab) -"tdB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark_green/filled/warning{ - dir = 4 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "tdG" = ( /obj/structure/chair/stool/directional/west{ dir = 4 @@ -68626,6 +68630,15 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port) +"tdS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + id_tag = "Cell5Privacy"; + name = "Cell 5" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/prison/safe) "tdY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69202,6 +69215,23 @@ }, /turf/open/space/basic, /area/space) +"tlZ" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 4 + }, +/obj/item/storage/box/beakers{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/syringes, +/obj/structure/sign/warning/biohazard/directional/east, +/obj/item/storage/box/monkeycubes/mousecubes, +/obj/item/storage/box/monkeycubes/mousecubes, +/turf/open/floor/iron/white/textured_edge{ + dir = 8 + }, +/area/station/medical/pathology) "tmb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/light/small/directional/west, @@ -69561,16 +69591,6 @@ }, /turf/open/floor/engine, /area/station/science/auxlab/firing_range) -"tqC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "tqM" = ( /obj/machinery/pdapainter/security, /obj/machinery/newscaster/directional/east, @@ -69715,6 +69735,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) +"tsC" = ( +/obj/structure/flora/bush/sparsegrass, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/grass, +/area/station/medical/pathology) "tsG" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -70113,23 +70138,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/office) -"txt" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 4 - }, -/obj/item/storage/box/beakers{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/syringes, -/obj/structure/sign/warning/biohazard/directional/east, -/obj/item/storage/box/monkeycubes/mousecubes, -/obj/item/storage/box/monkeycubes/mousecubes, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "txu" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/fore) @@ -70137,6 +70145,13 @@ /obj/machinery/vending/cigarette, /turf/open/floor/iron/textured, /area/station/maintenance/department/engine/atmos) +"txO" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 10 + }, +/obj/machinery/disease2/diseaseanalyser, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "txV" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -70404,6 +70419,15 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/textured, /area/station/hallway/secondary/construction) +"tAx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + id_tag = "Cell4Privacy"; + name = "Cell 4" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/prison/safe) "tAD" = ( /obj/machinery/door/airlock/external{ name = "External Solar Access" @@ -70750,6 +70774,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/service/chapel/office) +"tFQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/sink/directional/south, +/obj/structure/sign/poster/official/cleanliness/directional/north, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "tFW" = ( /obj/effect/turf_decal/trimline/dark_red/arrow_cw{ dir = 1 @@ -70817,6 +70850,16 @@ }, /turf/open/floor/vault, /area/station/ai_monitored/turret_protected/aisat/atmos) +"tGt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "tGJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -71707,6 +71750,16 @@ }, /turf/open/floor/iron/textured, /area/station/command/cc_dock) +"tVR" = ( +/obj/structure/flora/bush/sparsegrass, +/obj/structure/window/reinforced/spawner/directional/east{ + layer = 2.9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/medical/pathology) "tVX" = ( /obj/effect/spawner/random/trash/garbage, /obj/effect/decal/cleanable/dirt, @@ -71722,6 +71775,10 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) +"tWl" = ( +/obj/machinery/atmospherics/miner/n2o, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "tWD" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -72358,6 +72415,19 @@ /obj/structure/window/fulltile, /turf/open/floor/grass, /area/station/commons/fitness/recreation/entertainment) +"ufE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/sign/warning/biohazard/directional/south, +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/obj/machinery/light/cold/directional/south, +/obj/machinery/computer/records/pathology{ + dir = 1 + }, +/turf/open/floor/iron/white/diagonal, +/area/station/medical/pathology) "ufS" = ( /turf/closed/wall, /area/station/hallway/primary/aft) @@ -72429,20 +72499,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/cyan, /area/station/commons/dorms) -"uhb" = ( -/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/stripes/line{ - dir = 8 - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "uhe" = ( /turf/closed/wall, /area/station/cargo/lobby) @@ -73623,16 +73679,6 @@ }, /turf/open/floor/carpet/cyan, /area/station/command/heads_quarters/blueshield) -"uvX" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/tile/dark_green/diagonal_centre, -/turf/open/floor/iron/white/diagonal, -/area/station/medical/pathology) "uwg" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -74142,10 +74188,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/cargo/sorting) -"uCn" = ( -/obj/machinery/atmospherics/miner/plasma, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) "uCv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/loading_area/red{ @@ -74581,17 +74623,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured_edge, /area/station/cargo/miningdock) -"uIo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/machinery/duct, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/turf/open/floor/iron/white/textured_large, -/area/station/medical/pathology) "uIw" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, @@ -74914,20 +74945,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/science/xenobiology) -"uNN" = ( -/obj/structure/table/glass, -/obj/item/folder/white{ - pixel_y = 4 - }, -/obj/item/pen/red{ - pixel_y = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/pathology) "uNY" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/cable, @@ -74954,18 +74971,6 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/hallway/secondary/command) -"uOs" = ( -/obj/structure/table/glass, -/obj/item/clothing/gloves/latex, -/obj/item/healthanalyzer, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/science, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/pathology) "uOt" = ( /obj/structure/rack, /obj/machinery/status_display/ai/directional/north, @@ -75305,16 +75310,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/cargo/sorting) -"uTK" = ( -/obj/structure/flora/bush/sparsegrass, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/medical/pathology) "uTT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -75533,6 +75528,39 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/textured_large, /area/station/construction/mining/aux_base) +"uWV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/dark_green/line{ + dir = 8 + }, +/obj/structure/closet/secure_closet/wall/directional/west{ + name = "Pathologist Equipment" + }, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/gloves/latex, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/obj/item/reagent_containers/cup/tube, +/obj/item/device/antibody_scanner, +/obj/item/device/antibody_scanner, +/obj/item/device/antibody_scanner, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 9 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/pathology) "uWW" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -75852,6 +75880,16 @@ }, /turf/open/floor/pod/dark, /area/station/service/chapel/funeral) +"vcw" = ( +/obj/machinery/shower{ + pixel_y = 16 + }, +/obj/structure/drain, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/stripes/box, +/obj/effect/turf_decal/siding/thinplating/dark/end, +/turf/open/floor/iron/checker, +/area/station/medical/pathology) "vcx" = ( /obj/structure/transit_tube/horizontal{ dir = 1 @@ -75860,20 +75898,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/transit_tube) -"vcy" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/effect/landmark/start/prisoner, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/button/curtain{ - id = "Cell6Privacy"; - pixel_x = -4; - pixel_y = 24 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "vcW" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -76599,9 +76623,6 @@ }, /turf/open/floor/pod, /area/station/service/chapel/funeral) -"vnu" = ( -/turf/closed/wall/r_wall, -/area/station/medical/pathology) "vnv" = ( /mob/living/simple_animal/bot/secbot/beepsky/officer, /turf/open/floor/iron/dark/textured_large, @@ -77113,14 +77134,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central/aft) -"vvS" = ( -/obj/effect/mapping_helpers/airlock/access/any/medical/chemistry, -/obj/machinery/door/airlock/research{ - name = "Chemical Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/medical/central) "vvT" = ( /obj/machinery/door/firedoor/heavy, /obj/effect/turf_decal/stripes/line{ @@ -77359,23 +77372,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"vyQ" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Virology - Hallway"; - name = "virology camera"; - network = list("ss13","medbay","virology") - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "vzg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage, @@ -77476,6 +77472,12 @@ dir = 4 }, /area/station/medical/office) +"vAH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/supply/visible{ + dir = 1 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/medical/pathology) "vAT" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/decal/cleanable/dirt, @@ -77944,11 +77946,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos/hfr_room) -"vHy" = ( -/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/pathology) "vHM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -77978,6 +77975,18 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/brig) +"vIo" = ( +/obj/structure/toilet/greyscale{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/newscaster/directional/north, +/obj/effect/spawner/random/contraband/prison, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "vIt" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 @@ -78069,6 +78078,18 @@ }, /turf/open/floor/grass, /area/station/command/heads_quarters/nt_rep) +"vJH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_edge{ + dir = 4 + }, +/area/station/medical/pathology) "vJI" = ( /obj/structure/chair/office, /obj/machinery/newscaster/directional/east, @@ -78279,23 +78300,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/textured, /area/station/maintenance/department/engine/atmos) -"vMv" = ( -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - department = "Virology"; - name = "Virology Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/item/folder/white, -/obj/item/pen/red, -/turf/open/floor/iron/white/textured_edge, -/area/station/medical/pathology) "vMO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -78663,21 +78667,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, /area/station/medical/chemistry) -"vSg" = ( -/obj/machinery/door/airlock/virology/glass{ - name = "Isolation A" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/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/pathology) "vSj" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/delivery, @@ -79122,6 +79111,17 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel) +"vYn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/mirror/directional/east, +/obj/structure/sink/directional/west, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "vYI" = ( /obj/structure/chair/pew/left, /turf/open/floor/iron/chapel{ @@ -79527,11 +79527,6 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/science/ordnance_maint) -"wdQ" = ( -/obj/structure/flora/bush/large, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/grass, -/area/station/medical/pathology) "wel" = ( /obj/effect/turf_decal/trimline/blue/mid_joiner, /turf/open/space/basic, @@ -79741,16 +79736,6 @@ /obj/structure/table/wood/fancy, /turf/open/floor/pod/dark, /area/station/service/chapel) -"whu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "whS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/gateway, @@ -79927,19 +79912,6 @@ dir = 1 }, /area/station/engineering/power_room) -"wkP" = ( -/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/dark_green/filled/corner{ - dir = 1 - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured_corner{ - dir = 1 - }, -/area/station/medical/pathology) "wkT" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 8 @@ -80173,14 +80145,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/space/nearstation) -"woA" = ( -/mob/living/carbon/human/species/monkey, -/obj/structure/flora/bush/sparsegrass, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/turf/open/floor/grass, -/area/station/medical/pathology) "woB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/large, @@ -82356,6 +82320,21 @@ }, /turf/open/floor/pod/dark, /area/station/service/chapel/office) +"wQC" = ( +/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/dark_green/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/white/textured_edge{ + dir = 4 + }, +/area/station/medical/pathology) "wQL" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 5 @@ -82795,6 +82774,14 @@ dir = 8 }, /area/station/science/lab) +"xbc" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Air to Distro" + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/textured, +/area/station/medical/pathology) "xbj" = ( /obj/machinery/computer/atmos_alert, /obj/structure/cable, @@ -83059,18 +83046,6 @@ }, /turf/open/floor/iron/textured, /area/station/engineering/atmos) -"xgv" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 4 - }, -/obj/structure/sign/poster/official/cleanliness/directional/east, -/obj/effect/turf_decal/bot, -/obj/machinery/light/cold/directional/east, -/obj/machinery/disease2/incubator, -/turf/open/floor/iron/white/textured_edge{ - dir = 8 - }, -/area/station/medical/pathology) "xgy" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -83143,6 +83118,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/service/chapel) +"xhm" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/effect/landmark/start/prisoner, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/machinery/button/curtain{ + id = "Cell3Privacy"; + pixel_x = -4; + pixel_y = 24 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison/safe) "xhq" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/east, @@ -83840,6 +83829,11 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/command/heads_quarters/captain/private) +"xqp" = ( +/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/pathology) "xqq" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/half{ @@ -84563,6 +84557,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/small, /area/station/commons/dorms) +"xAX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/textured_edge{ + dir = 4 + }, +/area/station/medical/pathology) "xBm" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/chair/sofa/bench/right{ @@ -84589,25 +84595,6 @@ }, /turf/open/floor/iron/textured, /area/station/science/ordnance/testlab) -"xBD" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/beaker{ - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe{ - pixel_y = 4 - }, -/obj/item/reagent_containers/dropper{ - pixel_y = 4 - }, -/obj/machinery/camera{ - c_tag = "Medbay - Virology Ward 2"; - dir = 4; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white/herringbone, -/area/station/medical/pathology) "xBE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -85413,16 +85400,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/textured, /area/station/service/chapel) -"xPg" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/cloth/fancy/mechanical{ - icon_state = "bounty-open"; - icon_type = "bounty"; - id = "Cell1Privacy"; - name = "curtain" - }, -/turf/open/floor/plating, -/area/station/security/prison/safe) "xPs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -85517,12 +85494,33 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"xQV" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ + dir = 6 + }, +/obj/effect/spawner/random/structure/tank_holder, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/medical/pathology) "xRh" = ( /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/small, /area/station/hallway/secondary/exit/departure_lounge) +"xRr" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 8 + }, +/obj/machinery/microwave{ + desc = "Cooks and boils stuff, somehow."; + pixel_x = -2; + pixel_y = 5 + }, +/turf/open/floor/iron/white/textured_edge{ + dir = 4 + }, +/area/station/medical/pathology) "xRu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -85842,6 +85840,15 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/medical/morgue) +"xUF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + id_tag = "Cell6Privacy"; + name = "Cell 6" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/security/prison/safe) "xUK" = ( /obj/structure/disposaloutlet{ dir = 1; @@ -86194,20 +86201,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron/textured, /area/station/maintenance/port/central) -"yaf" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/effect/landmark/start/prisoner, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/button/curtain{ - id = "Cell1Privacy"; - pixel_x = -4; - pixel_y = 24 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/prison/safe) "yaj" = ( /turf/closed/wall, /area/station/cargo/miningoffice) @@ -86892,6 +86885,10 @@ /obj/structure/window/reinforced/plasma/spawner/directional/west, /turf/open/floor/iron/textured_large, /area/station/engineering/atmos) +"ykN" = ( +/obj/structure/trash_pile, +/turf/open/floor/iron/textured, +/area/station/maintenance/department/medical/central) "ykT" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/machinery/door/poddoor/shutters/preopen{ @@ -103309,13 +103306,13 @@ ttw ttw xMq sxD -vnu -vnu -vnu -vnu -vnu -vnu -vnu +nSl +nSl +nSl +nSl +nSl +nSl +nSl jgz xMq ttw @@ -103563,23 +103560,23 @@ ttw ttw ttw ttw -vnu -vnu -dzh -vnu -cqf -paz -kmU -paz -wdQ -vnu -soY -qbX -qbX -vnu -vnu -vnu -vnu +nSl +nSl +oQU +nSl +buT +mvN +tsC +mvN +gKI +nSl +iNK +jtU +jtU +nSl +nSl +nSl +nSl ttw ttw ttw @@ -103820,24 +103817,24 @@ ttw ttw ttw ttw -vnu -mDd -pCd -vnu -woA -dBG -cmO -uTK -woA -vnu -iHU -oUn -hBV -vnu -bvV -hhO -qbX -qbX +nSl +irx +ogF +nSl +jew +stE +paL +tVR +jew +nSl +sSv +xRr +mHz +nSl +uWV +txO +jtU +jtU ttw ttw ttw @@ -104077,25 +104074,25 @@ ttw ttw ttw ttw -vnu -ivF -bKT -lNn -fVz -ihB -gvA -ihB -mKo -pQY -wkP -uIo -cIZ -oCP -kXw -aQo -atW -qbX -qbX +nSl +xQV +mYk +aoT +qsQ +vJH +oeg +vJH +xAX +wQC +paC +dQt +ngS +ikB +iqy +ifx +pLJ +jtU +jtU ttw ttw ttw @@ -104334,26 +104331,26 @@ ttw ttw ttw ttw -vnu -nCp -gAC -vnu -njV -dQO -vyQ -tdB -gdQ -bCw -sZC -cIz -scE -vnu -oAf -dQu -pXg -fNY -qbX -qbX +nSl +vAH +chH +nSl +knZ +fvS +itz +far +rbY +qXx +gde +qvv +dur +nSl +pjQ +rLI +gaV +dtV +jtU +jtU ttw ttw ttw @@ -104591,26 +104588,26 @@ ttw ttw ttw ttw -vnu -bmv -cqz -vnu -ivS -ihA -vnu -vSg -ivS -vnu -vnu -fXr -vnu -vnu -pId -oUG -oqM -bQy -okV -qbX +nSl +xbc +imH +nSl +gMI +rKY +nSl +svJ +gMI +nSl +nSl +ggk +nSl +nSl +kxc +sEJ +oaw +jsY +kTE +jtU ttw ttw ttw @@ -104848,26 +104845,26 @@ ttw ttw ttw ttw -vnu -gPi -gPi -vnu -bNs -vHy -ivS -vHy -oLN -vnu -sOG -uhb -qRj -vnu -vMv -sqo -bGR -sqo -kzj -qbX +nSl +jCg +jCg +nSl +jzu +xqp +gMI +xqp +ahM +nSl +tFQ +dxT +lIf +nSl +khl +aoJ +fSj +aoJ +eQE +jtU ttw ttw ttw @@ -105105,26 +105102,26 @@ ttw ttw ttw ttw -vnu -vnu -vnu -vnu -pNw -btY -ivS -uNN -xBD -vnu -ltw -kEM -gAh -vnu -fZs -lva -xgv -txt -uOs -qbX +nSl +nSl +nSl +nSl +oVu +lkx +gMI +rFs +gKJ +nSl +vcw +gVs +ufE +nSl +bxl +pXZ +aEi +tlZ +bAZ +jtU ttw ttw ttw @@ -105302,9 +105299,9 @@ kVR jRP abP nlj -mIH -rCy -cfa +uiw +djO +qUh sYn vBO ktF @@ -105365,16 +105362,16 @@ ttw ttw cvH rDa -vnu -vnu -vnu -vnu -vnu -vnu -vnu -uvX -cPj -cPF +nSl +nSl +nSl +nSl +nSl +nSl +nSl +eNa +mgb +jWD lAB lAB lAB @@ -105628,10 +105625,10 @@ caK jGF eFg sCH -vnu -vnu -qLq -vnu +nSl +nSl +jkc +nSl lAB xYA fWu @@ -109515,11 +109512,11 @@ lMS ipg nhc qst -mVF +cMW taI fSa vKC -liY +hTX oWS fSa rfo @@ -109529,15 +109526,15 @@ fSa xMq fSa rJe -dkF +hPF qiF fSa gCG -uCn +pyE mOn fSa tdr -iQz +tWl fCb fSa gtG @@ -117192,7 +117189,7 @@ oZE cwt dfF abQ -vvS +gIV fiN fiN dtH @@ -117448,9 +117445,9 @@ haq aQR tGY dfF -eDJ -qct -nkv +cZD +rPg +mNu qJZ mCy eID @@ -117704,8 +117701,8 @@ cgT pUJ dfi pNq -suM -aWG +kTx +hgv cay fiN pdh @@ -117962,8 +117959,8 @@ uGq lHf aWZ dfF -cOm -fOv +odK +ykN fiN lUt goS @@ -118219,7 +118216,7 @@ oBA ajT sMs fDn -axN +jZJ fDn ifq cII @@ -120060,7 +120057,7 @@ xvD gLP vWI oCl -glS +ifW tUK jQL bZi @@ -120315,7 +120312,7 @@ mXO fGl iTd gLP -tbw +oGd hLh pDk tUK @@ -121088,7 +121085,7 @@ cge mxk jQq cWB -gME +mAx tUK nYt bZi @@ -126890,7 +126887,7 @@ vwn ewC ybu cDc -qBO +ktQ pKY nRV iqx @@ -132540,14 +132537,14 @@ dHS eTa bpy agC -dQX -iYH -sjV -dQX -iYH -sjV -dGL -iYH +bNp +hWN +fAX +bNp +hWN +fAX +vIo +hWN pQm eDY mpF @@ -132797,14 +132794,14 @@ yak noj xNf agC -aIV -tqC -sjV -yaf -tqC -sjV -stk -tqC +xhm +tGt +fAX +owD +tGt +fAX +dNl +tGt pQm fCo mpF @@ -133054,14 +133051,14 @@ iFY hnt vzN agC -imS -fJz -sjV -xPg -ojc -sjV -lML -lZl +cVf +lWT +fAX +lRf +kZx +fAX +hVB +kvo iyU hdK vkC @@ -135624,14 +135621,14 @@ jPN jPN jPN arU -efi -qpM -sjV -dYB -rUC -sjV -qVR -aBT +qyc +tAx +fAX +aAo +tdS +fAX +rHT +xUF iyU uUL lne @@ -135881,14 +135878,14 @@ ttw ttw ttw tHI -sQc -whu -sjV -miz -whu -sjV -vcy -whu +gqx +rjG +fAX +mmS +rjG +fAX +jOW +rjG iyU mPb ueS @@ -136138,14 +136135,14 @@ ttw ttw ttw tHI -qbc -oSw -sjV -qbc -oSw -sjV -qbc -oSw +ofm +vYn +fAX +ofm +vYn +fAX +ofm +vYn iyU taX sLX diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 410b5b4c822ed1..96f3893bee52ae 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -11750,6 +11750,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"cFm" = ( +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay" + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "cFn" = ( /obj/structure/table/wood, /obj/item/storage/photo_album{ @@ -17987,27 +18007,6 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"eEO" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Treatment Center" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/door/firedoor, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "eFd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/plasticflaps/opaque{ @@ -20885,18 +20884,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"fCT" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Medical Maintenance Hatch" - }, -/obj/machinery/duct, -/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/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/crew_quarters/dorms) "fDk" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -21670,6 +21657,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) +"fNZ" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Treatment Center" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/door/firedoor, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "fOs" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, @@ -27900,6 +27905,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"hVX" = ( +/obj/machinery/asteroid_magnet{ + center_x = 218; + center_y = 82; + area_size = 7 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/explab) "hVY" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/filingcabinet/chestdrawer{ @@ -28822,23 +28836,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"iku" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Treatment Center" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "ikL" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box, @@ -34080,6 +34077,18 @@ }, /turf/open/floor/plating, /area/station/science/lab) +"jRJ" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Medical Maintenance Hatch" + }, +/obj/machinery/duct, +/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/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/crew_quarters/dorms) "jRP" = ( /obj/machinery/incident_display/tram{ pixel_x = -32 @@ -36880,6 +36889,24 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"kKy" = ( +/obj/structure/rack, +/obj/item/gun/energy/disabler{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/disabler, +/obj/item/gun/energy/disabler{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/obj/item/gun/energy/taser, +/turf/open/floor/iron, +/area/station/ai_monitored/security/armory) "kKB" = ( /obj/machinery/door/airlock{ name = "Law Office" @@ -41125,15 +41152,6 @@ /obj/machinery/door/window/right/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/disposal) -"mbS" = ( -/obj/machinery/asteroid_magnet{ - center_x = 218; - center_y = 82; - area_size = 7 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/explab) "mbX" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Control" @@ -41796,21 +41814,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) -"mlS" = ( -/obj/structure/rack, -/obj/item/gun/energy/disabler{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/energy/disabler, -/obj/item/gun/energy/disabler{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron, -/area/station/ai_monitored/security/armory) "mlW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/displaycase/labcage, @@ -46233,6 +46236,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"nHL" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Treatment Center" + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "nHW" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -63914,6 +63934,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/execution/transfer) +"tnN" = ( +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay" + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "tnV" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -65255,26 +65294,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical) -"tLe" = ( -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay" - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "tLg" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -66898,6 +66917,27 @@ /obj/item/stack/ore/glass, /turf/open/floor/plating, /area/station/engineering/engine_smes) +"ump" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Treatment Center" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/door/firedoor, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "umu" = ( /obj/machinery/rnd/server/master, /turf/open/floor/circuit/telecomms/server, @@ -71958,25 +71998,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"vKR" = ( -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay" - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "vLn" = ( /obj/machinery/computer/atmos_alert{ dir = 8 @@ -75568,24 +75589,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"wQV" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Treatment Center" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/door/firedoor, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/security/brig_physician, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "wRg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -133103,7 +133106,7 @@ eaJ wTG ign frV -mbS +hVX xLN mrh xLN @@ -163868,7 +163871,7 @@ uPZ eSj dst xYC -mlS +kKy avf avg hgn @@ -174992,7 +174995,7 @@ lBQ sqQ lBQ apC -fCT +jRJ mBq dPS aOJ @@ -176014,7 +176017,7 @@ jtr jtr jtr xSZ -wQV +fNZ xSZ jtr jtr @@ -176776,7 +176779,7 @@ lNF wAI wAI enB -tLe +cFm bbD uck oJu @@ -177294,7 +177297,7 @@ wyd enF aHP aKq -iku +nHL aLe oIU aLB @@ -177804,7 +177807,7 @@ foh gxq gxq rjx -vKR +tnN eYP tIX vrj @@ -178584,7 +178587,7 @@ jtr jtr jtr xSZ -eEO +ump xSZ jtr jtr diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index ed8b47ddadd7bd..f343ab8f7a6c19 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -40,7 +40,7 @@ #define DNA_UNI_IDENTITY_BLOCKS 7 /// This number needs to equal the total number of DNA blocks -#define DNA_FEATURE_BLOCKS 16 +#define DNA_FEATURE_BLOCKS 20 #define DNA_MUTANT_COLOR_BLOCK 1 #define DNA_ETHEREAL_COLOR_BLOCK 2 @@ -58,6 +58,10 @@ #define DNA_MUSHROOM_CAPS_BLOCK 14 #define DNA_POD_HAIR_BLOCK 15 #define DNA_MUTANT_COLOR_SECONDARY 16 +#define DNA_ARM_WINGS_BLOCK 17 // NON-MODULE CHANGE +#define DNA_AVIAN_EARS_BLOCK 18 // NON-MODULE CHANGE +#define DNA_AVIAN_TAIL_BLOCK 19 // NON-MODULE CHANGE +#define DNA_FEATHER_COLOR_BLOCK 20 // NON-MODULE CHANGE #define DNA_SEQUENCE_LENGTH 4 #define DNA_MUTATION_BLOCKS 8 @@ -66,37 +70,19 @@ #define CLONER_FRESH_CLONE "fresh" #define CLONER_MATURE_CLONE "mature" - - -//species traits for mutantraces -#define MUTCOLORS 1 -#define NOTRANSSTING 2 -#define NOZOMBIE 3 -#define NO_UNDERWEAR 4 -#define NO_DNA_COPY 5 -#define DRINKSBLOOD 6 -#define ANIME 7 -#define MUTCOLORS_SECONDARY 8 -#define SPECIES_FUR 9 -#define SKINTONES 10 - /// Use this if you want to change the race's color without the player being able to pick their own color. AKA special color shifting #define DYNCOLORS 7 #define AGENDER 8 -/// Do not draw eyes or eyeless overlay -#define NOEYESPRITES 9 ///If we have a limb-specific overlay sprite -#define HAS_MARKINGS 10 +#define HAS_MARKINGS 9 /// Do not draw blood overlay -#define NOBLOODOVERLAY 11 +#define NOBLOODOVERLAY 10 ///No augments, for monkeys in specific because they will turn into fucking freakazoids https://cdn.discordapp.com/attachments/326831214667235328/791313258912153640/102707682-fa7cad80-4294-11eb-8f13-8c689468aeb0.png -#define NOAUGMENTS 12 +#define NOAUGMENTS 11 ///will be assigned a universal vampire themed last name shared by their department. this is preferenced! -#define BLOOD_CLANS 13 +#define BLOOD_CLANS 12 -#define REVIVESBYHEALING 14 -#define NOHUSK 15 -#define NOMOUTH 16 +#define REVIVESBYHEALING 13 //organ slots #define ORGAN_SLOT_ADAMANTINE_RESONATOR "adamantine_resonator" @@ -145,6 +131,7 @@ #define ORGAN_SLOT_EXTERNAL_ANIME_BOTTOM "anime_bottom" #define ORGAN_SLOT_EXTERNAL_FLORAN_LEAVES "floran_leaves" #define ORGAN_SLOT_EXTERNAL_FLUFF "fluff" +#define ORGAN_SLOT_EXTERNAL_FEATHERS "feathers" /// Xenomorph organ slots #define ORGAN_SLOT_XENO_ACIDGLAND "acid_gland" diff --git a/code/__DEFINES/atmospherics/atmos_core.dm b/code/__DEFINES/atmospherics/atmos_core.dm index 383e34f5c831f6..2544e9c9595044 100644 --- a/code/__DEFINES/atmospherics/atmos_core.dm +++ b/code/__DEFINES/atmospherics/atmos_core.dm @@ -29,13 +29,13 @@ /// kPa #define ONE_ATMOSPHERE 101.325 /// -270.3degC -#define TCMB 2.7 +#define TCMB CELCIUS_TO_KELVIN(-270.3 CELCIUS) /// 0degC -#define T0C 273.15 +#define T0C CELCIUS_TO_KELVIN(0 CELCIUS) /// 20degC -#define T20C 293.15 +#define T20C CELCIUS_TO_KELVIN(20 CELCIUS) /// -14C - Temperature used for kitchen cold room, medical freezer, etc. -#define COLD_ROOM_TEMP 259.15 +#define COLD_ROOM_TEMP CELCIUS_TO_KELVIN(-14 CELCIUS) /** *I feel the need to document what happens here. Basically this is used @@ -128,11 +128,11 @@ //FIRE ///Minimum temperature for fire to move to the next turf (150 °C or 433 K) -#define FIRE_MINIMUM_TEMPERATURE_TO_SPREAD (150+T0C) +#define FIRE_MINIMUM_TEMPERATURE_TO_SPREAD CELCIUS_TO_KELVIN(150 CELCIUS) ///Minimum temperature for fire to exist on a turf (100 °C or 373 K) -#define FIRE_MINIMUM_TEMPERATURE_TO_EXIST (100+T0C) +#define FIRE_MINIMUM_TEMPERATURE_TO_EXIST CELCIUS_TO_KELVIN(100 CELCIUS) ///Minimum temperature for items on fire -#define BURNING_ITEM_MINIMUM_TEMPERATURE (150+T0C) +#define BURNING_ITEM_MINIMUM_TEMPERATURE CELCIUS_TO_KELVIN(150 CELCIUS) ///Multiplier for the temperature shared to other turfs #define FIRE_SPREAD_RADIOSITY_SCALE 0.85 ///Helper for small fires to grow diff --git a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm index 26f13bc0522cba..636eb201d6bfb2 100644 --- a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm +++ b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm @@ -41,51 +41,95 @@ /// This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount. #define TEMPERATURE_DAMAGE_COEFFICIENT 1.5 +// Defines the cap on fast your body normalizes to the environment +/// Max negative change in temperature during natural body temperature stabilization +#define BODYTEMP_ENVIRONMENT_COOLING_MAX -30 KELVIN // needs to be relatively high, as otherwise you will make space not deadly +/// Max positive change in temperature during natural body temperature stabilization +#define BODYTEMP_ENVIRONMENT_HEATING_MAX 20 KELVIN // should not be too high, as otherwise atmos meme fires will be extremely deadly + +/// Default maximum body temperature mobs can exist in before taking damage +#define NPC_DEFAULT_MAX_TEMP CELCIUS_TO_KELVIN(76.85 CELCIUS)// 350 KELVIN +/// Default minimum body temperature mobs can exist in before taking damage +#define NPC_DEFAULT_MIN_TEMP CELCIUS_TO_KELVIN(-23.15 CELCIUS)// 250 KELVIN + +// Helpers for temperature conversion +#define FAHRENHEIT_TO_KELVIN(x) (((x) + 459.67) * 5 / 9) +#define KELVIN_TO_FAHRENHEIT(x) (((x) * 9 / 5) - 459.67) +#define CELCIUS_TO_KELVIN(x) ((x) + 273.15) +#define KELVIN_TO_CELCIUS(x) ((x) - 273.15) +#define CELCIUS_TO_FAHRENHEIT(x) (((x) * 9 / 5) + 32) +#define FAHRENHEIT_TO_CELSIUS(x) (((x) - 32) * 5 / 9) + +// These defines do nothing but can be used to make the code more readable by indicating temperature units +#define CELCIUS * 1 +#define FAHRENHEIT * 1 +#define KELVIN * 1 + +/// Max change in temperature during natural body temperature stabilization +#define BODYTEMP_HOMEOSTASIS_COOLING_MAX (BODYTEMP_ENVIRONMENT_COOLING_MAX / 10) +/// Max change in temperature during natural body temperature stabilization +#define BODYTEMP_HOMEOSTASIS_HEATING_MAX (BODYTEMP_ENVIRONMENT_HEATING_MAX / 8) + +// These defines are DEFAULTS for most mobs +// Mobs can override these to have whatever they want +// That means in a lot of situations (namely mob code) you should not directly use these, +// and instead use the relevant mob vars UNLESS you intentionally are using defaults over reality + /// The natural temperature for a body -#define BODYTEMP_NORMAL 310.15 -/// This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive. -#define BODYTEMP_AUTORECOVERY_DIVISOR 28 -/// Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50. -#define BODYTEMP_AUTORECOVERY_MINIMUM 3 -///Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. -#define BODYTEMP_COLD_DIVISOR 15 -/// Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. -#define BODYTEMP_HEAT_DIVISOR 15 -/// The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area. -#define BODYTEMP_COOLING_MAX -30 -/// The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. -#define BODYTEMP_HEATING_MAX 30 +#define BODYTEMP_NORMAL CELCIUS_TO_KELVIN(37 CELCIUS) +/// Beyond this point a mob is considered hyperthermic +#define HYPERTHERMIA (BODYTEMP_NORMAL + 10 CELCIUS) +/// Beyond this point a mob is considered hypothermic +#define HYPOTHERMIA (BODYTEMP_NORMAL - 10 CELCIUS) + /// The body temperature limit the human body can take before it starts taking damage from heat. /// This also affects how fast the body normalises it's temperature when hot. -/// 340k is about 66c, and rather high for a human. -#define BODYTEMP_HEAT_DAMAGE_LIMIT (BODYTEMP_NORMAL + 30) +#define BODYTEMP_HEAT_DAMAGE_LIMIT CELCIUS_TO_KELVIN(45 CELCIUS) /// The body temperature limit the human body can take before it starts taking damage from cold. /// This also affects how fast the body normalises it's temperature when cold. -/// 270k is about -3c, that is below freezing and would hurt over time. -#define BODYTEMP_COLD_DAMAGE_LIMIT (BODYTEMP_NORMAL - 40) -/// The body temperature limit the human body can take before it will take wound damage. -#define BODYTEMP_HEAT_WOUND_LIMIT (BODYTEMP_NORMAL + 90) // 400.5 k -/// The modifier on cold damage limit hulks get ontop of their regular limit -#define BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER 25 -/// The modifier on cold damage hulks get. -#define HULK_COLD_DAMAGE_MOD 2 +#define BODYTEMP_COLD_DAMAGE_LIMIT CELCIUS_TO_KELVIN(-0.5 CELCIUS) + +/// The maximum temperature of Lavaland +#define LAVALAND_MAX_TEMPERATURE CELCIUS_TO_KELVIN(76.85 CELCIUS)// 350 KELVIN +#define ICEBOX_MIN_TEMPERATURE CELCIUS_TO_KELVIN(-93.15 CELCIUS) + +/// A temperature limit which is above the maximum lavaland temperature +#define BODYTEMP_HEAT_LAVALAND_SAFE (LAVALAND_MAX_TEMPERATURE + 5 KELVIN) +/// A temperature limit which is above the minimum icebox temperature +#define BODYTEMP_COLD_ICEBOX_SAFE (ICEBOX_MIN_TEMPERATURE - 5 KELVIN) -// Body temperature warning icons /// The temperature the red icon is displayed. -#define BODYTEMP_HEAT_WARNING_3 (BODYTEMP_HEAT_DAMAGE_LIMIT + 360) //+700k +#define BODYTEMP_HEAT_WARNING_3 (BODYTEMP_NORMAL + 23 CELCIUS) // CELCIUS_TO_KELVIN(60 CELCIUS) /// The temperature the orange icon is displayed. -#define BODYTEMP_HEAT_WARNING_2 (BODYTEMP_HEAT_DAMAGE_LIMIT + 120) //460K +#define BODYTEMP_HEAT_WARNING_2 (BODYTEMP_NORMAL + 13 CELCIUS) // CELCIUS_TO_KELVIN(50 CELCIUS) /// The temperature the yellow icon is displayed. -#define BODYTEMP_HEAT_WARNING_1 (BODYTEMP_HEAT_DAMAGE_LIMIT) //340K +#define BODYTEMP_HEAT_WARNING_1 (BODYTEMP_NORMAL + 3 CELCIUS) // CELCIUS_TO_KELVIN(40 CELCIUS) /// The temperature the light green icon is displayed. -#define BODYTEMP_COLD_WARNING_1 (BODYTEMP_COLD_DAMAGE_LIMIT) //270k +#define BODYTEMP_COLD_WARNING_1 (BODYTEMP_NORMAL - 7 CELCIUS) // CELCIUS_TO_KELVIN(30 CELCIUS) /// The temperature the cyan icon is displayed. -#define BODYTEMP_COLD_WARNING_2 (BODYTEMP_COLD_DAMAGE_LIMIT - 70) //200k +#define BODYTEMP_COLD_WARNING_2 (BODYTEMP_NORMAL - 17 CELCIUS) // CELCIUS_TO_KELVIN(20 CELCIUS) /// The temperature the blue icon is displayed. -#define BODYTEMP_COLD_WARNING_3 (BODYTEMP_COLD_DAMAGE_LIMIT - 150) //120k +#define BODYTEMP_COLD_WARNING_3 (BODYTEMP_NORMAL - 27 CELCIUS) // CELCIUS_TO_KELVIN(10 CELCIUS) -/// Beyond this temperature, being on fire will increase body temperature by less and less -#define BODYTEMP_FIRE_TEMP_SOFTCAP 1200 +// Ok defaults over + +/// Beyond this body temperature, being on fire will increase body temperature by less and less +#define BODYTEMP_FIRE_TEMP_SOFTCAP 600 KELVIN + +/// Amount of heating applied per fire stack per tick while on fire +#define HEAT_PER_FIRE_STACK 0.075 KELVIN +/// Amount of direct damage applied per fire stack per tick while on fire +#define BURN_DAMAGE_PER_FIRE_STACK 0.1 + +/// A warm drink will increase body temperature by this much +#define WARM_DRINK 0.25 KELVIN +/// A cold drink will decrease body temperature by this much +#define COLD_DRINK -0.25 KELVIN + +/// The modifier on cold damage limit hulks get ontop of their regular limit +#define BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER 25 KELVIN +/// The modifier on cold damage hulks get. +#define HULK_COLD_DAMAGE_MOD 2 /// The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE #define PRESSURE_DAMAGE_COEFFICIENT 2 @@ -100,41 +144,41 @@ //CLOTHES /// what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. -#define SPACE_HELM_MIN_TEMP_PROTECT 2.0 +#define SPACE_HELM_MIN_TEMP_PROTECT 2.0 KELVIN /// Thermal insulation works both ways /Malkevin -#define SPACE_HELM_MAX_TEMP_PROTECT 1500 +#define SPACE_HELM_MAX_TEMP_PROTECT 1500 KELVIN /// what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. -#define SPACE_SUIT_MIN_TEMP_PROTECT 2.0 +#define SPACE_SUIT_MIN_TEMP_PROTECT 2.0 KELVIN /// The min cold protection of a space suit without the heater active -#define SPACE_SUIT_MIN_TEMP_PROTECT_OFF 72 -#define SPACE_SUIT_MAX_TEMP_PROTECT 1500 +#define SPACE_SUIT_MIN_TEMP_PROTECT_OFF 72 KELVIN +#define SPACE_SUIT_MAX_TEMP_PROTECT 1500 KELVIN /// Cold protection for firesuits -#define FIRE_SUIT_MIN_TEMP_PROTECT 60 +#define FIRE_SUIT_MIN_TEMP_PROTECT 60 KELVIN /// what max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0. -#define FIRE_SUIT_MAX_TEMP_PROTECT 30000 +#define FIRE_SUIT_MAX_TEMP_PROTECT 30000 KELVIN /// Cold protection for fire helmets -#define FIRE_HELM_MIN_TEMP_PROTECT 60 +#define FIRE_HELM_MIN_TEMP_PROTECT 60 KELVIN /// for fire helmet quality items (red and white hardhats) -#define FIRE_HELM_MAX_TEMP_PROTECT 30000 +#define FIRE_HELM_MAX_TEMP_PROTECT 30000 KELVIN /// what max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0. -#define FIRE_IMMUNITY_MAX_TEMP_PROTECT 35000 +#define FIRE_IMMUNITY_MAX_TEMP_PROTECT 35000 KELVIN /// For normal helmets -#define HELMET_MIN_TEMP_PROTECT 160 +#define HELMET_MIN_TEMP_PROTECT 160 KELVIN /// For normal helmets -#define HELMET_MAX_TEMP_PROTECT 600 +#define HELMET_MAX_TEMP_PROTECT 600 KELVIN /// For armor -#define ARMOR_MIN_TEMP_PROTECT 160 +#define ARMOR_MIN_TEMP_PROTECT 160 KELVIN /// For armor -#define ARMOR_MAX_TEMP_PROTECT 600 +#define ARMOR_MAX_TEMP_PROTECT 600 KELVIN /// For some gloves (black and) -#define GLOVES_MIN_TEMP_PROTECT 2.0 +#define GLOVES_MIN_TEMP_PROTECT 2.0 KELVIN /// For some gloves -#define GLOVES_MAX_TEMP_PROTECT 1500 +#define GLOVES_MAX_TEMP_PROTECT 1500 KELVIN /// For gloves -#define SHOES_MIN_TEMP_PROTECT 2.0 +#define SHOES_MIN_TEMP_PROTECT 2.0 KELVIN /// For gloves -#define SHOES_MAX_TEMP_PROTECT 1500 +#define SHOES_MAX_TEMP_PROTECT 1500 KELVIN diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 25e86ab8f19151..d6de977fecb657 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -273,6 +273,8 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list( #define BODY_ZONE_L_LEG "l_leg" #define BODY_ZONE_R_LEG "r_leg" +#define TOTAL_BODYPART_COUNT 6 + GLOBAL_LIST_INIT(arm_zones, list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) #define BODY_ZONE_PRECISE_EYES "eyes" diff --git a/code/__DEFINES/dcs/helpers.dm b/code/__DEFINES/dcs/helpers.dm index 75d37aebf72ff9..3a245951da5844 100644 --- a/code/__DEFINES/dcs/helpers.dm +++ b/code/__DEFINES/dcs/helpers.dm @@ -15,7 +15,7 @@ #define AddElement(arguments...) _AddElement(list(##arguments)) /// A wrapper for _RemoveElement that allows us to pretend we're using normal named arguments #define RemoveElement(arguments...) _RemoveElement(list(##arguments)) - +#define HasElement(source, type) _HasElement(source, type) /// A wrapper for _AddComponent that allows us to pretend we're using normal named arguments #define AddComponent(arguments...) _AddComponent(list(##arguments)) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm index d2b720057c4ffe..132cca0816ea51 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm @@ -102,10 +102,14 @@ #define COMSIG_CARBON_SANITY_UPDATE "carbon_sanity_update" ///Called when a carbon attempts to breath, before the breath has actually occured #define COMSIG_CARBON_ATTEMPT_BREATHE "carbon_attempt_breathe" - // Prevents the breath - #define COMSIG_CARBON_BLOCK_BREATH (1 << 0) -///Called when a carbon breathes, before the breath has actually occured -#define COMSIG_CARBON_PRE_BREATHE "carbon_pre_breathe" + /// Prevents the breath entirely, which means they will neither suffocate nor regain oxyloss nor decay losebreath stacks + #define BREATHE_BLOCK_BREATH (1<<0) + /// Allow the breath but prevent inake, think losebreath + #define BREATHE_SKIP_BREATH (1<<1) +/// Called when a carbon breathes out (breath (the exhale)) +#define COMSIG_CARBON_BREATH_EXHALE "carbon_breath_exhale" + /// Return if the exhale was handled, or I guess to send the exhale into the void + #define BREATHE_EXHALE_HANDLED (1<<0) ///Called when a carbon updates their mood #define COMSIG_CARBON_MOOD_UPDATE "carbon_mood_update" ///Called when a carbon attempts to eat (eating) @@ -121,10 +125,12 @@ #define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" ///Whenever EquipRanked is called, called after job is set #define COMSIG_JOB_RECEIVED "job_received" -///from /mob/living/carbon/human/proc/set_coretemperature(): (oldvalue, newvalue) -#define COMSIG_HUMAN_CORETEMP_CHANGE "human_coretemp_change" ///from /datum/species/handle_fire. Called when the human is set on fire and burning clothes and stuff #define COMSIG_HUMAN_BURNING "human_burning" + /// Return to do no burn damage + #define BURNING_HANDLED (1<<0) + /// Return to skip protection check (ie, cause damage even if wearing fireproof clothing) + #define BURNING_SKIP_PROTECTION (1<<1) ///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity, modifiers) #define COMSIG_HUMAN_EARLY_UNARMED_ATTACK "human_early_unarmed_attack" ///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity, modifiers) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm index 00dbeb79632f66..4fdb0479fe3404 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm @@ -221,3 +221,11 @@ #define COMSIG_MOB_LOST_CHAIN_TAIL "living_detached_chain_tail" /// Sent from a 'contract chain' button on a mob chain #define COMSIG_MOB_CHAIN_CONTRACT "living_chain_contracted" + +#define COMSIG_LIVING_BODY_TEMPERATURE_CHANGE "living_body_temperature_change" + +#define COMSIG_LIVING_HOMEOSTASIS "living_homeostasis" + /// Return to do no homeostasis at all + #define HOMEOSTASIS_HANDLED (1<<0) + /// Return to not reduce hunger at all + #define HOMEOSTASIS_NO_HUNGER (1<<1) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm index 51b79ec9eb103c..d5753bf6e8b586 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm @@ -11,6 +11,10 @@ #define COMSIG_MOB_MIND_INITIALIZED "mob_mind_inited" ///from base of mob/set_stat(): (new_stat, old_stat) #define COMSIG_MOB_STATCHANGE "mob_statchange" +///from base of mob/reagent_check(): (datum/reagent/chem, seconds_per_tick, times_fired) +#define COMSIG_MOB_REAGENT_CHECK "mob_reagent_check" + ///stops the reagent check call + #define COMSIG_MOB_STOP_REAGENT_CHECK (1<<0) ///from base of mob/clickon(): (atom/A, params) #define COMSIG_MOB_CLICKON "mob_clickon" ///from base of mob/MiddleClickOn(): (atom/A) diff --git a/code/__DEFINES/dcs/signals/signals_specie.dm b/code/__DEFINES/dcs/signals/signals_specie.dm index 89239cf39dbcaa..1ff22aed90c6a1 100644 --- a/code/__DEFINES/dcs/signals/signals_specie.dm +++ b/code/__DEFINES/dcs/signals/signals_specie.dm @@ -5,3 +5,6 @@ #define COMSIG_SPECIES_LOSS "species_loss" ///from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species) called before anything is done to ensure passing of data #define COMSIG_SPECIES_GAIN_PRE "species_gain_pre" +///from datum/species/handle_chemical(): (datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired) +#define COMSIG_SPECIES_HANDLE_CHEMICAL "species_handle_chemicals" + // same return values as COMSIG_MOB_STOP_REAGENT_CHECK diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 7d3d5d8e7bbb18..a0d08b7644e5f1 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -28,7 +28,7 @@ #define BLOOD_DEFICIENCY_MODIFIER 0.025 /// Temperature at which blood loss and regen stops. [/mob/living/carbon/human/proc/handle_blood] -#define BLOOD_STOP_TEMP 225 +#define BLOOD_STOP_TEMP CELCIUS_TO_KELVIN(-48.15 CELCIUS) //Sizes of mobs, used by mob/living/var/mob_size #define MOB_SIZE_TINY 0 @@ -166,22 +166,13 @@ #define HUMAN_MAX_OXYLOSS 3 #define HUMAN_CRIT_MAX_OXYLOSS (SSMOBS_DT/3) -#define HEAT_DAMAGE_LEVEL_1 1 //Amount of damage applied when your body temperature just passes the 360.15k safety point -#define HEAT_DAMAGE_LEVEL_2 1.5 //Amount of damage applied when your body temperature passes the 400K point -#define HEAT_DAMAGE_LEVEL_3 4 //Amount of damage applied when your body temperature passes the 460K point and you are on fire +/// Damage recieved when past heat damage threshold. +/// Gets multiplied by 2x, 4x, 8x depending on how far past the threshold you are. +#define HEAT_DAMAGE 1 -#define COLD_DAMAGE_LEVEL_1 0.25 //Amount of damage applied when your body temperature just passes the 260.15k safety point -#define COLD_DAMAGE_LEVEL_2 0.75 //Amount of damage applied when your body temperature passes the 200K point -#define COLD_DAMAGE_LEVEL_3 1.5 //Amount of damage applied when your body temperature passes the 120K point - -//Note that gas heat damage is only applied once every FOUR ticks. -#define HEAT_GAS_DAMAGE_LEVEL_1 2 //Amount of damage applied when the current breath's temperature just passes the 360.15k safety point -#define HEAT_GAS_DAMAGE_LEVEL_2 4 //Amount of damage applied when the current breath's temperature passes the 400K point -#define HEAT_GAS_DAMAGE_LEVEL_3 8 //Amount of damage applied when the current breath's temperature passes the 1000K point - -#define COLD_GAS_DAMAGE_LEVEL_1 0.5 //Amount of damage applied when the current breath's temperature just passes the 260.15k safety point -#define COLD_GAS_DAMAGE_LEVEL_2 1.5 //Amount of damage applied when the current breath's temperature passes the 200K point -#define COLD_GAS_DAMAGE_LEVEL_3 3 //Amount of damage applied when the current breath's temperature passes the 120K point +/// Damage recieved when past cold damage threshold. +/// Gets multiplied by 2x, 4x, 8x depending on how far past the threshold you are. +#define COLD_DAMAGE 0.25 //Brain Damage defines #define BRAIN_DAMAGE_MILD 20 @@ -459,8 +450,19 @@ #define POCKET_STRIP_DELAY (4 SECONDS) //time taken to search somebody's pockets #define DOOR_CRUSH_DAMAGE 15 //the amount of damage that airlocks deal when they crush you -#define HUNGER_FACTOR 0.05 //factor at which mob nutrition decreases -#define ETHEREAL_CHARGE_FACTOR 0.8 //factor at which ethereal's charge decreases per second +/// Factor at which mob nutrition decreases +#define HUNGER_FACTOR 0.1 + +// These add up to 1 to roughly (VERY roughly) represent the proportion of hunger used by each system +/// What % of hunger is used by homeostasis +#define HOMEOSTASIS_HUNGER_MULTIPLIER 0.1 +/// What % of hunger is used by passive hunger +#define PASSIVE_HUNGER_MULTIPLIER 0.4 +/// What % of hunger is used by movement +#define MOVEMENT_HUNGER_MULTIPLIER 0.1 + +/// Factor at which ethereal's charge decreases per second +#define ETHEREAL_CHARGE_FACTOR 0.2 /// How much nutrition eating clothes as moth gives and drains #define CLOTHING_NUTRITION_GAIN 15 #define REAGENTS_METABOLISM 0.2 //How many units of reagent are consumed per second, by default. @@ -929,11 +931,6 @@ GLOBAL_LIST_INIT(layers_to_offset, list( #define HEALING_TOUCH_NOT_SELF "healing_touch_not_self" #define HEALING_TOUCH_SELF_ONLY "healing_touch_self_only" -/// Default minimum body temperature mobs can exist in before taking damage -#define NPC_DEFAULT_MIN_TEMP 250 -/// Default maximum body temperature mobs can exist in before taking damage -#define NPC_DEFAULT_MAX_TEMP 350 - // Flags for mobs which can't do certain things while someone is looking at them /// Flag which stops you from moving while observed #define NO_OBSERVED_MOVEMENT (1<<0) diff --git a/code/__DEFINES/sprite_accessories.dm b/code/__DEFINES/sprite_accessories.dm index 9c9471130e6fda..d4cfb7ca5d57d5 100644 --- a/code/__DEFINES/sprite_accessories.dm +++ b/code/__DEFINES/sprite_accessories.dm @@ -7,3 +7,9 @@ #define FACIAL_HAIR_COLOR "facial_hair_color" /// Color of the sprite accessory will match the owner's (left) eye color #define EYE_COLOR "eye_color" + +#define SKIN_COLOR "skin_color" + +#define MUTANT_COLOR_SECONDARY "mutant_color_secondary" + +#define ANIME_COLOR "anime_color" diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index ab2bd38217d659..ba2feadba2c007 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -187,6 +187,7 @@ #define INIT_ORDER_MINOR_MAPPING -40 #define INIT_ORDER_PATH -50 #define INIT_ORDER_EXPLOSIONS -69 +#define INIT_ORDER_CREDITS -93 #define INIT_ORDER_REPLAYS -94 #define INIT_ORDER_HOTSPOTS -95 ///only called on oshan so just call it near the end. #define INIT_ORDER_TWITCH -96 diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 281c2ba5f24629..db1506f1be9b46 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -147,39 +147,44 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Species with this trait are genderless #define TRAIT_AGENDER "agender" /// Species with this trait have a blood clan mechanic -/* #define TRAIT_BLOOD_CLANS "blood_clans" */ +#define TRAIT_BLOOD_CLANS "blood_clans" +/// Species with this trait have markings (this SUCKS, remove this later in favor of bodypart overlays) +#define TRAIT_HAS_MARKINGS "has_markings" /// Species with this trait use skin tones for coloration #define TRAIT_USES_SKINTONES "uses_skintones" /// Species with this trait use mutant colors for coloration #define TRAIT_MUTANT_COLORS "mutcolors" +/// Species with this trait use mutant colors for coloration +#define TRAIT_MUTANT_COLORS_SECONDARY "mutcolors_secondary" /// Species with this trait have mutant colors that cannot be chosen by the player, nor altered ingame by external means #define TRAIT_FIXED_MUTANT_COLORS "fixed_mutcolors" /// Humans with this trait won't get bloody hands, nor bloody feet -/* #define TRAIT_NO_BLOOD_OVERLAY "no_blood_overlay" */ +#define TRAIT_NO_BLOOD_OVERLAY "no_blood_overlay" /// Humans with this trait cannot have underwear #define TRAIT_NO_UNDERWEAR "no_underwear" /// This carbon doesn't show an overlay when they have no brain -/* #define TRAIT_NO_DEBRAIN_OVERLAY "no_debrain_overlay" */ +#define TRAIT_FUR_COLORS "trait_fur_colors" /// Humans with this trait cannot get augmentation surgery #define TRAIT_NO_AUGMENTS "no_augments" /// This carbon doesn't get hungry #define TRAIT_NOHUNGER "no_hunger" /// This carbon doesn't metabolize reagents. -#define TRAIT_NOMETABOLISM "no_metabolism" /// This carbon doesn't bleed #define TRAIT_NOBLOOD "noblood" /// This just means that the carbon will always have functional liverless metabolism #define TRAIT_LIVERLESS_METABOLISM "liverless_metabolism" +/// Humans with this trait cannot be affected by changeling transformation stings +#define TRAIT_NO_TRANSFORMATION_STING "no_transformation_sting" /// This carbon can't be overdosed by chems -/* #define TRAIT_OVERDOSEIMMUNE "overdose_immune" */ +#define TRAIT_OVERDOSEIMMUNE "overdose_immune" /// Humans with this trait cannot be turned into zombies #define TRAIT_NO_ZOMBIFY "no_zombify" /// Carbons with this trait can't have their DNA copied by diseases nor changelings #define TRAIT_NO_DNA_COPY "no_dna_copy" /// Carbons with this trait cant have their dna scrambled by genetics or a disease retrovirus. -/* #define TRAIT_NO_DNA_SCRAMBLE "no_dna_scramble" */ +#define TRAIT_NO_DNA_SCRAMBLE "no_dna_scramble" /// Carbons with this trait can eat blood to regenerate their own blood volume, instead of injecting it -/* #define TRAIT_DRINKS_BLOOD "drinks_blood" */ +#define TRAIT_DRINKS_BLOOD "drinks_blood" /// Mob is immune to clone (cellular) damage #define TRAIT_NOCLONELOSS "no_cloneloss" /// Mob is immune to toxin damage @@ -196,6 +201,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_EASILY_WOUNDED "easy_limb_wound" #define TRAIT_HARDLY_WOUNDED "hard_limb_wound" #define TRAIT_NEVER_WOUNDED "never_wounded" +#define TRAIT_NO_HUSK "no_husk" /// Species with this trait have 50% extra chance of bleeding from piercing and slashing wounds /* #define TRAIT_EASYBLEED "easybleed" */ #define TRAIT_TOXINLOVER "toxinlover" @@ -543,7 +549,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /* #define TRAIT_UNHITTABLE_BY_PROJECTILES "unhittable_by_projectiles" */ /// Projectile with this trait will always hit the defined zone of a struck living mob. -/* #define TRAIT_ALWAYS_HIT_ZONE "always_hit_zone" */ +#define TRAIT_ALWAYS_HIT_ZONE "always_hit_zone" /// Mobs with this trait do care about a few grisly things, such as digging up graves. They also really do not like bringing people back to life or tending wounds, but love autopsies and amputations. #define TRAIT_MORBID "morbid" diff --git a/code/__DEFINES/traits/monkestation/declarations.dm b/code/__DEFINES/traits/monkestation/declarations.dm index 2ab31d15b457c5..abfbba8b811e94 100644 --- a/code/__DEFINES/traits/monkestation/declarations.dm +++ b/code/__DEFINES/traits/monkestation/declarations.dm @@ -129,4 +129,15 @@ /// Has an item been enchanted by a clock cult Stargazer? #define TRAIT_STARGAZED "stargazed" +#define TRAIT_FEATHERED "feathers" +#define TRAIT_NON_IMPORTANT_SHOE_BLOCK "shoe_block" +/// Skip a breath once in every x breaths (where x is ticks between breaths) +#define TRAIT_LABOURED_BREATHING "laboured_breathing" +/// Blocks losebreath from accumulating from things such as heart attacks or choking +#define TRAIT_ASSISTED_BREATHING "assisted_breathing" +/// Stops organs from decaying while dead +#define TRAIT_NO_ORGAN_DECAY "no_organ_decay" +/// Mob does not homeostasize body temperature +#define TRAIT_COLD_BLOODED "cold_blooded" + // END TRAIT DEFINES diff --git a/code/__DEFINES/wounds.dm b/code/__DEFINES/wounds.dm index 815e60d0738e37..6a108858bb1f49 100644 --- a/code/__DEFINES/wounds.dm +++ b/code/__DEFINES/wounds.dm @@ -48,16 +48,13 @@ GLOBAL_LIST_INIT(wound_severities_chronological, list( // ~determination second wind defines -// How much determination reagent to add each time someone gains a new wound in [/datum/wound/proc/second_wind] -#define WOUND_DETERMINATION_MODERATE 1 -#define WOUND_DETERMINATION_SEVERE 2.5 -#define WOUND_DETERMINATION_CRITICAL 5 -#define WOUND_DETERMINATION_LOSS 7.5 +// How much determination to add each time someone gains a new wound in [/datum/wound/proc/second_wind] +#define WOUND_DETERMINATION_MODERATE (5 SECONDS) +#define WOUND_DETERMINATION_SEVERE (10 SECONDS) +#define WOUND_DETERMINATION_CRITICAL (20 SECONDS) +#define WOUND_DETERMINATION_LOSS (30 SECONDS) /// the max amount of determination you can have -#define WOUND_DETERMINATION_MAX 10 - -/// While someone has determination in their system, their bleed rate is slightly reduced -#define WOUND_DETERMINATION_BLEED_MOD 0.85 +#define WOUND_DETERMINATION_MAX (1 MINUTES) /// Wounds using this competition mode will remove any wounds of a greater severity than itself in a random wound roll. In most cases, you dont want to use this. #define WOUND_COMPETITION_OVERPOWER_GREATERS "wound_submit" diff --git a/code/__DEFINES/~monkestation/blood_datums.dm b/code/__DEFINES/~monkestation/blood_datums.dm new file mode 100644 index 00000000000000..e1f906a8b103d6 --- /dev/null +++ b/code/__DEFINES/~monkestation/blood_datums.dm @@ -0,0 +1,21 @@ +#define COMSIG_HUMAN_ON_HANDLE_BLOOD "human_on_handle_blood" + #define HANDLE_BLOOD_HANDLED (1<<0) + #define HANDLE_BLOOD_NO_NUTRITION_DRAIN (1<<1) + #define HANDLE_BLOOD_NO_EFFECTS (1<<2) + +#define COLOR_BLOOD "#c90000" + +/// Modifier used in math involving bloodiness, so the above values can be adjusted easily +#define BLOOD_PER_UNIT_MODIFIER 0.5 + +/// from /datum/status_effect/limp/proc/check_step() +#define COMSIG_CARBON_LIMPING "mob_limp_check" + #define COMPONENT_CANCEL_LIMP (1<<0) + +/// Mob can walk despite having two disabled/missing legs so long as they have two of this trait. +/// Kind of jank, refactor at a later day when I can think of a better solution. +/// Just be sure to call update_limbless_locomotion() after applying / removal +#define TRAIT_NO_LEG_AID "no_leg_aid" + +/// Updating a mob's movespeed when lacking limbs. (list/modifiers) +#define COMSIG_LIVING_LIMBLESS_MOVESPEED_UPDATE "living_get_movespeed_modifiers" diff --git a/code/__DEFINES/~monkestation/chewin.dm b/code/__DEFINES/~monkestation/chewin.dm index 980bcb76b96428..75b635b5b9b49d 100644 --- a/code/__DEFINES/~monkestation/chewin.dm +++ b/code/__DEFINES/~monkestation/chewin.dm @@ -64,21 +64,18 @@ #define PLATE "plate" #define CUTTING_BOARD "cutting board" #define PAN "pan" -#define POT "pot" -#define BOWL "bowl" +#define POT "cooking pot" +#define BOWL "mixing bowl" #define DF_BASKET "deep fryer basket" #define AF_BASKET "air fryer basket" #define OVEN "oven" -#define GRILL "grill" +#define GRILL "grill grate" //Stove temp settings. #define J_LO "Low" #define J_MED "Medium" #define J_HI "High" -//Just a catalog for the cooking catalog -#define CATALOG_COOKING "cooking" - //Burn times for cooking things on a stove. //Anything put on a stove for this long becomes a burned mess. #define CHEWIN_BURN_TIME_LOW 15 MINUTES diff --git a/code/__DEFINES/~monkestation/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/~monkestation/dcs/signals/signals_mob/signals_mob_main.dm index bfc0f361e4f4e5..969145aeec5627 100644 --- a/code/__DEFINES/~monkestation/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__DEFINES/~monkestation/dcs/signals/signals_mob/signals_mob_main.dm @@ -33,3 +33,14 @@ #define COMSIG_LIVING_TRACKER_REMOVED "tracker_removed" #define COMSIG_CLEAR_SEE "clear_see" + +/// Carbon is steppin +#define COMSIG_CARBON_STEP "carbon_step" +/// Carbon is steppin on a painful limb +#define COMSIG_CARBON_PAINED_STEP "carbon_pain_step" + /// Stop the pain from happening + #define STOP_PAIN (1<<0) + +#define COMSIG_LIVING_GIVE_ITEM_CHECK "living_give_item_check" + +#define COMSIG_LIVING_ITEM_OFFERED_PRECHECK "living_item_offer_precheck" diff --git a/code/__DEFINES/~monkestation/living.dm b/code/__DEFINES/~monkestation/living.dm index 06134c4aaffa34..b79309b42d8de8 100644 --- a/code/__DEFINES/~monkestation/living.dm +++ b/code/__DEFINES/~monkestation/living.dm @@ -6,3 +6,32 @@ #define COMSIG_LIVING_CAN_ALLOW_THROUGH "living_can_allow_through" /// Allow to movable atoms to pass through this living mob #define COMPONENT_LIVING_PASSABLE (1<<0) + +/// Checks if the value is "left" +/// Used primarily for hand or foot indexes +#define IS_RIGHT(value) (value % 2 == 0) +/// Checks if the value is "right" +/// Used primarily for hand or foot indexes +#define IS_LEFT(value) (value % 2 != 0) +/// Helper for picking between left or right when given a value +/// Used primarily for hand or foot indexes +#define SELECT_LEFT_OR_RIGHT(value, left, right) (IS_LEFT(value) ? left : right) + + +/// Calculates oxyloss cap +#define MAX_OXYLOSS(maxHealth) (maxHealth * 2) + +// Some source defines for pain and consciousness +// Consciousness ones are human readable because of laziness (they are shown in cause of death) +#define PAINSHOCK "neurological shock" +#define PAINCRIT "paincrit" +#define PAIN "pain" +#define HUNGER "starvation" +#define BRAIN_DAMAGE "brain damage" +#define BLOOD_LOSS "blood loss" +#define BLUNT_DAMAGE "blunt force trauma" +#define BURN_DAMAGE "severe burns" +#define OXY_DAMAGE "suffocation" +#define TOX_DAMAGE "toxic poisoning" + +#define SKIP_INTERNALS "skip_internals" diff --git a/code/__DEFINES/~monkestation/mobs.dm b/code/__DEFINES/~monkestation/mobs.dm index 9f531dc4da76d5..708feee16e0bc3 100644 --- a/code/__DEFINES/~monkestation/mobs.dm +++ b/code/__DEFINES/~monkestation/mobs.dm @@ -1,5 +1,7 @@ #define SPECIES_ARACHNIDS "arachnid" #define SPECIES_DRACONIC_SKELETON "draconic_skeleton" +#define SPECIES_WEREWOLF "werewolf" //Monkestation Addition +#define SPECIES_ORNITHID "ornithid" GLOBAL_REAL_VAR(list/voice_type2sound = list( "1" = list( diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index c6b4e280eed34d..b9241abe78a78b 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -52,6 +52,10 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/satyr_fluff, GLOB.satyr_fluff_list) //Monkestation Addition init_sprite_accessory_subtypes(/datum/sprite_accessory/satyr_tail, GLOB.satyr_tail_list) //Monkestation Addition init_sprite_accessory_subtypes(/datum/sprite_accessory/satyr_horns, GLOB.satyr_horns_list) //Monkestation Addition + init_sprite_accessory_subtypes(/datum/sprite_accessory/arm_wings, GLOB.arm_wings_list) //NON-MODULE CHANGE + init_sprite_accessory_subtypes(/datum/sprite_accessory/arm_wingsopen, GLOB.arm_wingsopen_list) //NON-MODULE CHANGE + init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian, GLOB.tails_list_avian) //NON-MODULE CHANGE + init_sprite_accessory_subtypes(/datum/sprite_accessory/plumage, GLOB.avian_ears_list) //NON-MODULE CHANGE /// Inits GLOB.species_list. Not using GLOBAL_LIST_INIT b/c it depends on GLOB.string_lists /proc/init_species_list() diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index a43a50cda5a29d..19feb2cb2c0ec4 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -89,6 +89,10 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list) if(!length(GLOB.pod_hair_list)) init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) + if(!length(GLOB.pod_hair_list)) + init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) + if(!length(GLOB.pod_hair_list)) + init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) //Monkestation Addition Start if(!length(GLOB.ethereal_horns_list)) init_sprite_accessory_subtypes(/datum/sprite_accessory/ethereal_horns, GLOB.ethereal_horns_list) @@ -126,13 +130,18 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/satyr_tail, GLOB.satyr_tail_list) if(!GLOB.satyr_horns_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/satyr_horns, GLOB.satyr_horns_list) + if(!length(GLOB.arm_wings_list)) + init_sprite_accessory_subtypes(/datum/sprite_accessory/arm_wings, GLOB.arm_wings_list) + if(!length(GLOB.arm_wingsopen_list)) + init_sprite_accessory_subtypes(/datum/sprite_accessory/arm_wingsopen, GLOB.arm_wingsopen_list) + if(!length(GLOB.tails_list_avian)) + init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian, GLOB.tails_list_avian) + if(!length(GLOB.avian_ears_list)) + init_sprite_accessory_subtypes(/datum/sprite_accessory/plumage, GLOB.avian_ears_list) //Monkestation Addition End //For now we will always return none for tail_human and ears. | "For now" he says. return(list( - "mcolor" = "#[pick("7F","FF")][pick("7F","FF")][pick("7F","FF")]", - "mcolor_secondary" = "#[pick("7F","FF")][pick("7F","FF")][pick("7F","FF")]", - "ethcolor" = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)], "tail_cat" = "None", "tail_lizard" = "Smooth", "wings" = "None", @@ -167,6 +176,9 @@ "satyr_fluff" = pick(GLOB.satyr_fluff_list), //Monkestation Addition "satyr_tail" = pick(GLOB.satyr_tail_list), //Monkestation Addition "satyr_horns" = pick(GLOB.satyr_horns_list), //Monkestation Addition + "arm_wings" = pick(GLOB.arm_wings_list), + "ears_avian" = pick(GLOB.avian_ears_list), + "tail_avian" = pick(GLOB.tails_list_avian), )) /proc/random_hairstyle(gender) @@ -617,20 +629,6 @@ GLOBAL_LIST_EMPTY(species_list) . = pick(ais) return . -/** - * Used to get the amount of change between two body temperatures - * - * When passed the difference between two temperatures returns the amount of change to temperature to apply. - * The change rate should be kept at a low value tween 0.16 and 0.02 for optimal results. - * vars: - * * temp_diff (required) The differance between two temperatures - * * change_rate (optional)(Default: 0.06) The rate of range multiplyer - */ -/proc/get_temp_change_amount(temp_diff, change_rate = 0.06) - if(temp_diff < 0) - return -(BODYTEMP_AUTORECOVERY_DIVISOR / 2) * log(1 - (temp_diff * change_rate)) - return (BODYTEMP_AUTORECOVERY_DIVISOR / 2) * log(1 + (temp_diff * change_rate)) - #define ISADVANCEDTOOLUSER(mob) (HAS_TRAIT(mob, TRAIT_ADVANCEDTOOLUSER) && !HAS_TRAIT(mob, TRAIT_DISCOORDINATED_TOOL_USER)) /// Gets the client of the mob, allowing for mocking of the client. diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 2b82cbc7383d1a..9f1d4476fabdbe 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -1,6 +1,7 @@ #define POPCOUNT_SURVIVORS "survivors" //Not dead at roundend #define POPCOUNT_ESCAPEES "escapees" //Not dead and on centcom/shuttles marked as escaped #define POPCOUNT_SHUTTLE_ESCAPEES "shuttle_escapees" //Emergency shuttle only. +#define POPCOUNT_ESCAPEES_HUMANONLY "human_escapees" #define PERSONAL_LAST_ROUND "personal last round" #define SERVER_LAST_ROUND "server last round" #define DISCORD_SUPPRESS_NOTIFICATIONS (1 << 12) // monke edit: discord flag for silent messages @@ -17,7 +18,10 @@ GLOBAL_LIST_INIT(round_end_images, world.file2list("data/image_urls.txt")) // MO var/list/file_data = list("escapees" = list("humans" = list(), "silicons" = list(), "others" = list(), "npcs" = list()), "abandoned" = list("humans" = list(), "silicons" = list(), "others" = list(), "npcs" = list()), "ghosts" = list(), "additional data" = list()) var/num_survivors = 0 //Count of non-brain non-camera mobs with mind that are alive var/num_escapees = 0 //Above and on centcom z + var/num_human_escapees = 0 //Above but humans only var/num_shuttle_escapees = 0 //Above and on escape shuttle + var/list/list_of_human_escapees = list() //References to all escaped humans + var/list/list_of_mobs_on_shuttle = list() var/list/area/shuttle_areas if(SSshuttle?.emergency) shuttle_areas = SSshuttle.emergency.shuttle_areas @@ -35,6 +39,8 @@ GLOBAL_LIST_INIT(round_end_images, world.file2list("data/image_urls.txt")) // MO if(M.mind) count_only = FALSE mob_data["ckey"] = M.mind.key + if(M.onCentCom()) + list_of_mobs_on_shuttle += M if(M.stat != DEAD && !isbrain(M) && !iscameramob(M)) num_survivors++ if(EMERGENCY_ESCAPED_OR_ENDGAMED && (M.onCentCom() || M.onSyndieBase())) @@ -42,6 +48,9 @@ GLOBAL_LIST_INIT(round_end_images, world.file2list("data/image_urls.txt")) // MO escape_status = "escapees" if(shuttle_areas[get_area(M)]) num_shuttle_escapees++ + if(ishuman(M)) + num_human_escapees++ + list_of_human_escapees += M if(isliving(M)) var/mob/living/L = M mob_data["location"] = get_area(L) @@ -105,7 +114,10 @@ GLOBAL_LIST_INIT(round_end_images, world.file2list("data/image_urls.txt")) // MO . = list() .[POPCOUNT_SURVIVORS] = num_survivors .[POPCOUNT_ESCAPEES] = num_escapees + .[POPCOUNT_ESCAPEES_HUMANONLY] = num_human_escapees .[POPCOUNT_SHUTTLE_ESCAPEES] = num_shuttle_escapees + .["all_mobs_on_shuttle"] = list_of_mobs_on_shuttle + .["human_escapees_list"] = list_of_human_escapees .["station_integrity"] = station_integrity /datum/controller/subsystem/ticker/proc/gather_antag_data() @@ -221,7 +233,7 @@ GLOBAL_LIST_INIT(round_end_images, world.file2list("data/image_urls.txt")) // MO C?.give_award(/datum/award/achievement/misc/speed_round, C?.mob) HandleRandomHardcoreScore(C) - var/popcount = gather_roundend_feedback() + popcount = gather_roundend_feedback() display_report(popcount) CHECK_TICK diff --git a/code/__HELPERS/~monkestation-helpers/blood_datums.dm b/code/__HELPERS/~monkestation-helpers/blood_datums.dm new file mode 100644 index 00000000000000..7e74ac55592d22 --- /dev/null +++ b/code/__HELPERS/~monkestation-helpers/blood_datums.dm @@ -0,0 +1,13 @@ +/proc/random_human_blood_type() + var/static/list/human_blood_type_weights = list( + /datum/blood_type/crew/human/o_minus = 4, + /datum/blood_type/crew/human/o_plus = 36, + /datum/blood_type/crew/human/a_minus = 28, + /datum/blood_type/crew/human/a_plus = 3, + /datum/blood_type/crew/human/b_minus = 20, + /datum/blood_type/crew/human/b_plus = 1, + /datum/blood_type/crew/human/ab_minus = 5, + /datum/blood_type/crew/human/ab_plus = 1 + ) + + return pick_weight(human_blood_type_weights) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index fb117fadab6940..4497da073e3ec3 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -270,6 +270,75 @@ DEFINE_BITFIELD(mob_respiration_type, list( "RESPIRATION_PLASMA" = RESPIRATION_PLASMA, )) +DEFINE_BITFIELD(liked_foodtypes, list( + "MEAT" = MEAT, + "VEGETABLES" = VEGETABLES, + "RAW" = RAW, + "JUNKFOOD" = JUNKFOOD, + "GRAIN" = GRAIN, + "FRUIT" = FRUIT, + "DAIRY" = DAIRY, + "FRIED" = FRIED, + "ALCOHOL" = ALCOHOL, + "SUGAR" = SUGAR, + "GROSS" = GROSS, + "TOXIC" = TOXIC, + "PINEAPPLE" = PINEAPPLE, + "BREAKFAST" = BREAKFAST, + "CLOTH" = CLOTH, + "NUTS" = NUTS, + "SEAFOOD" = SEAFOOD, + "ORANGES" = ORANGES, + "BUGS" = BUGS, + "GORE" = GORE, +)) + +DEFINE_BITFIELD(disliked_foodtypes, list( + "MEAT" = MEAT, + "VEGETABLES" = VEGETABLES, + "RAW" = RAW, + "JUNKFOOD" = JUNKFOOD, + "GRAIN" = GRAIN, + "FRUIT" = FRUIT, + "DAIRY" = DAIRY, + "FRIED" = FRIED, + "ALCOHOL" = ALCOHOL, + "SUGAR" = SUGAR, + "GROSS" = GROSS, + "TOXIC" = TOXIC, + "PINEAPPLE" = PINEAPPLE, + "BREAKFAST" = BREAKFAST, + "CLOTH" = CLOTH, + "NUTS" = NUTS, + "SEAFOOD" = SEAFOOD, + "ORANGES" = ORANGES, + "BUGS" = BUGS, + "GORE" = GORE, +)) + +DEFINE_BITFIELD(toxic_foodtypes, list( + "MEAT" = MEAT, + "VEGETABLES" = VEGETABLES, + "RAW" = RAW, + "JUNKFOOD" = JUNKFOOD, + "GRAIN" = GRAIN, + "FRUIT" = FRUIT, + "DAIRY" = DAIRY, + "FRIED" = FRIED, + "ALCOHOL" = ALCOHOL, + "SUGAR" = SUGAR, + "GROSS" = GROSS, + "TOXIC" = TOXIC, + "PINEAPPLE" = PINEAPPLE, + "BREAKFAST" = BREAKFAST, + "CLOTH" = CLOTH, + "NUTS" = NUTS, + "SEAFOOD" = SEAFOOD, + "ORANGES" = ORANGES, + "BUGS" = BUGS, + "GORE" = GORE, +)) + DEFINE_BITFIELD(mobility_flags, list( "MOVE" = MOBILITY_MOVE, "PICKUP" = MOBILITY_PICKUP, @@ -438,6 +507,7 @@ DEFINE_BITFIELD(organ_flags, list( "ORGAN_EDIBLE" = ORGAN_EDIBLE, "ORGAN_SYNTHETIC_EMP" = ORGAN_SYNTHETIC_EMP, "ORGAN_UNREMOVABLE" = ORGAN_UNREMOVABLE, + "ORGAN_HIDDEN" = ORGAN_HIDDEN, //Monkestation edit: BLOOD_DATUMS, how was this forgotten )) DEFINE_BITFIELD(respiration_type, list( diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index c11a1b6a1cf53d..bf32a09069c350 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -317,6 +317,11 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_MULTIZ_SUIT_SENSORS" = TRAIT_MULTIZ_SUIT_SENSORS, "TRAIT_MUSICIAN" = TRAIT_MUSICIAN, "TRAIT_MUTANT_COLORS" = TRAIT_MUTANT_COLORS, + "TRAIT_MUTANT_COLORS_SECONDARY" = TRAIT_MUTANT_COLORS_SECONDARY, + "TRAIT_FUR_COLORS" = TRAIT_FUR_COLORS, + "TRAIT_NO_TRANSFORMATION_STING" = TRAIT_NO_TRANSFORMATION_STING, + "TRAIT_NO_HUSK" = TRAIT_NO_HUSK, + "TRAIT_HAS_MARKINGS" = TRAIT_HAS_MARKINGS, "TRAIT_MUTE" = TRAIT_MUTE, "TRAIT_NAIVE" = TRAIT_NAIVE, "TRAIT_NANITE_MONITORING" = TRAIT_NANITE_MONITORING, @@ -340,7 +345,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NOHARDCRIT" = TRAIT_NOHARDCRIT, "TRAIT_NOHUNGER" = TRAIT_NOHUNGER, "TRAIT_NOLIMBDISABLE" = TRAIT_NOLIMBDISABLE, - "TRAIT_NOMETABOLISM" = TRAIT_NOMETABOLISM, "TRAIT_NOMOBSWAP" = TRAIT_NOMOBSWAP, "TRAIT_NOSELFIGNITION_HEAD_ONLY" = TRAIT_NOSELFIGNITION_HEAD_ONLY, "TRAIT_NOSOFTCRIT" = TRAIT_NOSOFTCRIT, @@ -507,6 +511,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_XENO_HOST" = TRAIT_XENO_HOST, "TRAIT_XENO_IMMUNE" = TRAIT_XENO_IMMUNE, "TRAIT_XRAY_VISION" = TRAIT_XRAY_VISION, + "TRAIT_COLD_BLOODED" = TRAIT_COLD_BLOODED, /* "TRAIT_ADAMANTINE_EXTRACT_ARMOR" = TRAIT_ADAMANTINE_EXTRACT_ARMOR, */ /* "TRAIT_ALWAYS_WANTED" = TRAIT_ALWAYS_WANTED, */ /* "TRAIT_ANOSMIA" = TRAIT_ANOSMIA, */ @@ -629,6 +634,11 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_T_RAY_VISIBLE" = TRAIT_T_RAY_VISIBLE, "TRAIT_UNCATCHABLE" = TRAIT_UNCATCHABLE, "TRAIT_WIELDED" = TRAIT_WIELDED, + "TRAIT_FEATHERED" = TRAIT_FEATHERED, + "TRAIT_NON_IMPORTANT_SHOE_BLOCK" = TRAIT_NON_IMPORTANT_SHOE_BLOCK, + "TRAIT_LABOURED_BREATHING" = TRAIT_LABOURED_BREATHING, + "TRAIT_ASSISTED_BREATHING" = TRAIT_ASSISTED_BREATHING, + "TRAIT_NO_ORGAN_DECAY" = TRAIT_NO_ORGAN_DECAY, /* "TRAIT_BAIT_UNCONSUMABLE" = TRAIT_BAIT_UNCONSUMABLE, */ /* "TRAIT_BAKEABLE" = TRAIT_BAKEABLE, */ /* "TRAIT_BYPASS_RANGED_ARMOR" = TRAIT_BYPASS_RANGED_ARMOR, */ @@ -707,7 +717,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( /* "TRAIT_MODPC_INTERACTING_WITH_FRAME" = TRAIT_MODPC_INTERACTING_WITH_FRAME, */ ), /obj/projectile = list( - /* "TRAIT_ALWAYS_HIT_ZONE" = TRAIT_ALWAYS_HIT_ZONE, */ + "TRAIT_ALWAYS_HIT_ZONE" = TRAIT_ALWAYS_HIT_ZONE, ), /obj/structure = list( "TRAIT_RADSTORM_IMMUNE" = TRAIT_RADSTORM_IMMUNE, diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 302cd10c28f0e4..b4d62bf8922101 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -57,8 +57,7 @@ thealert.icon_state = "template" // We'll set the icon to the client's ui pref in reorganize_alerts() thealert.master = new_master else - thealert.icon_state = "[initial(thealert.icon_state)][severity]" - thealert.severity = severity + thealert.set_severity(severity) alerts[category] = thealert if(client && hud_used) @@ -120,6 +119,15 @@ /atom/movable/screen/alert/MouseExited() closeToolTip(usr) +/atom/movable/screen/alert/proc/set_severity(new_val) + if(severity == new_val) + return + severity = new_val + update_appearance() + +/atom/movable/screen/alert/update_icon_state() + . = ..() + icon_state = "[base_icon_state || initial(icon_state)][severity]" //Gas alerts // Gas alerts are continuously thrown/cleared by: @@ -213,15 +221,52 @@ icon_state = "gross3" /atom/movable/screen/alert/hot - name = "Too Hot" - desc = "You're flaming hot! Get somewhere cooler and take off any insulating clothing like a fire suit." + name = "Hot" icon_state = "hot" +/atom/movable/screen/alert/hot/update_name(updates) + . = ..() + switch(severity) + if(1) + name = "Warm" + if(2) + name = "Hot" + if(3) + name = "Flaming Hot" + +/atom/movable/screen/alert/hot/update_desc(updates) + . = ..() + switch(severity) + if(1) + desc = "It's pretty warm around here. You might not want to stick around for long, but it won't hurt you unless it gets hotter." + if(2) + desc = "You're getting pretty hot. You might want to find somewhere cooler soon, or take off any insulating clothing like a fire suit." + if(3) + desc = "You're flaming hot! Get somewhere cooler and take off any insulating clothing like a fire suit." + /atom/movable/screen/alert/cold - name = "Too Cold" - desc = "You're freezing cold! Get somewhere warmer and take off any insulating clothing like a space suit." + name = "Cold" icon_state = "cold" +/atom/movable/screen/alert/cold/update_name(updates) + . = ..() + switch(severity) + if(1) + name = "Chilly" + if(2) + name = "Cold" + if(3) + name = "Freezing" + +/atom/movable/screen/alert/cold/update_desc(updates) + . = ..() + switch(severity) + if(1) + desc = "You feel pretty chilly. You might not want to stick around for long, but it won't hurt you unless it gets colder." + if(2) + desc = "You're getting pretty cold. You might want to find somewhere warmer soon, or put on some insulating clothing like a space suit or winter coat." + if(3) + desc = "You're freezing cold! Get somewhere warmer and put on some insulating clothing like a space suit or winter coat." /atom/movable/screen/alert/lowpressure name = "Low Pressure" desc = "The air around you is hazardously thin. A space suit would protect you." @@ -329,7 +374,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." * * offerer - The person giving the alert and item * * receiving - The item being given by the offerer */ -/atom/movable/screen/alert/give/proc/setup(mob/living/carbon/taker, datum/status_effect/offering/offer) +/atom/movable/screen/alert/give/proc/setup(mob/living/taker, datum/status_effect/offering/offer) src.offer = offer var/mob/living/offerer = offer.owner @@ -370,12 +415,15 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." handle_transfer() /// An overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred -/atom/movable/screen/alert/give/proc/handle_transfer() - var/mob/living/carbon/taker = owner +/atom/movable/screen/alert/give/proc/handle_transfer(visible_message = TRUE) + var/mob/living/taker = owner var/mob/living/offerer = offer.owner var/obj/item/receiving = offer.offered_item - taker.take(offerer, receiving) + if(!taker.take(offerer, receiving, visible_message)) + return FALSE + SEND_SIGNAL(offerer, COMSIG_CARBON_ITEM_GIVEN, taker, receiving) + return TRUE /atom/movable/screen/alert/give/highfive additional_desc_text = "Click this alert to slap it." diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm deleted file mode 100644 index e39e1ef36d070d..00000000000000 --- a/code/_onclick/hud/credits.dm +++ /dev/null @@ -1,76 +0,0 @@ -#define CREDIT_ROLL_SPEED 125 -#define CREDIT_SPAWN_SPEED 10 -#define CREDIT_ANIMATE_HEIGHT (14 * world.icon_size) -#define CREDIT_EASE_DURATION 22 -#define CREDITS_PATH "[global.config.directory]/contributors.dmi" - -/client/proc/RollCredits() - set waitfor = FALSE - if(!fexists(CREDITS_PATH)) - return - var/icon/credits_icon = new(CREDITS_PATH) - LAZYINITLIST(credits) - var/list/_credits = credits - add_verb(src, /client/proc/ClearCredits) - var/static/list/credit_order_for_this_round - if(isnull(credit_order_for_this_round)) - credit_order_for_this_round = list("Thanks for playing!") + (shuffle(icon_states(credits_icon)) - "Thanks for playing!") - for(var/I in credit_order_for_this_round) - if(!credits) - return - _credits += new /atom/movable/screen/credit(null, I, src, credits_icon) - sleep(CREDIT_SPAWN_SPEED) - sleep(CREDIT_ROLL_SPEED - CREDIT_SPAWN_SPEED) - remove_verb(src, /client/proc/ClearCredits) - qdel(credits_icon) - -/client/proc/ClearCredits() - set name = "Hide Credits" - set category = "OOC" - remove_verb(src, /client/proc/ClearCredits) - QDEL_LIST(credits) - credits = null - -/atom/movable/screen/credit - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - alpha = 0 - screen_loc = "12,1" - plane = SPLASHSCREEN_PLANE - var/client/parent - var/matrix/target - -/atom/movable/screen/credit/Initialize(mapload, credited, client/P, icon/I) - . = ..() - icon = I - parent = P - icon_state = credited - maptext = MAPTEXT_PIXELLARI(credited) - maptext_x = world.icon_size + 8 - maptext_y = (world.icon_size / 2) - 4 - maptext_width = world.icon_size * 3 - var/matrix/M = matrix(transform) - M.Translate(0, CREDIT_ANIMATE_HEIGHT) - animate(src, transform = M, time = CREDIT_ROLL_SPEED) - target = M - animate(src, alpha = 255, time = CREDIT_EASE_DURATION, flags = ANIMATION_PARALLEL) - addtimer(CALLBACK(src, PROC_REF(FadeOut)), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION) - QDEL_IN(src, CREDIT_ROLL_SPEED) - if(parent) - parent.screen += src - -/atom/movable/screen/credit/Destroy() - icon = null - if(parent) - parent.screen -= src - LAZYREMOVE(parent.credits, src) - parent = null - return ..() - -/atom/movable/screen/credit/proc/FadeOut() - animate(src, alpha = 0, transform = target, time = CREDIT_EASE_DURATION) - -#undef CREDIT_ANIMATE_HEIGHT -#undef CREDIT_EASE_DURATION -#undef CREDIT_ROLL_SPEED -#undef CREDIT_SPAWN_SPEED -#undef CREDITS_PATH diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 539dcb585ab29b..3f149ec8076997 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -334,7 +334,7 @@ send_item_attack_message(attacking_item, user) if(!attacking_item.force) return FALSE - var/damage = attacking_item.force + var/damage = attacking_item.force * user.outgoing_damage_mod if(mob_biotypes & MOB_ROBOTIC) damage *= attacking_item.demolition_mod apply_damage(damage, attacking_item.damtype) diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 5634f11b172c4e..25e6c813157e64 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -234,6 +234,7 @@ GLOBAL_REAL(Master, /datum/controller/master) // Initialize subsystems. for (var/datum/controller/subsystem/subsystem in stage_sorted_subsystems[current_init_stage]) init_subsystem(subsystem) + #ifndef OPENDREAM if(world.system_type == MS_WINDOWS) var/ss_name = "[subsystem.name]" var/memory_summary = call_ext("memorystats", "get_memory_stats")() @@ -241,6 +242,7 @@ GLOBAL_REAL(Master, /datum/controller/master) var/string = "[ss_name] [memory_summary]" WRITE_FILE(file, string) + #endif CHECK_TICK current_initializing_subsystem = null diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 21bab011b399cd..1b77a85555544c 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -4,7 +4,7 @@ SUBSYSTEM_DEF(blackbox) runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME init_order = INIT_ORDER_BLACKBOX - var/list/feedback_list = list() //list of datum/feedback_variable + var/list/datum/feedback_variable/feedback_list = list() //list of datum/feedback_variable var/list/first_death = list() //the first death of this round, assoc. vars keep track of different things var/triggertime = 0 var/sealed = FALSE //time to stop tracking stats? diff --git a/code/controllers/subsystem/dcs.dm b/code/controllers/subsystem/dcs.dm index 8e305d95699b05..8dbd88e6231a46 100644 --- a/code/controllers/subsystem/dcs.dm +++ b/code/controllers/subsystem/dcs.dm @@ -58,3 +58,12 @@ PROCESSING_SUBSYSTEM_DEF(dcs) fullid += named_arguments return list2params(fullid) + +/datum/controller/subsystem/processing/dcs/proc/_Has_Element(atom/checker, datum/element/element_id) + var/datum/element/eletype = elements_by_type[element_id] + if(!eletype) + return FALSE //not yet created simply return FALSE + + if(!(checker in eletype?._signal_procs)) //shitcode beware + return FALSE + return TRUE diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 4c19a9231c71b7..e298d4a632f120 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -74,6 +74,8 @@ SUBSYSTEM_DEF(ticker) ///add jobs to this that should get rewarded monkecoins, example: JOB_SECURITY_OFFICER var/list/jobs_to_reward = list(JOB_JANITOR,) + var/list/popcount + /datum/controller/subsystem/ticker/Initialize() // monkestation start: fix-lobby-music var/old_login_music = trim(file2text("data/last_round_lobby_music.txt")) diff --git a/code/datums/atmosphere/planetary.dm b/code/datums/atmosphere/planetary.dm index 3fa845b144cd9c..868658f0422670 100644 --- a/code/datums/atmosphere/planetary.dm +++ b/code/datums/atmosphere/planetary.dm @@ -47,8 +47,8 @@ minimum_pressure = HAZARD_LOW_PRESSURE + 10 maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1 - minimum_temp = 180 - maximum_temp = 180 + minimum_temp = ICEBOX_MIN_TEMPERATURE + maximum_temp = ICEBOX_MIN_TEMPERATURE /datum/atmosphere/oshan id = OSHAN_DEFAULT_ATMOS diff --git a/code/datums/bodypart_overlays/bodypart_overlay.dm b/code/datums/bodypart_overlays/bodypart_overlay.dm index 3173296a03e8f7..365a9f73197e36 100644 --- a/code/datums/bodypart_overlays/bodypart_overlay.dm +++ b/code/datums/bodypart_overlays/bodypart_overlay.dm @@ -8,6 +8,14 @@ ///Key of the icon states of all the sprite_datums for easy caching var/cache_key = "" + ///our color palette + var/datum/color_palette/palette + ///our palette key + var/palette_key + ///our fallback key + var/fallback_key + ///list of palette keys to colors used if the accessory says it needs multiple colors + var/list/color_keys ///Wrapper for getting the proper image, colored and everything /datum/bodypart_overlay/proc/get_overlay(layer, obj/item/bodypart/limb) diff --git a/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm b/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm index 0b52225359cbd6..e5abf9f742ef6a 100644 --- a/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm +++ b/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm @@ -13,10 +13,6 @@ ///Take on the dna/preference from whoever we're gonna be inserted in var/imprint_on_next_insertion = TRUE -/datum/bodypart_overlay/mutant/get_overlay(layer, obj/item/bodypart/limb) - inherit_color(limb) // If draw_color is not set yet, go ahead and do that - return ..() - ///Completely random image and color generation (obeys what a player can choose from) /datum/bodypart_overlay/mutant/proc/randomize_appearance() randomize_sprite() @@ -53,27 +49,6 @@ /datum/bodypart_overlay/mutant/proc/get_base_icon_state() return sprite_datum.icon_state -///Get the image we need to draw on the person. Called from get_overlay() which is called from _bodyparts.dm. Limb can be null -/datum/bodypart_overlay/mutant/get_image(image_layer, obj/item/bodypart/limb) - if(!sprite_datum) - CRASH("Trying to call get_image() on [type] while it didn't have a sprite_datum. This shouldn't happen, report it as soon as possible.") - - var/gender = (limb?.limb_gender == FEMALE) ? "f" : "m" - var/list/icon_state_builder = list() - icon_state_builder += sprite_datum.gender_specific ? gender : "m" //Male is default because sprite accessories are so ancient they predate the concept of not hardcoding gender - icon_state_builder += feature_key - icon_state_builder += get_base_icon_state() - icon_state_builder += mutant_bodyparts_layertext(image_layer) - - var/finished_icon_state = icon_state_builder.Join("_") - - var/mutable_appearance/appearance = mutable_appearance(sprite_datum.icon, finished_icon_state, layer = image_layer) - - if(sprite_datum.center) - center_image(appearance, sprite_datum.dimension_x, sprite_datum.dimension_y) - - return appearance - ///Get the image we need to draw on the person. Called from get_overlay() which is called from _bodyparts.dm. Limb can be null /datum/bodypart_overlay/mutant/get_image_inner(image_layer, obj/item/bodypart/limb) if(!sprite_datum) @@ -98,10 +73,6 @@ return appearance -/datum/bodypart_overlay/mutant/color_image(image/overlay, layer, obj/item/bodypart/limb) - - overlay.color = sprite_datum.color_src ? draw_color : null - /datum/bodypart_overlay/mutant/added_to_limb(obj/item/bodypart/limb) inherit_color(limb) @@ -136,26 +107,25 @@ if(draw_color && !force) return FALSE - switch(color_source) - if(ORGAN_COLOR_OVERRIDE) - draw_color = override_color(ownerlimb.draw_color) - if(ORGAN_COLOR_INHERIT) - draw_color = ownerlimb.draw_color - if(ORGAN_COLOR_HAIR) - if(!ishuman(ownerlimb.owner)) - return - var/mob/living/carbon/human/human_owner = ownerlimb.owner - draw_color = human_owner.hair_color - if(ORGAN_COLOR_ANIME) - if(!ishuman(ownerlimb.owner)) - return - var/mob/living/carbon/human/human_owner = ownerlimb.owner - draw_color = human_owner.dna.features["animecolor"] - if(ORGAN_COLOR_MUTSECONDARY) - if(!ishuman(ownerlimb.owner)) - return - var/mob/living/carbon/human/human_owner = ownerlimb.owner - draw_color = human_owner.dna.features["mcolor_secondary"] + if(palette) + var/datum/color_palette/located = ownerlimb.owner.dna.color_palettes[palette] + draw_color = located.return_color(palette_key, fallback_key) + else + switch(color_source) + if(ORGAN_COLOR_OVERRIDE) + draw_color = override_color(ownerlimb.draw_color) + if(ORGAN_COLOR_INHERIT) + draw_color = ownerlimb.draw_color + if(ORGAN_COLOR_HAIR) + if(!ishuman(ownerlimb.owner)) + return + var/mob/living/carbon/human/human_owner = ownerlimb.owner + draw_color = human_owner.hair_color + if(ORGAN_COLOR_ANIME) + if(!ishuman(ownerlimb.owner)) + return + var/mob/living/carbon/human/human_owner = ownerlimb.owner + draw_color = human_owner.dna.features["animecolor"] return TRUE diff --git a/code/datums/components/bloodysoles.dm b/code/datums/components/bloodysoles.dm index 0d950031f229f7..b2e98144d53611 100644 --- a/code/datums/components/bloodysoles.dm +++ b/code/datums/components/bloodysoles.dm @@ -3,35 +3,44 @@ * Component for clothing items that can pick up blood from decals and spread it around everywhere when walking, such as shoes or suits with integrated shoes. */ /datum/component/bloodysoles + /* /// The type of the last grub pool we stepped in, used to decide the type of footprints to make var/last_blood_state = BLOOD_STATE_NOT_BLOODY /// How much of each grubby type we have on our feet var/list/bloody_shoes = list(BLOOD_STATE_HUMAN = 0,BLOOD_STATE_XENO = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0) + */ //Monkestation removal: BLOOD_DATUMS + + // Monkestation Addition: BLOOD_DATUMS + /// What percentage of the bloodiness is deposited on the ground per step + var/blood_dropped_per_step = 3 + /// Bloodiness on our clothines + VAR_FINAL/total_bloodiness = 0 + // Monkestation Addition: BLOOD_DATUMS /// The ITEM_SLOT_* slot the item is equipped on, if it is. var/equipped_slot - /// The parent item but casted into atom type for easier use. - var/atom/parent_atom - /// Either the mob carrying the item, or the mob itself for the /feet component subtype - var/mob/living/carbon/wielder + VAR_FINAL/mob/living/carbon/wielder /// The world.time when we last picked up blood - var/last_pickup + VAR_FINAL/last_pickup var/footprint_sprite = FOOTPRINT_SPRITE_SHOES /datum/component/bloodysoles/Initialize() if(!isclothing(parent)) return COMPONENT_INCOMPATIBLE - parent_atom = parent RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean)) +/datum/component/bloodysoles/Destroy() + wielder = null + return ..() + /** * Unregisters from the wielder if necessary */ @@ -55,63 +64,52 @@ var/obj/item/parent_item = parent parent_item.update_slot_icon() - -/datum/component/bloodysoles/proc/reset_bloody_shoes() - bloody_shoes = list(BLOOD_STATE_HUMAN = 0, BLOOD_STATE_XENO = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0) - on_changed_bloody_shoes(BLOOD_STATE_NOT_BLOODY) - -///lowers bloody_shoes[index] by adjust_by -/datum/component/bloodysoles/proc/adjust_bloody_shoes(index, adjust_by) - bloody_shoes[index] = max(bloody_shoes[index] - adjust_by, 0) - on_changed_bloody_shoes() - -/datum/component/bloodysoles/proc/set_bloody_shoes(index, new_value) - bloody_shoes[index] = new_value - on_changed_bloody_shoes(index) - ///called whenever the value of bloody_soles changes -/datum/component/bloodysoles/proc/on_changed_bloody_shoes(index) - if(index && index != last_blood_state) - last_blood_state = index +/datum/component/bloodysoles/proc/change_blood_amount(some_amount) + total_bloodiness = clamp(round(total_bloodiness + some_amount, 0.1), 0, BLOOD_ITEM_MAX) if(!wielder) return - if(bloody_shoes[index] <= BLOOD_FOOTPRINTS_MIN * 2)//need twice that amount to make footprints + if(total_bloodiness <= BLOOD_FOOTPRINTS_MIN * 2)//need twice that amount to make footprints UnregisterSignal(wielder, COMSIG_MOVABLE_MOVED) else RegisterSignal(wielder, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved), override = TRUE) + update_icon() /** * Run to equally share the blood between us and a decal */ /datum/component/bloodysoles/proc/share_blood(obj/effect/decal/cleanable/pool) // Share the blood between our boots and the blood pool - var/total_bloodiness = pool.bloodiness + bloody_shoes[pool.blood_state] - - // We can however be limited by how much blood we can hold - var/new_our_bloodiness = min(BLOOD_ITEM_MAX, total_bloodiness / 2) - - set_bloody_shoes(pool.blood_state, new_our_bloodiness) - pool.bloodiness = total_bloodiness - new_our_bloodiness // Give the pool the remaining blood incase we were limited + var/new_total_bloodiness = min(BLOOD_ITEM_MAX, pool.bloodiness + total_bloodiness / 2) + if(new_total_bloodiness == total_bloodiness || new_total_bloodiness == 0) + return - if(HAS_TRAIT(wielder, TRAIT_LIGHT_STEP)) //the character is agile enough to don't mess their clothing and hands just from one blood splatter at floor - return TRUE + var/delta = new_total_bloodiness - total_bloodiness + pool.adjust_bloodiness(-1 * delta) + change_blood_amount(delta) + var/atom/parent_atom = parent parent_atom.add_blood_DNA(GET_ATOM_BLOOD_DNA(pool)) - update_icon() /** - * Find a blood decal on a turf that matches our last_blood_state + * Adds blood to an existing (or new) footprint */ -/datum/component/bloodysoles/proc/find_pool_by_blood_state(turf/turfLoc, typeFilter = null, footprint_sprite) - for(var/obj/effect/decal/cleanable/blood/pool in turfLoc) - if(pool.blood_state == last_blood_state && pool.footprint_sprite == footprint_sprite && (!typeFilter || istype(pool, typeFilter))) - return pool +/datum/component/bloodysoles/proc/add_blood_to_footprint(obj/effect/decal/cleanable/blood/footprints/footprint, bloodiness_to_add, exiting = FALSE) + var/atom/atom_parent = parent + add_parent_to_footprint(footprint) + footprint.adjust_bloodiness(bloodiness_to_add) + footprint.add_blood_DNA(GET_ATOM_BLOOD_DNA(atom_parent)) + if(exiting) + footprint.exited_dirs |= wielder.dir + else + footprint.entered_dirs |= wielder.dir + footprint.update_appearance() /** * Adds the parent type to the footprint's shoe_types var */ -/datum/component/bloodysoles/proc/add_parent_to_footprint(obj/effect/decal/cleanable/blood/footprints/FP) - FP.shoe_types |= parent.type +/datum/component/bloodysoles/proc/add_parent_to_footprint(obj/effect/decal/cleanable/blood/footprints/footprint) + footprint.shoe_types |= parent.type /** * Called when the parent item is equipped by someone @@ -130,7 +128,7 @@ equipped_slot = slot wielder = equipper - if(bloody_shoes[last_blood_state] > BLOOD_FOOTPRINTS_MIN * 2) + if(total_bloodiness > BLOOD_FOOTPRINTS_MIN * 2) RegisterSignal(wielder, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) RegisterSignal(wielder, COMSIG_STEP_ON_BLOOD, PROC_REF(on_step_blood)) @@ -149,61 +147,51 @@ * * Used to make bloody footprints on the ground */ -/datum/component/bloodysoles/proc/on_moved(datum/source, OldLoc, Dir, Forced) +/datum/component/bloodysoles/proc/on_moved(datum/source, atom/old_loc, Dir, Forced) SIGNAL_HANDLER - if(bloody_shoes[last_blood_state] == 0) + if(total_bloodiness <= 0) return if(QDELETED(wielder) || is_obscured()) return if(wielder.body_position == LYING_DOWN || !wielder.has_gravity(wielder.loc)) return - var/half_our_blood = bloody_shoes[last_blood_state] / 2 - var/footprint_sprite = wielder.get_footprint_sprite() + var/atom/parent_atom = parent + var/blood_used = round(total_bloodiness / 3, 0.01) + // Add footprints in old loc if we have enough cream - if(half_our_blood >= BLOOD_FOOTPRINTS_MIN) - var/turf/oldLocTurf = get_turf(OldLoc) - var/obj/effect/decal/cleanable/blood/footprints/oldLocFP = find_pool_by_blood_state(oldLocTurf, /obj/effect/decal/cleanable/blood/footprints, footprint_sprite) - if(oldLocFP) - // Footprints found in the tile we left, add us to it - add_parent_to_footprint(oldLocFP) - if (!(oldLocFP.exited_dirs & wielder.dir)) - oldLocFP.exited_dirs |= wielder.dir - oldLocFP.update_appearance() - else if(find_pool_by_blood_state(oldLocTurf, footprint_sprite = footprint_sprite)) - // No footprints in the tile we left, but there was some other blood pool there. Add exit footprints on it - adjust_bloody_shoes(last_blood_state, half_our_blood) - update_icon() + if(blood_used >= BLOOD_FOOTPRINTS_MIN) + var/turf/old_loc_turf = get_turf(old_loc) + var/obj/effect/decal/cleanable/blood/footprints/old_loc_prints = locate() in old_loc_turf + if(old_loc_prints) + add_blood_to_footprint(old_loc_prints, 0, TRUE) // Add no actual blood, just update sprite - oldLocFP = new(oldLocTurf, footprint_sprite) - if(!QDELETED(oldLocFP)) ///prints merged - oldLocFP.blood_state = last_blood_state - oldLocFP.exited_dirs |= wielder.dir - add_parent_to_footprint(oldLocFP) - oldLocFP.bloodiness = half_our_blood - oldLocFP.add_blood_DNA(GET_ATOM_BLOOD_DNA(parent_atom)) - oldLocFP.update_appearance() + else if(locate(/obj/effect/decal/cleanable/blood) in old_loc_turf) + // No footprints in the tile we left, but there was some other blood pool there. Add exit footprints on it + change_blood_amount(-1 * blood_used) + old_loc_prints = new(old_loc_turf) + if(!QDELETED(old_loc_prints)) // prints merged + add_blood_to_footprint(old_loc_prints, blood_used, TRUE) - half_our_blood = bloody_shoes[last_blood_state] / 2 + blood_used = round(total_bloodiness / 3, 0.01) // If we picked up the blood on this tick in on_step_blood, don't make footprints at the same place if(last_pickup && last_pickup == world.time) return // Create new footprints - if(half_our_blood >= BLOOD_FOOTPRINTS_MIN) - adjust_bloody_shoes(last_blood_state, half_our_blood) - update_icon() + if(blood_used >= BLOOD_FOOTPRINTS_MIN) + var/turf/new_loc_turf = get_turf(parent_atom) + var/obj/effect/decal/cleanable/blood/footprints/new_loc_prints = locate() in new_loc_turf + if(new_loc_prints) + add_blood_to_footprint(new_loc_prints, 0, FALSE) // Add no actual blood, just update sprite - var/obj/effect/decal/cleanable/blood/footprints/FP = new(get_turf(parent_atom), footprint_sprite) - if(!QDELETED(FP)) ///prints merged - FP.blood_state = last_blood_state - FP.entered_dirs |= wielder.dir - add_parent_to_footprint(FP) - FP.bloodiness = half_our_blood - FP.add_blood_DNA(GET_ATOM_BLOOD_DNA(parent_atom)) - FP.update_appearance() + else + change_blood_amount(-1 * blood_used) + new_loc_prints = new(new_loc_turf) + if(!QDELETED(new_loc_prints)) // prints merged + add_blood_to_footprint(new_loc_prints, blood_used, FALSE) /** @@ -214,20 +202,16 @@ /datum/component/bloodysoles/proc/on_step_blood(datum/source, obj/effect/decal/cleanable/pool) SIGNAL_HANDLER - if(QDELETED(wielder) || is_obscured()) + if(QDELETED(wielder) || is_obscured() || !wielder.has_gravity(wielder.loc)) + return + /// The character is agile enough to not mess their clothing and hands just from one blood splatter at floor + if(HAS_TRAIT(wielder, TRAIT_LIGHT_STEP)) + return + // Don't share from other feetprints, not super realistic but I think it ruins the effect a bit + if(istype(pool, /obj/effect/decal/cleanable/blood/footprints)) return - - if(istype(pool, /obj/effect/decal/cleanable/blood/footprints) && pool.blood_state == last_blood_state) - // The pool we stepped in was actually footprints with the same type - var/obj/effect/decal/cleanable/blood/footprints/pool_FP = pool - add_parent_to_footprint(pool_FP) - if((bloody_shoes[last_blood_state] / 2) >= BLOOD_FOOTPRINTS_MIN && !(pool_FP.entered_dirs & wielder.dir)) - // If our feet are bloody enough, add an entered dir - pool_FP.entered_dirs |= wielder.dir - pool_FP.update_appearance() share_blood(pool) - last_pickup = world.time /** @@ -236,10 +220,10 @@ /datum/component/bloodysoles/proc/on_clean(datum/source, clean_types) SIGNAL_HANDLER - if(!(clean_types & CLEAN_TYPE_BLOOD) || last_blood_state == BLOOD_STATE_NOT_BLOODY) + if(!(clean_types & CLEAN_TYPE_BLOOD)) return NONE - reset_bloody_shoes() + total_bloodiness = 0 update_icon() return COMPONENT_CLEANED @@ -248,12 +232,12 @@ * Like its parent but can be applied to carbon mobs instead of clothing items */ /datum/component/bloodysoles/feet + equipped_slot = ITEM_SLOT_FEET var/static/mutable_appearance/bloody_feet /datum/component/bloodysoles/feet/Initialize() if(!iscarbon(parent)) return COMPONENT_INCOMPATIBLE - parent_atom = parent wielder = parent if(footprint_sprite) src.footprint_sprite = footprint_sprite @@ -266,29 +250,26 @@ RegisterSignal(parent, COMSIG_CARBON_EQUIP_SHOECOVER, PROC_REF(equip_shoecover)) /datum/component/bloodysoles/feet/update_icon() - if(ishuman(wielder)) - var/mob/living/carbon/human/human = wielder - if(NOBLOODOVERLAY in human.dna.species.species_traits) - return - if(bloody_shoes[BLOOD_STATE_HUMAN] > 0 && !is_obscured()) - human.remove_overlay(SHOES_LAYER) - human.overlays_standing[SHOES_LAYER] = bloody_feet - human.apply_overlay(SHOES_LAYER) - else - human.update_worn_shoes() + if(!ishuman(wielder) || HAS_TRAIT(wielder, TRAIT_NO_BLOOD_OVERLAY)) + return + wielder.remove_overlay(SHOES_LAYER) + if(total_bloodiness > 0 && !is_obscured()) + bloody_feet.color = wielder.get_blood_dna_color() + wielder.overlays_standing[SHOES_LAYER] = bloody_feet + wielder.apply_overlay(SHOES_LAYER) + else + wielder.update_worn_shoes() -/datum/component/bloodysoles/feet/add_parent_to_footprint(obj/effect/decal/cleanable/blood/footprints/FP) +/datum/component/bloodysoles/feet/add_parent_to_footprint(obj/effect/decal/cleanable/blood/footprints/footprint) if(!ishuman(wielder)) - FP.species_types |= "unknown" + footprint.species_types |= "unknown" return // Find any leg of our human and add that to the footprint, instead of the default which is to just add the human type - for(var/X in wielder.bodyparts) - var/obj/item/bodypart/affecting = X - if(affecting.body_part == LEG_RIGHT || affecting.body_part == LEG_LEFT) - if(!affecting.bodypart_disabled) - FP.species_types |= affecting.limb_id - break + for(var/obj/item/bodypart/affecting as anything in wielder.bodyparts) + if(!affecting.bodypart_disabled && (affecting.body_part == LEG_RIGHT || affecting.body_part == LEG_LEFT)) + footprint.species_types |= affecting.limb_id + break /datum/component/bloodysoles/feet/is_obscured() @@ -297,16 +278,12 @@ return wielder.check_obscured_slots(TRUE) & ITEM_SLOT_FEET /datum/component/bloodysoles/feet/on_moved(datum/source, OldLoc, Dir, Forced) - if(wielder.num_legs < 2) - return - - ..() + if(wielder.num_legs >= 2) + return ..() /datum/component/bloodysoles/feet/on_step_blood(datum/source, obj/effect/decal/cleanable/pool) - if(wielder.num_legs < 2) - return - - ..() + if(wielder.num_legs >= 2) + return ..() /datum/component/bloodysoles/feet/proc/unequip_shoecover(datum/source) SIGNAL_HANDLER diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 55e14ac851d392..08864d934cb9ea 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -150,7 +150,7 @@ butcher_callback?.Invoke(butcher, meat) meat.harvest(butcher) meat.log_message("has been butchered by [key_name(butcher)]", LOG_ATTACK) - meat.gib(FALSE, FALSE, TRUE) + meat.gib(FALSE, FALSE, FALSE, TRUE) ///Enables the butchering mechanic for the mob who has equipped us. /datum/component/butchering/proc/enable_butchering(datum/source) diff --git a/code/datums/components/cleaner.dm b/code/datums/components/cleaner.dm index 874af94cc50e53..eff8531afafc6c 100644 --- a/code/datums/components/cleaner.dm +++ b/code/datums/components/cleaner.dm @@ -96,8 +96,8 @@ ADD_TRAIT(target, TRAIT_CURRENTLY_CLEANING, REF(src)) // We need to update our planes on overlay changes RegisterSignal(target, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(cleaning_target_moved)) - var/mutable_appearance/low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, target, GAME_PLANE) - var/mutable_appearance/high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, target, ABOVE_GAME_PLANE) + var/mutable_appearance/low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, target, GAME_PLANE, appearance_flags = RESET_COLOR) // Monkestation edit BLOOD_DATUM + var/mutable_appearance/high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, target, ABOVE_GAME_PLANE, appearance_flags = RESET_COLOR) // Monkestation edit BLOOD_DATUM if(target.plane > low_bubble.plane) //check if the higher overlay is necessary target.add_overlay(high_bubble) else if(target.plane == low_bubble.plane) @@ -140,16 +140,18 @@ REMOVE_TRAIT(target, TRAIT_CURRENTLY_CLEANING, REF(src)) /datum/component/cleaner/proc/cleaning_target_moved(atom/movable/source, turf/old_turf, turf/new_turf, same_z_layer) + SIGNAL_HANDLER + if(same_z_layer) return // First, get rid of the old overlay - var/mutable_appearance/old_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, GAME_PLANE) - var/mutable_appearance/old_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, ABOVE_GAME_PLANE) + var/mutable_appearance/old_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, GAME_PLANE, appearance_flags = RESET_COLOR) // NON-MODULE CHANGE + var/mutable_appearance/old_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, ABOVE_GAME_PLANE, appearance_flags = RESET_COLOR) // NON-MODULE CHANGE source.cut_overlay(old_low_bubble) source.cut_overlay(old_high_bubble) // Now, add the new one - var/mutable_appearance/new_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, GAME_PLANE) - var/mutable_appearance/new_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, ABOVE_GAME_PLANE) + var/mutable_appearance/new_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, GAME_PLANE, appearance_flags = RESET_COLOR) // NON-MODULE CHANGE + var/mutable_appearance/new_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, ABOVE_GAME_PLANE, appearance_flags = RESET_COLOR) // NON-MODULE CHANGE source.add_overlay(new_low_bubble) source.add_overlay(new_high_bubble) diff --git a/code/datums/components/cult_ritual_item.dm b/code/datums/components/cult_ritual_item.dm index 584d9c0f52674f..8d2e9fc133e0ea 100644 --- a/code/datums/components/cult_ritual_item.dm +++ b/code/datums/components/cult_ritual_item.dm @@ -303,7 +303,7 @@ span_cult("You [cultist.blood_volume ? "slice open your arm and ":""]begin drawing a sigil of the Geometer.") ) - if(cultist.blood_volume) + if(!HAS_TRAIT(cultist, TRAIT_NOBLOOD)) // Monkestation Edit: BLOOD_DATUM cultist.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, pick(GLOB.arm_zones), wound_bonus = CANT_WOUND) // *cuts arm* *bone explodes* ever have one of those days? var/scribe_mod = initial(rune_to_scribe.scribe_delay) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index 33de3942ec3a70..a1726ca00b4e8d 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -452,7 +452,7 @@ Behavior that's still missing from this component that original food items had t stack_trace("[eater] failed to bite [owner], because [owner] had no reagents.") return FALSE if(eater.satiety > -200) - eater.satiety -= junkiness + eater.adjust_satiety(-junkiness) playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE) if(!owner.reagents.total_volume) return @@ -511,57 +511,39 @@ Behavior that's still missing from this component that original food items had t return TRUE ///Check foodtypes to see if we should send a moodlet -/datum/component/edible/proc/checkLiked(fraction, mob/M) +/datum/component/edible/proc/checkLiked(fraction, mob/eater) if(last_check_time + 50 > world.time) return FALSE - if(!ishuman(M)) + if(!ishuman(eater)) return FALSE - var/mob/living/carbon/human/H = M + var/mob/living/carbon/human/gourmand = eater //Bruh this breakfast thing is cringe and shouldve been handled separately from food-types, remove this in the future (Actually, just kill foodtypes in general) if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) - H.add_mood_event("breakfast", /datum/mood_event/breakfast) + gourmand.add_mood_event("breakfast", /datum/mood_event/breakfast) last_check_time = world.time - if(HAS_TRAIT(H, TRAIT_AGEUSIA)) - if(foodtypes & H.dna.species.toxic_food) - to_chat(H, span_warning("You don't feel so good...")) - H.adjust_disgust(25 + 30 * fraction) - return // Don't care about the later checks if user has ageusia - var/food_taste_reaction if(check_liked) //Callback handling; use this as an override for special food like donuts - food_taste_reaction = check_liked.Invoke(fraction, H) + food_taste_reaction = check_liked.Invoke(fraction, gourmand) if(!food_taste_reaction) - if(foodtypes & H.dna.species.toxic_food) - food_taste_reaction = FOOD_TOXIC - else if(foodtypes & H.dna.species.disliked_food) - food_taste_reaction = FOOD_DISLIKED - else if(foodtypes & H.dna.species.liked_food) - food_taste_reaction = FOOD_LIKED - - if(HAS_TRAIT(parent, TRAIT_FOOD_SILVER)) // it's not real food - food_taste_reaction = isjellyperson(H) ? FOOD_LIKED : FOOD_TOXIC + food_taste_reaction = gourmand.get_food_taste_reaction(parent, foodtypes) switch(food_taste_reaction) if(FOOD_TOXIC) - to_chat(H,span_warning("What the hell was that thing?!")) - H.adjust_disgust(25 + 30 * fraction) - H.add_mood_event("toxic_food", /datum/mood_event/disgusting_food) + to_chat(gourmand,span_warning("What the hell was that thing?!")) + gourmand.adjust_disgust(25 + 30 * fraction) + gourmand.add_mood_event("toxic_food", /datum/mood_event/disgusting_food) if(FOOD_DISLIKED) - to_chat(H,span_notice("That didn't taste very good...")) - H.adjust_disgust(11 + 15 * fraction) - H.add_mood_event("gross_food", /datum/mood_event/gross_food) + to_chat(gourmand,span_notice("That didn't taste very good...")) + gourmand.adjust_disgust(11 + 15 * fraction) + gourmand.add_mood_event("gross_food", /datum/mood_event/gross_food) if(FOOD_LIKED) - to_chat(H,span_notice("I love this taste!")) - H.adjust_disgust(-5 + -2.5 * fraction) - H.add_mood_event("fav_food", /datum/mood_event/favorite_food) - if(istype(parent, /obj/item/food)) - var/obj/item/food/memorable_food = parent - if(memorable_food.venue_value >= FOOD_PRICE_EXOTIC) - H.add_mob_memory(/datum/memory/good_food, food = parent) + to_chat(gourmand,span_notice("I love this taste!")) + gourmand.adjust_disgust(-5 + -2.5 * fraction) + gourmand.add_mood_event("fav_food", /datum/mood_event/favorite_food) ///Delete the item when it is fully eaten /datum/component/edible/proc/On_Consume(mob/living/eater, mob/living/feeder) diff --git a/code/datums/components/rot.dm b/code/datums/components/rot.dm index 4dcb69a2e9ebcd..7898d252b5ca71 100644 --- a/code/datums/components/rot.dm +++ b/code/datums/components/rot.dm @@ -42,20 +42,25 @@ AddComponent(/datum/component/connect_loc_behalf, parent, loc_connections) RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(rot_react)) if(isliving(parent)) + var/mob/living/living_parent = parent RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(react_to_revive)) //mobs stop this when they come to life RegisterSignal(parent, COMSIG_LIVING_GET_PULLED, PROC_REF(rot_react_touch)) + + RegisterSignal(parent, COMSIG_LIVING_BODY_TEMPERATURE_CHANGE, PROC_REF(check_for_temperature)) + check_for_temperature(parent, living_parent.bodytemperature, living_parent.bodytemperature) if(iscarbon(parent)) var/mob/living/carbon/carbon_parent = parent - RegisterSignals(carbon_parent.reagents, list(COMSIG_REAGENTS_ADD_REAGENT, + RegisterSignals(carbon_parent.reagents, list( + COMSIG_REAGENTS_ADD_REAGENT, + COMSIG_REAGENTS_DEL_REAGENT, COMSIG_REAGENTS_REM_REAGENT, - COMSIG_REAGENTS_DEL_REAGENT), PROC_REF(check_reagent)) - RegisterSignals(parent, list(SIGNAL_ADDTRAIT(TRAIT_HUSK), SIGNAL_REMOVETRAIT(TRAIT_HUSK)), PROC_REF(check_husk_trait)) + ), PROC_REF(check_reagent)) check_reagent(carbon_parent.reagents, null) - check_husk_trait(null) - if(ishuman(parent)) - var/mob/living/carbon/human/human_parent = parent - RegisterSignal(parent, COMSIG_HUMAN_CORETEMP_CHANGE, PROC_REF(check_for_temperature)) - check_for_temperature(null, 0, human_parent.coretemperature) + + RegisterSignals(parent, list( + SIGNAL_ADDTRAIT(TRAIT_HUSK), + SIGNAL_REMOVETRAIT(TRAIT_HUSK), + ), PROC_REF(check_husk_trait)) start_up(NONE) //If nothing's blocking it, start diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index bfdd2ce481fbc9..9ccf58e7143174 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -367,25 +367,12 @@ var/obj/machinery/vending/darth_vendor = hit darth_vendor.tilt(user, 100) return - else if(istype(hit, /obj/structure/window)) - var/obj/structure/window/W = hit - splatWindow(user, W) - if(QDELETED(W)) - return COMPONENT_MOVABLE_IMPACT_NEVERMIND - return - var/oopsie_mod = 0 var/danger_zone = (speed - 1) * 13 // for every extra speed we have over 1, take away 13 of the safest chance danger_zone = max(min(danger_zone, 100), 1) - if(ishuman(user)) - var/mob/living/carbon/human/S = user - var/head_slot = S.get_item_by_slot(ITEM_SLOT_HEAD) - var/suit_slot = S.get_item_by_slot(ITEM_SLOT_OCLOTHING) - if(head_slot && (istype(head_slot,/obj/item/clothing/head/helmet) || istype(head_slot,/obj/item/clothing/head/utility/hardhat))) - oopsie_mod -= 6 - if(suit_slot && (istype(suit_slot,/obj/item/clothing/suit/armor/riot))) - oopsie_mod -= 6 + oopsie_mod -= floor(user.getarmor(BODY_ZONE_HEAD, MELEE) * 0.18) + oopsie_mod -= floor(user.getarmor(BODY_ZONE_CHEST, MELEE) * 0.12) if(HAS_TRAIT(user, TRAIT_CLUMSY)) oopsie_mod += 6 //honk! @@ -411,7 +398,7 @@ playsound(user, 'sound/effects/blobattack.ogg', 60, TRUE) playsound(user, 'sound/effects/splat.ogg', 70, TRUE) playsound(user, 'sound/effects/wounds/crack2.ogg', 70, TRUE) - user.emote("scream") + user.pain_emote("scream") user.gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic) // oopsie indeed! shake_camera(user, 7, 7) user.flash_act(1, TRUE, TRUE, length = 4.5) @@ -476,31 +463,6 @@ QDEL_NULL(tackle_ref) UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) -///A special case for splatting for handling windows -/datum/component/tackler/proc/splatWindow(mob/living/carbon/user, obj/structure/window/W) - playsound(user, 'sound/effects/Glasshit.ogg', 140, TRUE) - - if(W.type in list(/obj/structure/window, /obj/structure/window/fulltile, /obj/structure/window/unanchored, /obj/structure/window/fulltile/unanchored)) // boring unreinforced windows - for(var/i in 1 to speed) - var/obj/item/shard/shard = new /obj/item/shard(get_turf(user)) - shard.embedding = list(embed_chance = 100, ignore_throwspeed_threshold = TRUE, impact_pain_mult=3, pain_chance=5) - shard.updateEmbedding() - user.hitby(shard, skipcatch = TRUE, hitpush = FALSE) - shard.embedding = null - shard.updateEmbedding() - W.atom_destruction() - user.stamina.adjust(-10 * speed) - user.Paralyze(3 SECONDS) - user.visible_message(span_danger("[user] smacks into [W] and shatters it, shredding [user.p_them()]self with glass!"), span_userdanger("You smacks into [W] and shatter it, shredding yourself with glass!")) - - else - user.visible_message(span_danger("[user] smacks into [W] like a bug!"), span_userdanger("You smacks into [W] like a bug!")) - user.Paralyze(1 SECONDS) - user.Knockdown(3 SECONDS) - W.take_damage(30 * speed) - user.stamina.adjust(-10 * speed) - user.adjustBruteLoss(5 * speed) - /datum/component/tackler/proc/delayedSmash(obj/structure/window/W) if(W) W.atom_destruction() diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm index 7fd6bf70d49409..77e3b3121a8869 100644 --- a/code/datums/diseases/advance/symptoms/fever.dm +++ b/code/datums/diseases/advance/symptoms/fever.dm @@ -26,6 +26,7 @@ "Resistance 5" = "Increases fever intensity, fever can overheat and harm the host.", "Resistance 10" = "Further increases fever intensity.", ) + var/heat_cap = 6 KELVIN /datum/symptom/fever/Start(datum/disease/advance/A) . = ..() @@ -57,12 +58,9 @@ * * datum/disease/advance/A The disease applying the symptom */ /datum/symptom/fever/proc/set_body_temp(mob/living/M, datum/disease/advance/A) - if(unsafe) // when unsafe the fever can cause heat damage - M.add_body_temperature_change(FEVER_CHANGE, 6 * power * A.stage) - else - // Get the max amount of change allowed before going over heat damage limit, then cap the maximum allowed temperature change from a safe fever to 5 under the heat damage limit - var/change_limit = max(M.get_body_temp_heat_damage_limit() - 5 - M.get_body_temp_normal(apply_change=FALSE), 0) - M.add_body_temperature_change(FEVER_CHANGE, min(6 * power * A.stage, change_limit)) + var/mob/living/affected = M + var/new_level = affected.standard_body_temperature + (heat_cap * power * A.stage) + affected.add_homeostasis_level(type, new_level, 0.25 KELVIN * power) /// Update the body temp change based on the new stage /datum/symptom/fever/on_stage_change(datum/disease/advance/A) @@ -74,6 +72,6 @@ /datum/symptom/fever/End(datum/disease/advance/A) var/mob/living/carbon/M = A.affected_mob if(M) - M.remove_body_temperature_change(FEVER_CHANGE) + M.remove_homeostasis_level(type) #undef FEVER_CHANGE diff --git a/code/datums/dna.dm b/code/datums/dna.dm index a40c0097eb106e..e6c7a51a3e39b8 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -20,7 +20,6 @@ GLOBAL_LIST_INIT(identity_block_lengths, list( * (commonly abbreviated with uf) and its blocks. Both ui and uf have a standard block length of 3 ASCII characters. */ GLOBAL_LIST_INIT(features_block_lengths, list( - "[DNA_MUTANT_COLOR_BLOCK]" = DNA_BLOCK_SIZE_COLOR, "[DNA_ETHEREAL_COLOR_BLOCK]" = DNA_BLOCK_SIZE_COLOR, )) @@ -53,7 +52,10 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) var/unique_enzymes ///Stores the hashed values of traits such as skin tones, hair style, and gender var/unique_identity - var/blood_type + /// So humans have a variety of blood types while other species do not + /// This tracks JUST human blood type. Might seem a bit bias but everyone is a human under their scales and feathers. + /// Essentially only exists so humans have their same blood type swapping from human -> non-human -> human. + var/datum/blood_type/crew/human/human_blood_type ///The type of mutant race the player is if applicable (i.e. potato-man) var/datum/species/species = new /datum/species/human ///first value is mutant color @@ -103,11 +105,12 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) return destination.dna.unique_enzymes = unique_enzymes destination.dna.unique_identity = unique_identity - destination.dna.blood_type = blood_type + destination.dna.human_blood_type = human_blood_type destination.dna.unique_features = unique_features destination.dna.features = features.Copy() destination.dna.real_name = real_name destination.dna.temporary_mutations = temporary_mutations.Copy() + destination.dna.color_palettes = color_palettes.Copy() if(transfer_SE) destination.dna.mutation_index = mutation_index destination.dna.default_mutation_genes = default_mutation_genes @@ -120,8 +123,9 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) new_dna.default_mutation_genes = default_mutation_genes new_dna.unique_identity = unique_identity new_dna.unique_features = unique_features - new_dna.blood_type = blood_type + new_dna.human_blood_type = human_blood_type new_dna.features = features.Copy() + new_dna.color_palettes = color_palettes.Copy() //if the new DNA has a holder, transform them immediately, otherwise save it if(new_dna.holder) new_dna.holder.set_species(species.type, icon_update = 0) @@ -194,12 +198,6 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) . = "" var/list/L = new /list(DNA_FEATURE_BLOCKS) - if(features["mcolor"]) - L[DNA_MUTANT_COLOR_BLOCK] = sanitize_hexcolor(features["mcolor"], include_crunch = FALSE) - if(features["mcolor_secondary"]) - L[DNA_MUTANT_COLOR_SECONDARY] = sanitize_hexcolor(features["mcolor_secondary"], include_crunch = FALSE) - if(features["ethcolor"]) - L[DNA_ETHEREAL_COLOR_BLOCK] = sanitize_hexcolor(features["ethcolor"], include_crunch = FALSE) if(features["body_markings"]) L[DNA_LIZARD_MARKINGS_BLOCK] = construct_block(GLOB.body_markings_list.Find(features["body_markings"]), GLOB.body_markings_list.len) if(features["tail_cat"]) @@ -226,7 +224,12 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) L[DNA_MUSHROOM_CAPS_BLOCK] = construct_block(GLOB.caps_list.Find(features["caps"]), GLOB.caps_list.len) if(features["pod_hair"]) L[DNA_POD_HAIR_BLOCK] = construct_block(GLOB.pod_hair_list.Find(features["pod_hair"]), GLOB.pod_hair_list.len) - + if(features["arm_wings"]) // NON-MODULE CHANGE + L[DNA_ARM_WINGS_BLOCK] = construct_block(GLOB.arm_wings_list.Find(features["arm_wings"]), GLOB.arm_wings_list.len) + if(features["tail_avian"]) // NON-MODULE CHANGE + L[DNA_AVIAN_TAIL_BLOCK] = construct_block(GLOB.tails_list_avian.Find(features["tail_avian"]), GLOB.tails_list_avian.len) + if(features["ears_avian"]) // NON-MODULE CHANGE + L[DNA_AVIAN_EARS_BLOCK] = construct_block(GLOB.avian_ears_list.Find(features["ears_avian"]), GLOB.avian_ears_list.len) for(var/blocknum in 1 to DNA_FEATURE_BLOCKS) . += L[blocknum] || random_string(GET_UI_BLOCK_LEN(blocknum), GLOB.hex_characters) @@ -330,12 +333,6 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(!ishuman(holder)) CRASH("Non-human mobs shouldn't have DNA") switch(blocknumber) - if(DNA_MUTANT_COLOR_BLOCK) - set_uni_feature_block(blocknumber, sanitize_hexcolor(features["mcolor"], include_crunch = FALSE)) - if(DNA_MUTANT_COLOR_SECONDARY) - set_uni_feature_block(blocknumber, sanitize_hexcolor(features["mcolor_secondary"], include_crunch = FALSE)) - if(DNA_ETHEREAL_COLOR_BLOCK) - set_uni_feature_block(blocknumber, sanitize_hexcolor(features["ethcolor"], include_crunch = FALSE)) if(DNA_LIZARD_MARKINGS_BLOCK) set_uni_feature_block(blocknumber, construct_block(GLOB.body_markings_list.Find(features["body_markings"]), GLOB.body_markings_list.len)) if(DNA_TAIL_BLOCK) @@ -360,7 +357,12 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) set_uni_feature_block(blocknumber, construct_block(GLOB.caps_list.Find(features["caps"]), GLOB.caps_list.len)) if(DNA_POD_HAIR_BLOCK) set_uni_feature_block(blocknumber, construct_block(GLOB.pod_hair_list.Find(features["pod_hair"]), GLOB.pod_hair_list.len)) - + if(DNA_ARM_WINGS_BLOCK) // NON-MODULE CHANGE + set_uni_feature_block(blocknumber, construct_block(GLOB.arm_wings_list.Find(features["arm_wings"]), GLOB.arm_wings_list.len)) + if(DNA_AVIAN_TAIL_BLOCK) // NON-MODULE CHANGE + set_uni_feature_block(blocknumber, construct_block(GLOB.tails_list_avian.Find(features["tail_avian"]), GLOB.tails_list_avian.len)) + if(DNA_AVIAN_EARS_BLOCK) // NON-MODULE CHANGE + set_uni_feature_block(blocknumber, construct_block(GLOB.avian_ears_list.Find(features["ears_avian"]), GLOB.avian_ears_list.len)) //Please use add_mutation or activate_mutation instead /datum/dna/proc/force_give(datum/mutation/human/human_mutation) if(holder && human_mutation) @@ -393,7 +395,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) && real_name == target_dna.real_name \ && species.type == target_dna.species.type \ && compare_list(features, target_dna.features) \ - && blood_type == target_dna.blood_type \ + && human_blood_type == target_dna.human_blood_type \ ) return TRUE @@ -431,9 +433,9 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) unique_enzymes = generate_unique_enzymes() unique_features = generate_unique_features() -/datum/dna/proc/initialize_dna(newblood_type, skip_index = FALSE) +/datum/dna/proc/initialize_dna(newblood_type = random_human_blood_type(), skip_index = FALSE) if(newblood_type) - blood_type = newblood_type + human_blood_type = newblood_type unique_enzymes = generate_unique_enzymes() unique_identity = generate_unique_identity() if(!skip_index) //I hate this @@ -543,7 +545,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) dna.generate_unique_enzymes() if(newblood_type) - dna.blood_type = newblood_type + dna.human_blood_type = newblood_type if(unique_identity) dna.unique_identity = unique_identity @@ -576,6 +578,11 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(!has_dna()) return + //Always plural gender if agender + if(HAS_TRAIT(src, TRAIT_AGENDER)) + gender = PLURAL + return + switch(deconstruct_block(get_uni_identity_block(dna.unique_identity, DNA_GENDER_BLOCK), 3)) if(G_MALE) gender = MALE @@ -601,12 +608,6 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) else hairstyle = GLOB.hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_HAIRSTYLE_BLOCK), GLOB.hairstyles_list.len)] var/features = dna.unique_features - if(dna.features["mcolor"]) - dna.features["mcolor"] = sanitize_hexcolor(get_uni_feature_block(features, DNA_MUTANT_COLOR_BLOCK)) - if(dna.features["mcolor_secondary"]) - dna.features["mcolor_secondary"] = sanitize_hexcolor(get_uni_feature_block(features, DNA_MUTANT_COLOR_SECONDARY)) - if(dna.features["ethcolor"]) - dna.features["ethcolor"] = sanitize_hexcolor(get_uni_feature_block(features, DNA_ETHEREAL_COLOR_BLOCK)) if(dna.features["body_markings"]) dna.features["body_markings"] = GLOB.body_markings_list[deconstruct_block(get_uni_feature_block(features, DNA_LIZARD_MARKINGS_BLOCK), GLOB.body_markings_list.len)] if(dna.features["snout"]) @@ -637,6 +638,12 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) dna.features["caps"] = GLOB.caps_list[deconstruct_block(get_uni_feature_block(features, DNA_MUSHROOM_CAPS_BLOCK), GLOB.caps_list.len)] if(dna.features["pod_hair"]) dna.features["pod_hair"] = GLOB.pod_hair_list[deconstruct_block(get_uni_feature_block(features, DNA_POD_HAIR_BLOCK), GLOB.pod_hair_list.len)] + if(dna.features["arm_wings"]) // NON-MODULE CHANGE + dna.features["arm_wings"] = GLOB.arm_wings_list[deconstruct_block(get_uni_feature_block(features, DNA_ARM_WINGS_BLOCK), GLOB.arm_wings_list.len)] + if(dna.features["tail_avian"]) // NON-MODULE CHANGE + dna.features["tail_avian"] = GLOB.tails_list_avian[deconstruct_block(get_uni_feature_block(features, DNA_AVIAN_TAIL_BLOCK), GLOB.tails_list_avian.len)] + if(dna.features["ears_avian"]) // NON-MODULE CHANGE + dna.features["ears_avian"] = GLOB.avian_ears_list[deconstruct_block(get_uni_feature_block(features, DNA_AVIAN_EARS_BLOCK), GLOB.avian_ears_list.len)] for(var/obj/item/organ/external/external_organ in organs) external_organ.mutate_feature(features, src) diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index ee1d5a9af9ac1a..7a6703d86195e7 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -57,6 +57,10 @@ if(ele.Attach(arglist(arguments)) == ELEMENT_INCOMPATIBLE) CRASH("Incompatible element [ele.type] was assigned to a [type]! args: [json_encode(args)]") +/// Finds the element and checks if the source is currently part of the element +/datum/proc/_HasElement(datum/source, datum/element/type) + return SSdcs._Has_Element(source, type) + /** * Finds the singleton for the element type given and detaches it from src * You only need additional arguments beyond the type if you're using [ELEMENT_BESPOKE] diff --git a/code/datums/elements/basic_body_temp_sensitive.dm b/code/datums/elements/basic_body_temp_sensitive.dm deleted file mode 100644 index 8e11ed92575ea0..00000000000000 --- a/code/datums/elements/basic_body_temp_sensitive.dm +++ /dev/null @@ -1,71 +0,0 @@ -/** - * When attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures - */ -/datum/element/basic_body_temp_sensitive - element_flags = ELEMENT_BESPOKE - argument_hash_start_idx = 2 - - ///Min body temp - var/min_body_temp = 250 - ///Max body temp - var/max_body_temp = 350 - ////Damage when below min temp - var/cold_damage = 1 - ///Damage when above max temp - var/heat_damage = 1 - -/datum/element/basic_body_temp_sensitive/Attach(datum/target, min_body_temp, max_body_temp, cold_damage, heat_damage) - . = ..() - if(!isbasicmob(target)) - return ELEMENT_INCOMPATIBLE - - if(isnum(min_body_temp)) - src.min_body_temp = min_body_temp - - if(isnum(max_body_temp)) - src.max_body_temp = max_body_temp - - if(isnum(cold_damage)) - src.cold_damage = cold_damage - - if(isnum(heat_damage)) - src.heat_damage = heat_damage - - RegisterSignal(target, COMSIG_LIVING_LIFE, PROC_REF(on_life)) - -/datum/element/basic_body_temp_sensitive/Detach(datum/source) - if(source) - UnregisterSignal(source, COMSIG_LIVING_LIFE) - return ..() - - -/datum/element/basic_body_temp_sensitive/proc/on_life(datum/target, seconds_per_tick, times_fired) - SIGNAL_HANDLER - - var/mob/living/basic/basic_mob = target - var/gave_alert = FALSE - - if(basic_mob.bodytemperature < min_body_temp) - basic_mob.adjust_health(cold_damage * seconds_per_tick) - switch(cold_damage) - if(1 to 5) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) - if(5 to 10) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) - if(10 to INFINITY) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) - gave_alert = TRUE - - else if(basic_mob.bodytemperature > max_body_temp) - basic_mob.adjust_health(heat_damage * seconds_per_tick) - switch(heat_damage) - if(1 to 5) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) - if(5 to 10) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) - if(10 to INFINITY) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) - gave_alert = TRUE - - if(!gave_alert) - basic_mob.clear_alert(ALERT_TEMPERATURE) diff --git a/code/datums/elements/decals/blood.dm b/code/datums/elements/decals/blood.dm index 889ebb12904bd5..cd679b80003d22 100644 --- a/code/datums/elements/decals/blood.dm +++ b/code/datums/elements/decals/blood.dm @@ -38,6 +38,10 @@ blood_splatter_appearances[index] = pic return TRUE +/datum/element/decal/blood/apply_overlay(obj/item/source, list/overlay_list) + pic.color = source.get_blood_dna_color() || COLOR_BLOOD + return ..() + /datum/element/decal/blood/proc/get_examine_name(datum/source, mob/user, list/override) SIGNAL_HANDLER diff --git a/code/datums/elements/footstep.dm b/code/datums/elements/footstep.dm index f3e5176d097263..1bc10f91bd4db3 100644 --- a/code/datums/elements/footstep.dm +++ b/code/datums/elements/footstep.dm @@ -146,8 +146,14 @@ footstep_sounds[shoestep_type][3] + e_range + range_adjustment, falloff_distance = 1, vary = sound_vary, mixer_channel = CHANNEL_SOUND_FOOTSTEPS) else var/barefoot_type = prepared_steps[FOOTSTEP_MOB_BAREFOOT] - if(source.dna.species.special_step_sounds) - heard_clients = playsound(source.loc, pick(source.dna.species.special_step_sounds), 50, TRUE, falloff_distance = 1, vary = sound_vary) + var/leg_num = source.step_leg + source.step_leg++ + if(source.step_leg > source.usable_legs) + source.step_leg = 1 + var/bodypart_slot = leg_num == 2 ? BODY_ZONE_L_LEG : BODY_ZONE_R_LEG + var/obj/item/bodypart/leg/gotten = source.get_bodypart(bodypart_slot) + if(gotten?.step_sounds) + heard_clients = playsound(source.loc, pick(gotten.step_sounds), 50, TRUE, falloff_distance = 1, vary = sound_vary) else var/static/list/bare_footstep_sounds = GLOB.barefootstep diff --git a/code/datums/interactions/intents.dm b/code/datums/interactions/intents.dm index 493bff0f4dde1d..93076a7395c5a4 100644 --- a/code/datums/interactions/intents.dm +++ b/code/datums/interactions/intents.dm @@ -10,7 +10,6 @@ if(LAZYACCESS(modifiers, RIGHT_CLICK)) M.istate = ISTATE_SECONDARY - return switch (intent) if (INTENT_DISARM) diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index efa76ca24cd735..452048b3c23123 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -183,9 +183,7 @@ desc = "These gloves can teach you to perform Krav Maga using nanochips." icon_state = "fightgloves" greyscale_colors = "#c41e0d" - cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE @@ -196,9 +194,7 @@ greyscale_colors = "#2f2e31" siemens_coefficient = 0 strip_delay = 80 - cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE armor_type = /datum/armor/krav_maga_combatglovesplus diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index df8369a707e1dd..ccaf1ae6caf819 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -162,7 +162,7 @@ /datum/martial_art/the_sleeping_carp/proc/can_deflect(mob/living/carp_user) if(!COOLDOWN_FINISHED(src, block_cooldown)) - if(prob(70)) + if(prob(50)) return FALSE if(!can_use(carp_user)) return FALSE @@ -191,7 +191,7 @@ ) COOLDOWN_START(src, block_cooldown, 3 SECONDS) playsound(carp_user, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), vol = 75, vary = TRUE) - carp_user.stamina?.adjust(-50) + carp_user.stamina?.adjust(-15) hitting_projectile.firer = carp_user hitting_projectile.set_angle(rand(0, 360))//SHING return COMPONENT_BULLET_PIERCED diff --git a/code/datums/mood.dm b/code/datums/mood.dm index 9cce6e98a8f310..14817b4d52e976 100644 --- a/code/datums/mood.dm +++ b/code/datums/mood.dm @@ -316,6 +316,41 @@ /// Prints the users mood, sanity, and moodies to chat /datum/mood/proc/print_mood(mob/user) var/msg = "[span_info("My current mental status:")]\n" + + if(!HAS_TRAIT(src, TRAIT_NOHUNGER)) + msg += span_notice("My hunger: ") + var/nutrition = mob_parent.nutrition + switch(nutrition) + if(NUTRITION_LEVEL_FULL to INFINITY) + msg += span_info("I'm completely stuffed!\n") + if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL) + msg += span_info("I'm well fed!\n") + if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) + msg += span_info("I'm not hungry.\n") + if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED) + msg += span_info("I could use a bite to eat.\n") + if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) + msg += span_warning("I feel quite hungry.\n") + if(0 to NUTRITION_LEVEL_STARVING) + msg += span_boldwarning("I'm starving!\n") + + var/drunkness = mob_parent.get_timed_status_effect_duration(/datum/status_effect/inebriated) + if(drunkness >= 1) + msg += span_notice("My current drunkenness: ") + switch(drunkness) + if(1 to 10) + msg += span_info("I'm feeling a little tipsy.\n") + if(11 to 21) + msg += span_info("I'm feeling a bit drunk.\n") + if(21 to 41) + msg += span_info("I'm feeling quite drunk.\n") + if(41 to 61) + msg += span_info("I'm feeling very drunk.\n") + if(61 to 81) + msg += span_warning("I'm feeling like a mess.\n") + if(81 to INFINITY) + msg += span_boldwarning("I'm completely wasted.\n") + msg += span_notice("My current sanity: ") //Long term switch(sanity) if(SANITY_GREAT to INFINITY) @@ -356,6 +391,7 @@ if(mood_events.len) for(var/category in mood_events) var/datum/mood_event/event = mood_events[category] + msg += "• " switch(event.mood_change) if(-INFINITY to MOOD_SAD2) msg += span_boldwarning(event.description + "\n") @@ -370,7 +406,10 @@ if(MOOD_HAPPY2 to INFINITY) msg += span_boldnicegreen(event.description + "\n") else - msg += "[span_grey("I don't have much of a reaction to anything right now.")]\n" + msg += "• [span_grey("I don't have much of a reaction to anything right now.")]\n" + + if(LAZYLEN(mob_parent.quirks)) + msg += span_notice("You have these quirks: [mob_parent.get_quirk_string(FALSE, CAT_QUIRK_ALL)].") to_chat(user, examine_block(msg)) /// Updates the mob's moodies, if the area provides a mood bonus diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index c22e940c990bdc..962c26c4936ed8 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -19,13 +19,29 @@ mood_change = -1 timeout = 2 MINUTES +/datum/mood_event/chilly + description = "I'm feeling a bit chilly." + mood_change = -2 + /datum/mood_event/cold - description = "It's way too cold in here." - mood_change = -5 + description = "It's way too cold." + mood_change = -3 + +/datum/mood_event/freezing + description = "It's freezing cold!" + mood_change = -6 + +/datum/mood_event/warm + description = "I'm feeling a bit warm." + mood_change = -2 /datum/mood_event/hot - description = "It's getting hot in here." - mood_change = -5 + description = "It's way too hot." + mood_change = -3 + +/datum/mood_event/overhot + description = "It's scorching hot!" + mood_change = -6 /datum/mood_event/creampie description = "I've been creamed. Tastes like pie flavor." diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index c1b42564f59380..c306ab7c4dfa2a 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -15,7 +15,6 @@ var/list/mutation_traits = list( TRAIT_CHUNKYFINGERS, TRAIT_HULK, - TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE, ) @@ -29,9 +28,13 @@ part.variable_color = "#00aa00" owner.update_body_parts() owner.add_mood_event("hulk", /datum/mood_event/hulk) + owner.physiology?.cold_mod *= HULK_COLD_DAMAGE_MOD + owner.bodytemp_cold_damage_limit += BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER RegisterSignal(owner, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(on_attack_hand)) RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) RegisterSignal(owner, COMSIG_MOB_CLICKON, PROC_REF(check_swing)) + RegisterSignal(owner, COMSIG_MOB_STATCHANGE, PROC_REF(statchange)) + owner.add_movespeed_mod_immunities("hulk", /datum/movespeed_modifier/damage_slowdown) /datum/mutation/human/hulk/proc/on_attack_hand(mob/living/carbon/human/source, atom/target, proximity, modifiers) SIGNAL_HANDLER @@ -77,8 +80,9 @@ owner.cause_wound_of_type_and_severity(WOUND_BLUNT, arm, severity, wound_source = "hulk smashing") -/datum/mutation/human/hulk/on_life(seconds_per_tick, times_fired) - if(owner.health < owner.crit_threshold) +/datum/mutation/human/hulk/proc/statchange(mob/living/carbon/human/owner, stat, old_stat) + SIGNAL_HANDLER + if(stat >= UNCONSCIOUS) on_losing(owner) to_chat(owner, span_danger("You suddenly feel very weak.")) qdel(src) @@ -91,9 +95,13 @@ part.variable_color = null owner.update_body_parts() owner.clear_mood_event("hulk") + owner.physiology?.cold_mod /= HULK_COLD_DAMAGE_MOD + owner.bodytemp_cold_damage_limit -= BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER UnregisterSignal(owner, COMSIG_HUMAN_EARLY_UNARMED_ATTACK) UnregisterSignal(owner, COMSIG_MOB_SAY) UnregisterSignal(owner, COMSIG_MOB_CLICKON) + UnregisterSignal(owner, COMSIG_MOB_STATCHANGE) + owner.remove_movespeed_mod_immunities("hulk", /datum/movespeed_modifier/damage_slowdown) /datum/mutation/human/hulk/proc/handle_speech(datum/source, list/speech_args) SIGNAL_HANDLER @@ -264,6 +272,7 @@ log_combat(the_hulk, yeeted_person, "has thrown by tail") /datum/mutation/human/hulk/wizardly + name = "Hulk (Magic)" species_allowed = null //yes skeleton/lizard hulk - note that species that dont have skintone changing (like skellies) get custom handling health_req = 0 instability = 0 @@ -271,7 +280,6 @@ /// List of traits to add/remove when someone gets this mutation. mutation_traits = list( TRAIT_HULK, - TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE, ) // no chunk diff --git a/code/datums/quirks/_quirk.dm b/code/datums/quirks/_quirk.dm index 2b55f0932f04db..3c18ddad816dae 100644 --- a/code/datums/quirks/_quirk.dm +++ b/code/datums/quirks/_quirk.dm @@ -32,7 +32,7 @@ /// A list of items people can receive from mail who have this quirk enabled /// The base weight for the each quirk's mail goodies list to be selected is 5 /// then the item selected is determined by pick(selected_quirk.mail_goodies) - var/mail_goodies = list() + var/list/mail_goodies = list() //Monkestation Edit BLOOD_DATUM: Why? this is already a list all this does is mess confuse us. /datum/quirk/Destroy() if(quirk_holder) @@ -147,7 +147,7 @@ /// Otherwise, it runs once on the next COMSIG_MOB_LOGIN. /datum/quirk/proc/post_add() return - + /// return additional data that should be remembered by cloning /datum/quirk/proc/clone_data() return @@ -155,7 +155,7 @@ /// create the quirk from clone data /datum/quirk/proc/on_clone(data) return - + /// Subtype quirk that has some bonus logic to spawn items for the player. /datum/quirk/item_quirk /// Lazylist of strings describing where all the quirk items have been spawned. diff --git a/code/datums/quirks/negative_quirks.dm b/code/datums/quirks/negative_quirks.dm index a2528c8c9d923c..f10307b0fae23c 100644 --- a/code/datums/quirks/negative_quirks.dm +++ b/code/datums/quirks/negative_quirks.dm @@ -69,31 +69,43 @@ var/min_blood = BLOOD_VOLUME_SAFE - 25 // just barely survivable without treatment /datum/quirk/blooddeficiency/post_add() - if(!ishuman(quirk_holder)) - return + update_mail() - // for making sure the roundstart species has the right blood pack sent to them - var/mob/living/carbon/human/carbon_target = quirk_holder - carbon_target.dna.species.update_quirk_mail_goodies(carbon_target, src) - -/** - * Makes the mob lose blood from having the blood deficiency quirk, if possible - * - * Arguments: - * * seconds_per_tick - */ -/datum/quirk/blooddeficiency/proc/lose_blood(seconds_per_tick) - if(quirk_holder.stat == DEAD) +/datum/quirk/blooddeficiency/add(client/client_source) + . = ..() + RegisterSignal(quirk_holder, COMSIG_HUMAN_ON_HANDLE_BLOOD, PROC_REF(lose_blood)) + RegisterSignal(quirk_holder, COMSIG_SPECIES_GAIN, PROC_REF(update_mail)) + +/datum/quirk/blooddeficiency/remove() + . = ..() + UnregisterSignal(quirk_holder, COMSIG_HUMAN_ON_HANDLE_BLOOD) + UnregisterSignal(quirk_holder, COMSIG_SPECIES_GAIN) + +/datum/quirk/blooddeficiency/proc/lose_blood(mob/living/carbon/human/draining, seconds_per_tick, times_fired) + SIGNAL_HANDLER + if(quirk_holder.stat == DEAD || quirk_holder.blood_volume <= min_blood) return - var/mob/living/carbon/human/carbon_target = quirk_holder - if(HAS_TRAIT(carbon_target, TRAIT_NOBLOOD) && isnull(carbon_target.dna.species.exotic_blood)) //can't lose blood if your species doesn't have any + // Ensures that we don't reduce total blood volume below min_blood. + draining.blood_volume = max(min_blood, draining.blood_volume - draining.dna.species.blood_deficiency_drain_rate * seconds_per_tick) + +/datum/quirk/blooddeficiency/proc/update_mail(datum/source, datum/species/new_species, datum/species/old_species) + SIGNAL_HANDLER + + mail_goodies.Cut() + + var/datum/blood_type/new_type = quirk_holder.get_blood_type() + if(isnull(new_type)) return - if (carbon_target.blood_volume <= min_blood) + if(istype(new_type, /datum/blood_type/crew/human)) + mail_goodies += /obj/item/reagent_containers/blood/o_minus return - // Ensures that we don't reduce total blood volume below min_blood. - carbon_target.blood_volume = max(min_blood, carbon_target.blood_volume - carbon_target.dna.species.blood_deficiency_drain_rate * seconds_per_tick) + + for(var/obj/item/reagent_containers/blood/blood_bag as anything in typesof(/obj/item/reagent_containers/blood)) + if(initial(blood_bag.blood_type) == new_type.type) + mail_goodies += blood_bag + break /datum/quirk/item_quirk/blindness name = "Blind" @@ -862,7 +874,7 @@ quirk_holder.mind.remove_addiction_points(addiction_type, MAX_ADDICTION_POINTS) /datum/quirk/item_quirk/junkie/process(seconds_per_tick) - if(HAS_TRAIT(quirk_holder, TRAIT_NOMETABOLISM)) + if(HAS_TRAIT(quirk_holder, TRAIT_LIVERLESS_METABOLISM)) return var/mob/living/carbon/human/human_holder = quirk_holder if(world.time > next_process) diff --git a/code/datums/quirks/neutral_quirks.dm b/code/datums/quirks/neutral_quirks.dm index 4bc4c2168ab0fe..126af15ec8be22 100644 --- a/code/datums/quirks/neutral_quirks.dm +++ b/code/datums/quirks/neutral_quirks.dm @@ -68,26 +68,18 @@ mail_goodies = list(/obj/effect/spawner/random/food_or_drink/salad) /datum/quirk/vegetarian/add(client/client_source) - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.liked_food &= ~MEAT - species.disliked_food |= MEAT - RegisterSignal(human_holder, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain)) - -/datum/quirk/vegetarian/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) - SIGNAL_HANDLER - new_species.liked_food &= ~MEAT - new_species.disliked_food |= MEAT + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.liked_foodtypes &= ~MEAT + tongue.disliked_foodtypes |= MEAT /datum/quirk/vegetarian/remove() - var/mob/living/carbon/human/human_holder = quirk_holder - - var/datum/species/species = human_holder.dna.species - if(initial(species.liked_food) & MEAT) - species.liked_food |= MEAT - if(!(initial(species.disliked_food) & MEAT)) - species.disliked_food &= ~MEAT - UnregisterSignal(human_holder, COMSIG_SPECIES_GAIN) + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.liked_foodtypes = initial(tongue.liked_foodtypes) + tongue.disliked_foodtypes = initial(tongue.disliked_foodtypes) /datum/quirk/snob name = "Snob" @@ -111,20 +103,16 @@ mail_goodies = list(/obj/item/food/pizzaslice/pineapple) /datum/quirk/pineapple_liker/add(client/client_source) - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.liked_food |= PINEAPPLE - RegisterSignal(human_holder, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain)) - -/datum/quirk/pineapple_liker/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) - SIGNAL_HANDLER - new_species.liked_food |= PINEAPPLE + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.liked_foodtypes |= PINEAPPLE /datum/quirk/pineapple_liker/remove() - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.liked_food &= ~PINEAPPLE - UnregisterSignal(human_holder, COMSIG_SPECIES_GAIN) + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.liked_foodtypes = initial(tongue.liked_foodtypes) /datum/quirk/pineapple_hater name = "Ananas Aversion" @@ -143,20 +131,16 @@ ) /datum/quirk/pineapple_hater/add(client/client_source) - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.disliked_food |= PINEAPPLE - RegisterSignal(human_holder, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain)) - -/datum/quirk/pineapple_hater/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) - SIGNAL_HANDLER - new_species.disliked_food |= PINEAPPLE + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.disliked_foodtypes |= PINEAPPLE /datum/quirk/pineapple_hater/remove() - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.disliked_food &= ~PINEAPPLE - UnregisterSignal(human_holder, COMSIG_SPECIES_GAIN) + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.disliked_foodtypes = initial(tongue.disliked_foodtypes) /datum/quirk/deviant_tastes name = "Deviant Tastes" @@ -169,25 +153,19 @@ mail_goodies = list(/obj/item/food/urinalcake, /obj/item/food/badrecipe) // Mhhhmmm yummy /datum/quirk/deviant_tastes/add(client/client_source) - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - var/liked = species.liked_food - species.liked_food = species.disliked_food - species.disliked_food = liked - RegisterSignal(human_holder, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain)) - -/datum/quirk/deviant_tastes/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) - SIGNAL_HANDLER - var/liked = new_species.liked_food - new_species.liked_food = new_species.disliked_food - new_species.disliked_food = liked + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + var/liked_foodtypes = tongue.liked_foodtypes + tongue.liked_foodtypes = tongue.disliked_foodtypes + tongue.disliked_foodtypes = liked_foodtypes /datum/quirk/deviant_tastes/remove() - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.liked_food = initial(species.liked_food) - species.disliked_food = initial(species.disliked_food) - UnregisterSignal(human_holder, COMSIG_SPECIES_GAIN) + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.liked_foodtypes = initial(tongue.liked_foodtypes) + tongue.disliked_foodtypes = initial(tongue.disliked_foodtypes) /datum/quirk/heterochromatic name = "Heterochromatic" @@ -410,27 +388,22 @@ var/gaming_withdrawal_timer = TIMER_ID_NULL /datum/quirk/gamer/add(client/client_source) - // Gamer diet - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.liked_food = JUNKFOOD - RegisterSignal(human_holder, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain)) - RegisterSignal(human_holder, COMSIG_MOB_WON_VIDEOGAME, PROC_REF(won_game)) - RegisterSignal(human_holder, COMSIG_MOB_LOST_VIDEOGAME, PROC_REF(lost_game)) - RegisterSignal(human_holder, COMSIG_MOB_PLAYED_VIDEOGAME, PROC_REF(gamed)) - -/datum/quirk/gamer/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) - SIGNAL_HANDLER - new_species.liked_food = JUNKFOOD + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(tongue) + // Gamer diet + tongue.liked_foodtypes = JUNKFOOD + RegisterSignal(quirk_holder, COMSIG_MOB_WON_VIDEOGAME, PROC_REF(won_game)) + RegisterSignal(quirk_holder, COMSIG_MOB_LOST_VIDEOGAME, PROC_REF(lost_game)) + RegisterSignal(quirk_holder, COMSIG_MOB_PLAYED_VIDEOGAME, PROC_REF(gamed)) /datum/quirk/gamer/remove() - var/mob/living/carbon/human/human_holder = quirk_holder - var/datum/species/species = human_holder.dna.species - species.liked_food = initial(species.liked_food) - UnregisterSignal(human_holder, COMSIG_SPECIES_GAIN) - UnregisterSignal(human_holder, COMSIG_MOB_WON_VIDEOGAME) - UnregisterSignal(human_holder, COMSIG_MOB_LOST_VIDEOGAME) - UnregisterSignal(human_holder, COMSIG_MOB_PLAYED_VIDEOGAME) + var/obj/item/organ/internal/tongue/tongue = quirk_holder.get_organ_slot(ORGAN_SLOT_TONGUE) + if(tongue) + tongue.liked_foodtypes = initial(tongue.liked_foodtypes) + UnregisterSignal(quirk_holder, COMSIG_MOB_WON_VIDEOGAME) + UnregisterSignal(quirk_holder, COMSIG_MOB_LOST_VIDEOGAME) + UnregisterSignal(quirk_holder, COMSIG_MOB_PLAYED_VIDEOGAME) + /datum/quirk/gamer/add_unique(client/client_source) // The gamer starts off quelled diff --git a/code/datums/records/manifest.dm b/code/datums/records/manifest.dm index 3bd91072ab8fbf..786d94ef0f9c83 100644 --- a/code/datums/records/manifest.dm +++ b/code/datums/records/manifest.dm @@ -113,7 +113,7 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new) var/datum/record/locked/lockfile = new( age = person.age, - blood_type = person.dna.blood_type, + blood_type = "[person.get_blood_type() || "None"]", character_appearance = character_appearance, dna_string = person.dna.unique_enzymes, fingerprint = md5(person.dna.unique_identity), @@ -130,7 +130,7 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new) var/datum/record/crew/crewfile = new ( age = person.age, - blood_type = person.dna.blood_type, + blood_type = "[person.get_blood_type() || "None"]", character_appearance = character_appearance, dna_string = person.dna.unique_enzymes, fingerprint = md5(person.dna.unique_identity), diff --git a/code/datums/status_effects/_status_effect_helpers.dm b/code/datums/status_effects/_status_effect_helpers.dm index 0ee95220061066..144a972da62167 100644 --- a/code/datums/status_effects/_status_effect_helpers.dm +++ b/code/datums/status_effects/_status_effect_helpers.dm @@ -56,7 +56,7 @@ . = FALSE for(var/datum/status_effect/existing_effect as anything in status_effects) - if(existing_effect.id == initial(removed_effect.id) && existing_effect.before_remove(arguments)) + if(existing_effect.id == initial(removed_effect.id) && existing_effect.before_remove(arglist(arguments))) qdel(existing_effect) . = TRUE diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 2e9714fb295951..ee06eee43f1345 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -335,11 +335,7 @@ ADD_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, STATUS_EFFECT_TRAIT) owner.adjustBruteLoss(-25) owner.adjustFireLoss(-25) - owner.fully_heal(HEAL_CC_STATUS) - owner.bodytemperature = owner.get_body_temp_normal() - if(ishuman(owner)) - var/mob/living/carbon/human/humi = owner - humi.set_coretemperature(humi.get_body_temp_normal()) + owner.fully_heal(HEAL_CC_STATUS|HEAL_TEMP) return TRUE /datum/status_effect/regenerative_core/on_remove() @@ -480,7 +476,7 @@ owner.adjustFireLoss(-2 * seconds_per_tick, updating_health = FALSE) owner.adjustOxyLoss(-4 * seconds_per_tick, updating_health = FALSE) owner.stamina.adjust(4 * seconds_per_tick) - owner.adjust_bodytemperature(BODYTEMP_NORMAL, 0, BODYTEMP_NORMAL) //Won't save you from the void of space, but it will stop you from freezing or suffocating in low pressure + owner.adjust_bodytemperature(INFINITY, max_temp = owner.standard_body_temperature) //Won't save you from the void of space, but it will stop you from freezing or suffocating in low pressure /atom/movable/screen/alert/status_effect/nest_sustenance diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 4fe68d281eae8c..aa0be7f3120e78 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -138,14 +138,19 @@ ADD_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id)) RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_SLEEPIMMUNE), PROC_REF(on_owner_insomniac)) RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_SLEEPIMMUNE), PROC_REF(on_owner_sleepy)) + RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(on_owner_death)) /datum/status_effect/incapacitating/sleeping/on_remove() - UnregisterSignal(owner, list(SIGNAL_ADDTRAIT(TRAIT_SLEEPIMMUNE), SIGNAL_REMOVETRAIT(TRAIT_SLEEPIMMUNE))) + UnregisterSignal(owner, list(SIGNAL_ADDTRAIT(TRAIT_SLEEPIMMUNE), SIGNAL_REMOVETRAIT(TRAIT_SLEEPIMMUNE), COMSIG_LIVING_DEATH)) if(!HAS_TRAIT(owner, TRAIT_SLEEPIMMUNE)) REMOVE_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id)) tick_interval = initial(tick_interval) return ..() +/datum/status_effect/incapacitating/sleeping/proc/on_owner_death(mob/living/source) + SIGNAL_HANDLER + qdel(src) + ///If the mob is sleeping and gain the TRAIT_SLEEPIMMUNE we remove the TRAIT_KNOCKEDOUT and stop the tick() from happening /datum/status_effect/incapacitating/sleeping/proc/on_owner_insomniac(mob/living/source) SIGNAL_HANDLER @@ -365,11 +370,10 @@ /datum/status_effect/stacking/saw_bleed/threshold_cross_effect() owner.adjustBruteLoss(bleed_damage) - var/turf/T = get_turf(owner) - new /obj/effect/temp_visual/bleed/explode(T) + new /obj/effect/temp_visual/bleed/explode(owner.loc) for(var/d in GLOB.alldirs) - new /obj/effect/temp_visual/dir_setting/bloodsplatter(T, d) - playsound(T, SFX_DESECRATION, 100, TRUE, -1) + owner.do_splatter_effect(d) + playsound(owner, SFX_DESECRATION, 100, TRUE, -1) /datum/status_effect/stacking/saw_bleed/bloodletting id = "bloodletting" diff --git a/code/datums/status_effects/debuffs/fire_stacks.dm b/code/datums/status_effects/debuffs/fire_stacks.dm index f2c014578adc34..d00d0c348439f3 100644 --- a/code/datums/status_effects/debuffs/fire_stacks.dm +++ b/code/datums/status_effects/debuffs/fire_stacks.dm @@ -189,36 +189,6 @@ var/turf/location = get_turf(owner) location.hotspot_expose(700, 25 * seconds_per_tick, TRUE) -/** - * Used to deal damage to humans and count their protection. - * - * Arguments: - * - seconds_per_tick - * - times_fired - * - no_protection: When set to TRUE, fire will ignore any possible fire protection - * - */ - -/datum/status_effect/fire_handler/fire_stacks/proc/harm_human(seconds_per_tick, times_fired, no_protection = FALSE) - var/mob/living/carbon/human/victim = owner - var/thermal_protection = victim.get_thermal_protection() - - if(!no_protection) - if(thermal_protection >= FIRE_IMMUNITY_MAX_TEMP_PROTECT) - return - if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT) - victim.adjust_bodytemperature(5.5 * seconds_per_tick) - return - - var/amount_to_heat = (BODYTEMP_HEATING_MAX + (stacks * 12)) * 0.5 * seconds_per_tick - if(owner.bodytemperature > BODYTEMP_FIRE_TEMP_SOFTCAP) - // Apply dimishing returns upon temp beyond the soft cap - amount_to_heat = amount_to_heat ** (BODYTEMP_FIRE_TEMP_SOFTCAP / owner.bodytemperature) - - victim.adjust_bodytemperature(amount_to_heat) - victim.add_mood_event("on_fire", /datum/mood_event/on_fire) - victim.add_mob_memory(/datum/memory/was_burning) - /** * Handles mob ignition, should be the only way to set on_fire to TRUE * diff --git a/code/datums/status_effects/debuffs/strandling.dm b/code/datums/status_effects/debuffs/strandling.dm index 5465171df8205d..5fbf37e6f6f28b 100644 --- a/code/datums/status_effects/debuffs/strandling.dm +++ b/code/datums/status_effects/debuffs/strandling.dm @@ -10,25 +10,22 @@ var/time_to_remove = 3.5 SECONDS /datum/status_effect/strandling/on_apply() - RegisterSignal(owner, COMSIG_CARBON_PRE_BREATHE, PROC_REF(on_breathe)) + RegisterSignal(owner, COMSIG_CARBON_ATTEMPT_BREATHE, PROC_REF(on_breathe)) RegisterSignal(owner, COMSIG_ATOM_TOOL_ACT(TOOL_WIRECUTTER), PROC_REF(on_cut)) RegisterSignal(owner, COMSIG_CARBON_PRE_MISC_HELP, PROC_REF(on_self_check)) return TRUE /datum/status_effect/strandling/on_remove() - UnregisterSignal(owner, list(COMSIG_CARBON_PRE_BREATHE, COMSIG_ATOM_TOOL_ACT(TOOL_WIRECUTTER), COMSIG_CARBON_PRE_MISC_HELP)) + UnregisterSignal(owner, list(COMSIG_CARBON_ATTEMPT_BREATHE, COMSIG_ATOM_TOOL_ACT(TOOL_WIRECUTTER), COMSIG_CARBON_PRE_MISC_HELP)) /datum/status_effect/strandling/get_examine_text() return span_warning("[owner.p_they(TRUE)] seem[owner.p_s()] to be being choked by some durathread strands. You may be able to cut them off.") -/// Signal proc for [COMSIG_CARBON_PRE_BREATHE], causes losebreath whenever we're trying to breathe +/// Signal proc for [COMSIG_CARBON_ATTEMPT_BREATHE], causes losebreath whenever we're trying to breathe /datum/status_effect/strandling/proc/on_breathe(mob/living/source) SIGNAL_HANDLER - if(source.get_organ_slot(ORGAN_SLOT_BREATHING_TUBE)) - return - - source.losebreath++ + return HAS_TRAIT(owner, TRAIT_ASSISTED_BREATHING) ? NONE : BREATHE_SKIP_BREATH /// Signal proc for [COMSIG_ATOM_TOOL_ACT] with [TOOL_WIRECUTTER], allowing wirecutters to remove the effect (from others / themself) /datum/status_effect/strandling/proc/on_cut(mob/living/source, mob/user, obj/item/tool) diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index cfa2827320584c..bf0822d879f88f 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -24,7 +24,7 @@ /datum/status_effect/freon/tick() - if(can_melt && owner.bodytemperature >= owner.get_body_temp_normal()) + if(can_melt && owner.bodytemperature >= owner.standard_body_temperature - 2 KELVIN) qdel(src) /datum/status_effect/freon/proc/owner_resist() @@ -43,7 +43,7 @@ if(!owner.stat) to_chat(owner, span_notice("The cube melts!")) owner.cut_overlay(cube) - owner.adjust_bodytemperature(100) + owner.adjust_bodytemperature(50 KELVIN, max_temp = owner.standard_body_temperature - 5 KELVIN) UnregisterSignal(owner, COMSIG_LIVING_RESIST) REMOVE_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) return ..() diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index b9428e2d250b96..c3d684560c2626 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -163,7 +163,7 @@ /// The type of alert given to people when offered, in case you need to override some behavior (like for high-fives) var/give_alert_type = /atom/movable/screen/alert/give -/datum/status_effect/offering/on_creation(mob/living/new_owner, obj/item/offer, give_alert_override, mob/living/carbon/offered) +/datum/status_effect/offering/on_creation(mob/living/new_owner, obj/item/offer, give_alert_override, mob/living/offered) . = ..() if(!.) return @@ -171,11 +171,11 @@ if(give_alert_override) give_alert_type = give_alert_override - if(offered && is_taker_elligible(offered)) + if(offered && is_taker_elligible(offered, offer)) register_candidate(offered) else - for(var/mob/living/carbon/possible_taker in orange(1, owner)) - if(!is_taker_elligible(possible_taker)) + for(var/mob/living/possible_taker in orange(1, owner)) + if(!is_taker_elligible(possible_taker, offer)) continue register_candidate(possible_taker) @@ -202,6 +202,7 @@ LAZYADD(possible_takers, possible_candidate) RegisterSignal(possible_candidate, COMSIG_MOVABLE_MOVED, PROC_REF(check_taker_in_range)) G.setup(possible_candidate, src) + SEND_SIGNAL(possible_candidate, COMSIG_LIVING_GIVE_ITEM_CHECK, G, offered_item) /// Remove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker /datum/status_effect/offering/proc/remove_candidate(mob/living/carbon/removed_candidate) @@ -239,8 +240,8 @@ * * Returns `TRUE` if the taker is valid as a target for the offering. */ -/datum/status_effect/offering/proc/is_taker_elligible(mob/living/carbon/taker) - return owner.CanReach(taker) && !IS_DEAD_OR_INCAP(taker) && additional_taker_check(taker) +/datum/status_effect/offering/proc/is_taker_elligible(mob/living/carbon/taker, obj/item/offer) + return (owner.CanReach(taker) && !IS_DEAD_OR_INCAP(taker) && additional_taker_check(taker)) || SEND_SIGNAL(taker, COMSIG_LIVING_ITEM_OFFERED_PRECHECK, offer) /** * Additional checks added to `CanReach()` and `IS_DEAD_OR_INCAP()` in `is_taker_elligible()`. diff --git a/code/datums/status_effects/stacking_effect.dm b/code/datums/status_effects/stacking_effect.dm index 9896ef5ec707c1..9a682000eb78bd 100644 --- a/code/datums/status_effects/stacking_effect.dm +++ b/code/datums/status_effects/stacking_effect.dm @@ -86,8 +86,11 @@ /datum/status_effect/stacking/proc/add_stacks(stacks_added) if(stacks_added > 0 && !can_gain_stacks()) return FALSE - owner.cut_overlay(status_overlay) - owner.underlays -= status_underlay + if(status_overlay) + owner.cut_overlay(status_overlay) + if(status_underlay) + owner.underlays -= status_underlay + stacks += stacks_added if(stacks > 0) if(stacks >= stack_threshold && !threshold_crossed) //threshold_crossed check prevents threshold effect from occuring if changing from above threshold to still above threshold @@ -98,13 +101,15 @@ else if(stacks < stack_threshold && threshold_crossed) threshold_crossed = FALSE //resets threshold effect if we fall below threshold so threshold effect can trigger again on_threshold_drop() - if(stacks_added > 0) - tick_interval += delay_before_decay //refreshes time until decay + if((stacks_added > 0) && delay_before_decay) + tick_interval = world.time + delay_before_decay //refreshes time until decay stacks = min(stacks, max_stacks) - status_overlay.icon_state = "[overlay_state][stacks]" - status_underlay.icon_state = "[underlay_state][stacks]" - owner.add_overlay(status_overlay) - owner.underlays += status_underlay + if(status_overlay) + status_overlay.icon_state = "[overlay_state][stacks]" + owner.add_overlay(status_overlay) + if(status_underlay) + status_underlay.icon_state = "[underlay_state][stacks]" + owner.underlays += status_underlay else fadeout_effect() qdel(src) //deletes status if stacks fall under one @@ -117,23 +122,34 @@ /datum/status_effect/stacking/on_apply() if(!can_have_status()) return FALSE - status_overlay = mutable_appearance(overlay_file, "[overlay_state][stacks]") - status_underlay = mutable_appearance(underlay_file, "[underlay_state][stacks]") - var/icon/I = icon(owner.icon, owner.icon_state, owner.dir) - var/icon_height = I.Height() - status_overlay.pixel_x = -owner.pixel_x - status_overlay.pixel_y = FLOOR(icon_height * 0.25, 1) - status_overlay.transform = matrix() * (icon_height/world.icon_size) //scale the status's overlay size based on the target's icon size - status_underlay.pixel_x = -owner.pixel_x - status_underlay.transform = matrix() * (icon_height/world.icon_size) * 3 - status_underlay.alpha = 40 - owner.add_overlay(status_overlay) - owner.underlays += status_underlay - return ..() - -/datum/status_effect/stacking/Destroy() - if(owner) + if(overlay_file || underlay_file) + if(overlay_file) + status_overlay = mutable_appearance(overlay_file, "[overlay_state][stacks]") + if(underlay_file) + status_underlay = mutable_appearance(underlay_file, "[underlay_state][stacks]") + + var/icon/I = icon(owner.icon, owner.icon_state, owner.dir) + var/icon_height = I.Height() + + if(status_overlay) + status_overlay.pixel_x = -owner.pixel_x + status_overlay.pixel_y = FLOOR(icon_height * 0.25, 1) + status_overlay.transform = matrix() * (icon_height/world.icon_size) //scale the status's overlay size based on the target's icon size + owner.add_overlay(status_overlay) + + if(status_underlay) + status_underlay.pixel_x = -owner.pixel_x + status_underlay.transform = matrix() * (icon_height/world.icon_size) * 3 + status_underlay.alpha = 40 + owner.underlays += status_underlay + + return TRUE + +/datum/status_effect/stacking/on_remove() + if(QDELETED(owner)) + return + if(status_overlay) owner.cut_overlay(status_overlay) + QDEL_NULL(status_overlay) + if(status_underlay) owner.underlays -= status_underlay - QDEL_NULL(status_overlay) - return ..() diff --git a/code/datums/status_effects/wound_effects.dm b/code/datums/status_effects/wound_effects.dm index 8965d22ad197a2..baec06c7c04884 100644 --- a/code/datums/status_effects/wound_effects.dm +++ b/code/datums/status_effects/wound_effects.dm @@ -1,29 +1,102 @@ // The shattered remnants of your broken limbs fill you with determination! -/atom/movable/screen/alert/status_effect/determined +/atom/movable/screen/alert/determined name = "Determined" desc = "The serious wounds you've sustained have put your body into fight-or-flight mode! Now's the time to look for an exit!" icon_state = "wounded" +/// While someone has determination in their system, their bleed rate is slightly reduced +#define WOUND_DETERMINATION_BLEED_MOD 0.85 + /datum/status_effect/determined id = "determined" - alert_type = /atom/movable/screen/alert/status_effect/determined remove_on_fullheal = TRUE + tick_interval = 2 SECONDS + alert_type = null + status_type = STATUS_EFFECT_REFRESH + /// World.time when the status effect was applied + var/start_time = 0 + +/datum/status_effect/determined/on_creation(mob/living/new_owner, set_duration = 5 SECONDS) + src.duration = min(WOUND_DETERMINATION_MAX, set_duration) + start_time = world.time + return ..() + +/datum/status_effect/determined/refresh(mob/living/new_owner, set_duration = 5 SECONDS) + duration = min(duration + set_duration, start_time + WOUND_DETERMINATION_MAX) + if(set_duration >= WOUND_DETERMINATION_SEVERE) + owner.throw_alert(id, /atom/movable/screen/alert/determined) /datum/status_effect/determined/on_apply() - . = ..() - owner.visible_message(span_danger("[owner]'s body tenses up noticeably, gritting against [owner.p_their()] pain!"), span_notice("Your senses sharpen as your body tenses up from the wounds you've sustained!"), \ - vision_distance=COMBAT_MESSAGE_RANGE) + if(owner.stat == DEAD) + return FALSE + owner.visible_message( + span_danger("[owner]'s body tenses up noticeably, gritting against [owner.p_their()] pain!"), + span_boldnotice("Your senses sharpen as your body tenses up from the wounds you've sustained!"), + vision_distance = COMBAT_MESSAGE_RANGE, + ) if(ishuman(owner)) var/mob/living/carbon/human/human_owner = owner human_owner.physiology.bleed_mod *= WOUND_DETERMINATION_BLEED_MOD + human_owner.set_pain_mod(id, 0.625) // 0.625 * 0.8 = 0.5 = numbness + ADD_TRAIT(owner, TRAIT_NO_PAIN_EFFECTS, TRAIT_STATUS_EFFECT(id)) + ADD_TRAIT(owner, TRAIT_ABATES_SHOCK, TRAIT_STATUS_EFFECT(id)) + if(duration >= WOUND_DETERMINATION_SEVERE) + owner.throw_alert(id, /atom/movable/screen/alert/determined) + return TRUE /datum/status_effect/determined/on_remove() - owner.visible_message(span_danger("[owner]'s body slackens noticeably!"), span_warning("Your adrenaline rush dies off, and the pain from your wounds come aching back in..."), vision_distance=COMBAT_MESSAGE_RANGE) + if(QDELING(owner)) + return + if(ishuman(owner)) var/mob/living/carbon/human/human_owner = owner human_owner.physiology.bleed_mod /= WOUND_DETERMINATION_BLEED_MOD - return ..() + human_owner.unset_pain_mod(id) + REMOVE_TRAIT(owner, TRAIT_NO_PAIN_EFFECTS, TRAIT_STATUS_EFFECT(id)) + REMOVE_TRAIT(owner, TRAIT_ABATES_SHOCK, TRAIT_STATUS_EFFECT(id)) + owner.clear_alert(id) + owner.apply_status_effect(/datum/status_effect/determination_crash) + +/datum/status_effect/determined/tick(seconds_between_ticks) + if(HAS_TRAIT(owner, TRAIT_STASIS) || owner.stat == DEAD || !iscarbon(owner)) + return + + var/mob/living/carbon/carbowner = owner + for(var/datum/wound/wound as anything in carbowner.all_wounds) + wound.limb?.heal_damage(0.2 * seconds_between_ticks, 0.2 * seconds_between_ticks) + +#undef WOUND_DETERMINATION_BLEED_MOD + +/datum/status_effect/determination_crash + id = "determination_crash" + alert_type = null + remove_on_fullheal = TRUE + tick_interval = -1 + duration = 10 SECONDS + +/datum/status_effect/determination_crash/on_apply() + if(owner.stat == DEAD) + return FALSE + + owner.visible_message( + span_danger("[owner]'s body slackens noticeably!"), + span_boldwarning("Your adrenaline rush dies off, and the pain from your wounds come aching back in..."), + vision_distance = COMBAT_MESSAGE_RANGE, + ) + owner.add_movespeed_modifier(/datum/movespeed_modifier/determination_crash) + owner.add_actionspeed_modifier(/datum/actionspeed_modifier/determination_crash) + return TRUE + +/datum/status_effect/determination_crash/on_remove() + owner.remove_movespeed_modifier(/datum/movespeed_modifier/determination_crash) + owner.remove_actionspeed_modifier(/datum/actionspeed_modifier/determination_crash) + +/datum/movespeed_modifier/determination_crash + multiplicative_slowdown = 0.1 + +/datum/actionspeed_modifier/determination_crash + multiplicative_slowdown = 0.1 /datum/status_effect/limp id = "limp" @@ -71,8 +144,11 @@ if(!owner.client || owner.body_position == LYING_DOWN || !owner.has_gravity() || (owner.movement_type & FLYING) || forced || owner.buckled) return + if(SEND_SIGNAL(owner, COMSIG_CARBON_LIMPING, (next_leg || right || left)) & COMPONENT_CANCEL_LIMP) + return + // less limping while we have determination still - var/determined_mod = owner.has_status_effect(/datum/status_effect/determined) ? 0.5 : 1 + var/determined_mod = owner.can_feel_pain(TRUE) ? 1 : 0.5 if(next_leg == left) if(prob(limp_chance_left * determined_mod)) @@ -187,6 +263,8 @@ /datum/status_effect/wound/blunt/bone // blunt +/datum/status_effect/wound/blunt/bone/rib_break + id = "rib_break" /datum/status_effect/wound/blunt/bone/moderate id = "disjoint" /datum/status_effect/wound/blunt/bone/severe diff --git a/code/datums/voice_of_god_command.dm b/code/datums/voice_of_god_command.dm index 69f077ddd82b79..2018f290f97f78 100644 --- a/code/datums/voice_of_god_command.dm +++ b/code/datums/voice_of_god_command.dm @@ -225,7 +225,7 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) /datum/voice_of_god_command/hot/execute(list/listeners, mob/living/user, power_multiplier = 1, message) for(var/mob/living/target as anything in listeners) - target.adjust_bodytemperature(50 * power_multiplier) + target.adjust_bodytemperature(5 KELVIN * power_multiplier) /// This command cools the listeners down like freezing water. /datum/voice_of_god_command/cold @@ -234,7 +234,7 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) /datum/voice_of_god_command/cold/execute(list/listeners, mob/living/user, power_multiplier = 1, message) for(var/mob/living/target as anything in listeners) - target.adjust_bodytemperature(-50 * power_multiplier) + target.adjust_bodytemperature(-7.5 KELVIN * power_multiplier) /// This command throws the listeners away from the user. /datum/voice_of_god_command/repulse diff --git a/code/datums/weather/weather_types/ash_storm.dm b/code/datums/weather/weather_types/ash_storm.dm index 1a5bd69d2a04dd..e10e39505bc0bc 100644 --- a/code/datums/weather/weather_types/ash_storm.dm +++ b/code/datums/weather/weather_types/ash_storm.dm @@ -66,7 +66,7 @@ if(!. || !ishuman(mob_to_check)) return var/mob/living/carbon/human/human_to_check = mob_to_check - if(human_to_check.get_thermal_protection() >= FIRE_IMMUNITY_MAX_TEMP_PROTECT) + if(human_to_check.get_insulation(FIRE_IMMUNITY_MAX_TEMP_PROTECT) >= 0.9) //potentially broken return FALSE /datum/weather/ash_storm/weather_act(mob/living/victim) diff --git a/code/datums/weather/weather_types/void_storm.dm b/code/datums/weather/weather_types/void_storm.dm index becfa9859a81a8..13dbd09cb5235c 100644 --- a/code/datums/weather/weather_types/void_storm.dm +++ b/code/datums/weather/weather_types/void_storm.dm @@ -36,7 +36,7 @@ victim.adjustFireLoss(1) victim.adjustOxyLoss(rand(1, 3)) victim.adjust_eye_blur(rand(0 SECONDS, 2 SECONDS)) - victim.adjust_bodytemperature(-30 * TEMPERATURE_DAMAGE_COEFFICIENT) + victim.adjust_bodytemperature(-4 KELVIN) // Goes through former_impacted_areas and sets the overlay of each back to the telegraph overlay, to indicate the ascended heretic is no longer in that area. /datum/weather/void_storm/update_areas() diff --git a/code/datums/wounds/_wound_static_data.dm b/code/datums/wounds/_wound_static_data.dm index f996bb258c795d..15aa2dd7afa74a 100644 --- a/code/datums/wounds/_wound_static_data.dm +++ b/code/datums/wounds/_wound_static_data.dm @@ -86,7 +86,14 @@ * if we have a biotype mismatch, if the limb isnt in a viable zone, or if theres any duplicate wound types. * TRUE otherwise. */ -/datum/wound_pregen_data/proc/can_be_applied_to(obj/item/bodypart/limb, list/suggested_wounding_types = required_wounding_types, datum/wound/old_wound, random_roll = FALSE, duplicates_allowed = src.duplicates_allowed, care_about_existing_wounds = TRUE) +/datum/wound_pregen_data/proc/can_be_applied_to( + obj/item/bodypart/limb, + list/suggested_wounding_types = required_wounding_types, + datum/wound/old_wound, + random_roll = FALSE, + duplicates_allowed = src.duplicates_allowed, + care_about_existing_wounds = TRUE, +) SHOULD_BE_PURE(TRUE) if (!istype(limb) || !limb.owner) diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index 6a52753eef994b..53f50fddb0e44d 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -19,10 +19,14 @@ /datum/wound /// What it's named var/name = "Wound" + /// Optional, what is the wound named when someone is checking themselves (IE, no scanner - just with their eyes and hands) + var/undiagnosed_name /// The description shown on the scanners var/desc = "" /// The basic treatment suggested by health analyzers var/treat_text = "" + /// Even more basic treatment + var/treat_text_short = "" /// What the limb looks like on a cursory examine var/examine_desc = "is badly hurt" @@ -112,6 +116,11 @@ /// The actionspeed modifier we will use in case we are on the arms and have a interaction penalty. Qdelled on destroy. var/datum/actionspeed_modifier/wound_interaction_inefficiency/actionspeed_mod + /// If we did the gel + surgical tape healing method for fractures, how many ticks does it take to heal by default + var/regen_ticks_needed + /// Our current counter for gel + surgical tape regeneration + var/regen_ticks_current + /datum/wound/New() . = ..() @@ -204,7 +213,7 @@ if(severity == WOUND_SEVERITY_TRIVIAL) return - if(!silent && !demoted) + if(!silent && !demoted && occur_text) var/msg = span_danger("[victim]'s [limb.plaintext_zone] [occur_text]!") var/vis_dist = COMBAT_MESSAGE_RANGE @@ -440,13 +449,13 @@ /datum/wound/proc/second_wind() switch(severity) if(WOUND_SEVERITY_MODERATE) - victim.reagents.add_reagent(/datum/reagent/determination, WOUND_DETERMINATION_MODERATE) + victim.apply_status_effect(/datum/status_effect/determined, WOUND_DETERMINATION_MODERATE) if(WOUND_SEVERITY_SEVERE) - victim.reagents.add_reagent(/datum/reagent/determination, WOUND_DETERMINATION_SEVERE) + victim.apply_status_effect(/datum/status_effect/determined, WOUND_DETERMINATION_SEVERE) if(WOUND_SEVERITY_CRITICAL) - victim.reagents.add_reagent(/datum/reagent/determination, WOUND_DETERMINATION_CRITICAL) + victim.apply_status_effect(/datum/status_effect/determined, WOUND_DETERMINATION_CRITICAL) if(WOUND_SEVERITY_LOSS) - victim.reagents.add_reagent(/datum/reagent/determination, WOUND_DETERMINATION_LOSS) + victim.apply_status_effect(/datum/status_effect/determined, WOUND_DETERMINATION_LOSS) /** * try_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction. @@ -515,7 +524,13 @@ /// If var/processing is TRUE, this is run on each life tick /datum/wound/proc/handle_process(seconds_per_tick, times_fired) - return + SHOULD_CALL_PARENT(TRUE) + if(regen_ticks_current > regen_ticks_needed) + if(!victim || !limb) + qdel(src) + return + to_chat(victim, span_green("Your [limb.plaintext_zone] has recovered from its [undiagnosed_name || name]!")) + remove_wound() /// For use in do_after callback checks /datum/wound/proc/still_exists() @@ -592,7 +607,7 @@ */ /datum/wound/proc/get_examine_description(mob/user) . = get_wound_description(user) - if(HAS_TRAIT(src, TRAIT_WOUND_SCANNED)) + if(. && HAS_TRAIT(src, TRAIT_WOUND_SCANNED)) . += span_notice("\nThere is a holo-image next to the wound that seems to contain indications for treatment.") return . @@ -601,15 +616,29 @@ var/desc if ((wound_flags & ACCEPTS_GAUZE) && limb.current_gauze) - var/sling_condition = get_gauze_condition() - desc = "[victim.p_Their()] [limb.plaintext_zone] is [sling_condition] fastened in a sling of [limb.current_gauze.name]" - else + desc = "[victim.p_Their()] [limb.plaintext_zone] is [get_gauze_condition()] fastened in a sling of [limb.current_gauze.name]" + else if(examine_desc) desc = "[victim.p_Their()] [limb.plaintext_zone] [examine_desc]" + if(!desc) + return + desc = modify_desc_before_span(desc, user) return get_desc_intensity(desc) +/datum/wound/proc/get_self_check_description(mob/user) + // future todo : medical doctors can self-diagnose / don't use [undiagnosed_name] + switch(severity) + if(WOUND_SEVERITY_TRIVIAL) + return span_danger("It's suffering [a_or_from] [lowertext(undiagnosed_name || name)].") + if(WOUND_SEVERITY_MODERATE) + return span_warning("It's suffering [a_or_from] [lowertext(undiagnosed_name || name)].") + if(WOUND_SEVERITY_SEVERE) + return span_boldwarning("It's suffering [a_or_from] [lowertext(undiagnosed_name || name)]!") + if(WOUND_SEVERITY_CRITICAL) + return span_boldwarning("It's suffering [a_or_from] [lowertext(undiagnosed_name || name)]!!") + /// A hook proc used to modify desc before it is spanned via [get_desc_intensity]. Useful for inserting spans yourself. /datum/wound/proc/modify_desc_before_span(desc, mob/user) return desc @@ -637,10 +666,17 @@ return "[desc]." /datum/wound/proc/get_scanner_description(mob/user) - return "Type: [name]\nSeverity: [severity_text(simple = FALSE)]\nDescription: [desc]\nRecommended Treatment: [treat_text]" + return "Type: [name]\n\ + Severity: [severity_text(simple = FALSE)]\n\ + Description: [desc]\n\ + Recommended Treatment: [treat_text]" /datum/wound/proc/get_simple_scanner_description(mob/user) - return "[name] detected!\nRisk: [severity_text(simple = TRUE)]\nDescription: [simple_desc ? simple_desc : desc]\nTreatment Guide: [simple_treat_text]\nHomemade Remedies: [homemade_treat_text]" + return "[name] detected!\n\ + Risk: [severity_text(simple = TRUE)]\n\ + Description: [simple_desc ? simple_desc : desc]\n\ + Treatment Guide: [simple_treat_text]\n\ + Homemade Remedies: [homemade_treat_text]" /datum/wound/proc/severity_text(simple = FALSE) switch(severity) @@ -653,11 +689,6 @@ if(WOUND_SEVERITY_CRITICAL) return "Critical" + (simple ? "!!!" : "") -/// Returns TRUE if our limb is the head or chest, FALSE otherwise. -/// Essential in the sense of "we cannot live without it". -/datum/wound/proc/limb_essential() - return (limb.body_zone == BODY_ZONE_HEAD || limb.body_zone == BODY_ZONE_CHEST) - /// Getter proc for our scar_keyword, in case we might have some custom scar gen logic. /datum/wound/proc/get_scar_keyword(obj/item/bodypart/scarred_limb, add_to_scars) return scar_keyword diff --git a/code/datums/wounds/blunt.dm b/code/datums/wounds/blunt.dm index 219b7dd8805c14..45fd29330733b6 100644 --- a/code/datums/wounds/blunt.dm +++ b/code/datums/wounds/blunt.dm @@ -1,3 +1,4 @@ /datum/wound/blunt name = "Blunt Wound" + undiagnosed_name = "Painful Bruising" sound_effect = 'sound/effects/wounds/crack1.ogg' diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm index 1b63e5a4a2a4ab..cc53993907c270 100644 --- a/code/datums/wounds/bones.dm +++ b/code/datums/wounds/bones.dm @@ -22,10 +22,6 @@ var/gelled /// Have we been taped? var/taped - /// If we did the gel + surgical tape healing method for fractures, how many ticks does it take to heal by default - var/regen_ticks_needed - /// Our current counter for gel + surgical tape regeneration - var/regen_ticks_current /// If we suffer severe head booboos, we can get brain traumas tied to them var/datum/brain_trauma/active_trauma /// What brain trauma group, if any, we can draw from for head wounds @@ -36,6 +32,8 @@ var/trauma_cycle_cooldown /// If this is a chest wound and this is set, we have this chance to cough up blood when hit in the chest var/internal_bleeding_chance = 0 + /// Counts which tick we're on for footsteps + var/footstep_counter = 0 /* Overwriting of base procs @@ -53,7 +51,12 @@ I = victim.get_inactive_held_item() if(I && victim.dropItemToGround(I)) - victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [limb.plaintext_zone] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message( + span_danger("[victim] drops [I] in shock!"), + span_boldwarning("The force on your [limb.plaintext_zone] causes you to drop [I]!"), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) update_inefficiencies() return ..() @@ -62,8 +65,14 @@ if (victim) UnregisterSignal(victim, COMSIG_HUMAN_EARLY_UNARMED_ATTACK) + UnregisterSignal(victim, COMSIG_MOB_ITEM_ATTACK) + UnregisterSignal(victim, COMSIG_CARBON_STEP) + UnregisterSignal(victim, COMSIG_CARBON_ATTEMPT_BREATHE) if (new_victim) RegisterSignal(new_victim, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(attack_with_hurt_hand)) + RegisterSignal(new_victim, COMSIG_MOB_ITEM_ATTACK, PROC_REF(weapon_attack_with_hurt_hand)) + RegisterSignal(new_victim, COMSIG_CARBON_STEP, PROC_REF(carbon_step)) + RegisterSignal(new_victim, COMSIG_CARBON_ATTEMPT_BREATHE, PROC_REF(breath)) return ..() @@ -103,62 +112,134 @@ if(prob(33)) to_chat(victim, span_danger("You feel a sharp pain in your body as your bones are reforming!")) - if(regen_ticks_current > regen_ticks_needed) - if(!victim || !limb) - qdel(src) - return - to_chat(victim, span_green("Your [limb.plaintext_zone] has recovered from its [name]!")) - remove_wound() - /// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so -/datum/wound/blunt/bone/proc/attack_with_hurt_hand(mob/M, atom/target, proximity) +/datum/wound/blunt/bone/proc/attack_with_hurt_hand(datum/source, atom/target, proximity) + if(!proximity || severity <= WOUND_SEVERITY_MODERATE) + return NONE + if(limb.body_zone != BODY_ZONE_CHEST && victim.get_active_hand() != limb) + return NONE + var/weapon = victim.get_active_held_item() + if(!weapon && ((victim.istate & ISTATE_HARM)|| !ismob(target))) + return NONE + + // With a severe or critical wound, you have a 15% or 30% chance to proc pain on hit + if(!prob((severity - 1) * 15)) + return NONE + + var/painless = !victim.can_feel_pain() || victim.has_status_effect(/datum/status_effect/determined) + // And you have a 70% or 50% chance to actually land the blow, respectively + if(prob(70 - 20 * (severity - 1))) + to_chat(victim, span_userdanger("The fracture in your [limb.plaintext_zone] [painless ? "jostles uncomfortably" : "shoots with pain"] as you strike [target]!")) + victim.apply_damage(8, BRUTE, limb) + return NONE + + victim.visible_message( + span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [limb.plaintext_zone], recoiling from pain!"), + span_userdanger("You [weapon ? "weakly" : "fail"] to strike [target] as the fracture in your [limb.plaintext_zone] [painless ? "jostles uncomfortably" : "lights up in unbearable pain"]!"), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) + victim.Stun(0.5 SECONDS) + victim.apply_damage(10, BRUTE, limb) + victim.pain_emote(pick("wince", "grimace", "flinch")) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/datum/wound/blunt/bone/proc/weapon_attack_with_hurt_hand(datum/source, mob/target, mob/user, params) SIGNAL_HANDLER - if(victim.get_active_hand() != limb || !(victim.istate & ISTATE_HARM) || !ismob(target) || severity <= WOUND_SEVERITY_MODERATE) + return attack_with_hurt_hand(source, target, TRUE) + +/datum/wound/blunt/bone/proc/carbon_step(datum/source) + SIGNAL_HANDLER + + if(limb.body_zone != BODY_ZONE_L_LEG && limb.body_zone != BODY_ZONE_R_LEG) + return + if(victim.body_position == LYING_DOWN || victim.buckled) // wheelchair = fine, being pulled = not fine + return + if(victim.has_status_effect(/datum/status_effect/determined)) return - // With a severe or critical wound, you have a 15% or 30% chance to proc pain on hit - if(prob((severity - 1) * 15)) - // And you have a 70% or 50% chance to actually land the blow, respectively - if(prob(70 - 20 * (severity - 1))) - to_chat(victim, span_userdanger("The fracture in your [limb.plaintext_zone] shoots with pain as you strike [target]!")) - limb.receive_damage(brute=rand(1,5)) - else - victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [limb.plaintext_zone], recoiling from pain!"), \ - span_userdanger("You fail to strike [target] as the fracture in your [limb.plaintext_zone] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) - INVOKE_ASYNC(victim, TYPE_PROC_REF(/mob, emote), "scream") - victim.Stun(0.5 SECONDS) - limb.receive_damage(brute=rand(3,7)) - return COMPONENT_CANCEL_ATTACK_CHAIN + footstep_counter += 1 + if(footstep_counter >= 8) + footstep_counter = 1 + if((limb.current_gauze ? limb.current_gauze.splint_factor : 1) <= 0.75 || !victim.can_feel_pain()) + return + if(limb.body_zone == SELECT_LEFT_OR_RIGHT(footstep_counter, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) + return + var/mod = 1 + switch(victim.m_intent) + if(MOVE_INTENT_RUN) + mod = 1.5 + if(MOVE_INTENT_WALK) + mod = 1 + if(MOVE_INTENT_SPRINT) + mod = 2 + if(!prob(severity * mod * 20)) + return + if(SEND_SIGNAL(victim, COMSIG_CARBON_PAINED_STEP, limb, footstep_counter) & STOP_PAIN) + return + + to_chat(victim, span_danger("Your [limb.plaintext_zone] [pick("aches", "pangs", "stings")] as you take a step!")) + victim.sharp_pain(limb.body_zone, severity * 6, BRUTE, 10 SECONDS) -/datum/wound/blunt/bone/receive_damage(wounding_type, wounding_dmg, wound_bonus) - if(!victim || wounding_dmg < WOUND_MINIMUM_DAMAGE) + +/datum/wound/blunt/bone/proc/breath(...) + SIGNAL_HANDLER + + if(limb.body_zone != BODY_ZONE_CHEST) + return NONE + if(!victim.can_feel_pain() || (limb.current_gauze && limb.current_gauze.splint_factor <= 0.75)) + return NONE + var/pain_prob = min(75, 20 * severity * (victim.body_position == LYING_DOWN ? 1.5 : 1)) + if(!prob(pain_prob)) + return NONE + to_chat(victim, span_danger("You wince as you take a deep breath, feeling the pain in your ribs!")) + var/breath_prob = min(50, 15 * severity * (victim.body_position == LYING_DOWN ? 1.2 : 1)) + if(prob(breath_prob)) + victim.pain_emote("gasp") + . = BREATHE_SKIP_BREATH + else + victim.pain_emote("wince") + . = NONE + victim.sharp_pain(BODY_ZONE_CHEST, rand(5, 10), BRUTE, 10 SECONDS) + return . + +/datum/wound/blunt/bone/receive_damage(wounding_type, wounding_dmg, wound_bonus, attack_direction, damage_source) + if(victim.stat == DEAD || wounding_dmg < WOUND_MINIMUM_DAMAGE || wounding_type == WOUND_BURN) return - if(ishuman(victim)) - var/mob/living/carbon/human/human_victim = victim - if(HAS_TRAIT(human_victim, TRAIT_NOBLOOD)) - return - - if(limb.body_zone == BODY_ZONE_CHEST && victim.blood_volume && prob(internal_bleeding_chance + wounding_dmg)) - var/blood_bled = rand(1, wounding_dmg * (severity == WOUND_SEVERITY_CRITICAL ? 2 : 1.5)) // 12 brute toolbox can cause up to 18/24 bleeding with a severe/critical chest wound - switch(blood_bled) - if(1 to 6) - victim.bleed(blood_bled, TRUE) - if(7 to 13) - victim.visible_message("A thin stream of blood drips from [victim]'s mouth from the blow to [victim.p_their()] chest.", span_danger("You cough up a bit of blood from the blow to your chest."), vision_distance=COMBAT_MESSAGE_RANGE) - victim.bleed(blood_bled, TRUE) - if(14 to 19) - victim.visible_message("Blood spews out of [victim]'s mouth from the blow to [victim.p_their()] chest!", span_danger("You spit out a string of blood from the blow to your chest!"), vision_distance=COMBAT_MESSAGE_RANGE) - new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, COLOR_DARK_RED) - victim.bleed(blood_bled) - victim.blood_particles(amount = 1) - if(20 to INFINITY) - victim.visible_message(span_danger("Blood spurts out of [victim]'s mouth from the blow to [victim.p_their()] chest!"), span_danger("You choke up on a spray of blood from the blow to your chest!"), vision_distance=COMBAT_MESSAGE_RANGE) - victim.bleed(blood_bled) - new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, COLOR_DARK_RED) - victim.add_splatter_floor(get_step(victim.loc, victim.dir)) - victim.blood_particles(amount = 3) + if(limb.body_zone != BODY_ZONE_CHEST || !limb.can_bleed() || !prob(internal_bleeding_chance)) + return + if(limb.current_gauze?.splint_factor) + wounding_dmg *= (1 - limb.current_gauze.splint_factor) + var/blood_bled = sqrt(wounding_dmg) * (severity * 0.75) * pick(0.75, 1, 1.25) // melbert todo : push upstream + switch(blood_bled) + if(7 to 13) + victim.visible_message( + span_smalldanger("A thin stream of blood drips from [victim]'s mouth from the blow to [victim.p_their()] chest."), + span_danger("You cough up a bit of blood from the blow to your chest."), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) + if(14 to 19) + victim.visible_message( + span_smalldanger("Blood spews out of [victim]'s mouth from the blow to [victim.p_their()] chest!"), + span_danger("You spit out a string of blood from the blow to your chest!"), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) + if(20 to INFINITY) + victim.visible_message( + span_danger("Blood spurts out of [victim]'s mouth from the blow to [victim.p_their()] chest!"), + span_bolddanger("You choke up on a spray of blood from the blow to your chest!"), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) + victim.bleed(blood_bled, TRUE) + if(blood_bled >= 14) + victim.do_splatter_effect(attack_direction) + victim.add_splatter_floor(get_step(victim.loc, victim.dir)) + victim.blood_particles(amount = 1 * round(blood_bled / 14, 1)) /datum/wound/blunt/bone/modify_desc_before_span(desc) . = ..() @@ -181,11 +262,54 @@ return ..() +/datum/wound_pregen_data/bone/rib_break + abstract = FALSE + wound_path_to_generate = /datum/wound/blunt/bone/rib_break + required_limb_biostate = BIO_BONE + threshold_minimum = 20 + viable_zones = list(BODY_ZONE_CHEST) + +/datum/wound/blunt/bone/rib_break + // You may notice higher severity bone wounds are fractures on their own + // So this one seems a bit out of place, seeing as it's a generic "rib fracture" when more specific ones exist + // This is here as the chest has no moderate wound (as it's not jointed, and can't dislocate) + // Flavor wise imagine it as one rib being broken rather than multiple + name = "Fractured Rib" + desc = "One of the patient's ribs has been fractured, causing sharp pain and difficulty breathing." + treat_text = "Repair surgically. In the event of an emergency, \ + one can also apply bone gel and surgical tape to the affected area to fix over time." + treat_text_short = "Repair surgically, or apply bone gel and surgical tape." + occur_text = "cracks and bruises" + examine_desc = "" + + severity = WOUND_SEVERITY_MODERATE + threshold_penalty = 20 + treatable_by = list(/obj/item/stack/sticky_tape/surgical, /obj/item/stack/medical/bone_gel) + status_effect_type = /datum/status_effect/wound/blunt/bone/rib_break + scar_keyword = "dislocate" + internal_bleeding_chance = 25 + wound_flags = (ACCEPTS_GAUZE | MANGLES_INTERIOR) + regen_ticks_needed = 180 // ticks every 2 seconds, 360 seconds, so roughly 6 minutes default + + simple_treat_text = "Bandaging the wound will reduce its impact until treated \ + surgically or via bone gel and surgical tape." + homemade_treat_text = "Bone gel and surgical tape may be applied directly to the wound, \ + though this is quite difficult for most people to do so individually \ + unless they've dosed themselves with one or more painkillers." + +/datum/wound/blunt/bone/rib_break/get_self_check_description(mob/user) + if(locate(/datum/wound/bleed_internal) in limb.wounds) + return null + return span_warning("It feels tense to the touch.") // same as IB! + /// Joint Dislocation (Moderate Blunt) /datum/wound/blunt/bone/moderate name = "Joint Dislocation" + undiagnosed_name = "Dislocation" desc = "Patient's limb has been unset from socket, causing pain and reduced motor function." - treat_text = "Recommended application of bonesetter to affected limb, though manual relocation by applying an aggressive grab to the patient and helpfully interacting with afflicted limb may suffice." + treat_text = "Apply Bonesetter to the affected limb. \ + Manual relocation by via an aggressive grab and a tight hug to the affected limb may also suffice." + treat_text_short = "Apply Bonesetter, or manually relocate the limb." examine_desc = "is awkwardly janked out of place" occur_text = "janks violently and becomes unseated" severity = WOUND_SEVERITY_MODERATE @@ -197,9 +321,12 @@ status_effect_type = /datum/status_effect/wound/blunt/bone/moderate scar_keyword = "dislocate" - simple_desc = "Patient's bone has been dislocated, causing limping or reduced dexterity." - simple_treat_text = "Bandaging the wound will reduce its impact until treated with a bonesetter. Most commonly, it is treated by aggressively grabbing someone and helpfully wrenching the limb in place, though there's room for malfeasance when doing this." - homemade_treat_text = "Besides bandaging and wrenching, bone setters can be printed in lathes and utilized on oneself at the cost of great pain. As a last resort, crushing the patient with a firelock has sometimes been noted to fix their dislocated limb." + simple_treat_text = "Bandaging the wound will reduce its impact until treated with a bonesetter. \ + Most commonly, it is treated by aggressively grabbing someone and helpfully wrenching the limb in place, \ + though there's room for malfeasance when doing this." + homemade_treat_text = "Besides bandaging and wrenching, bone setters \ + can be printed in lathes and utilized on oneself at the cost of great pain. \ + As a last resort, crushing the patient with a firelock has sometimes been noted to fix their dislocated limb." /datum/wound_pregen_data/bone/dislocate abstract = FALSE @@ -224,6 +351,9 @@ return ..() +/datum/wound/blunt/bone/moderate/get_self_check_description(mob/user) + return span_warning("It feels dislocated!") + /// Getting smushed in an airlock/firelock is a last-ditch attempt to try relocating your limb /datum/wound/blunt/bone/moderate/proc/door_crush() SIGNAL_HANDLER @@ -236,7 +366,7 @@ return FALSE if(user.grab_state == GRAB_PASSIVE) - to_chat(user, span_warning("You must have [victim] in an aggressive grab to manipulate [victim.p_their()] [lowertext(name)]!")) + to_chat(user, span_warning("You must have [victim] in an aggressive grab to manipulate [victim.p_their()] [lowertext(undiagnosed_name || name)]!")) return TRUE if(user.grab_state >= GRAB_AGGRESSIVE) @@ -258,13 +388,13 @@ if(prob(65)) user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.plaintext_zone] back into place!"), span_notice("You snap [victim]'s dislocated [limb.plaintext_zone] back into place!"), ignored_mobs=victim) to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.plaintext_zone] back into place!")) - victim.emote("scream") - limb.receive_damage(brute=20, wound_bonus=CANT_WOUND) + user.pain_emote("scream") + user.apply_damage(20, BRUTE, limb, wound_bonus = CANT_WOUND) qdel(src) else user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.plaintext_zone] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.plaintext_zone] around painfully!"), ignored_mobs=victim) to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.plaintext_zone] around painfully!")) - limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) + user.apply_damage(10, BRUTE, limb, wound_bonus = CANT_WOUND) chiropractice(user) /// If someone is snapping our dislocated joint into a fracture by hand with an aggro grab and harm or disarm intent @@ -277,12 +407,12 @@ if(prob(65)) user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.plaintext_zone] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [limb.plaintext_zone] with a sickening crack!"), ignored_mobs=victim) to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.plaintext_zone] with a sickening crack!")) - victim.emote("scream") - limb.receive_damage(brute=25, wound_bonus=30) + user.pain_emote("scream") + user.apply_damage(25, BRUTE, limb, wound_bonus = 30) else user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.plaintext_zone] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.plaintext_zone] around painfully!"), ignored_mobs=victim) to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.plaintext_zone] around painfully!")) - limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) + user.apply_damage(10, BRUTE, limb, wound_bonus = CANT_WOUND) malpractice(user) @@ -308,7 +438,7 @@ user.visible_message(span_danger("[user] finishes resetting [victim]'s [limb.plaintext_zone]!"), span_nicegreen("You finish resetting [victim]'s [limb.plaintext_zone]!"), ignored_mobs=victim) to_chat(victim, span_userdanger("[user] resets your [limb.plaintext_zone]!")) - victim.emote("scream") + victim.pain_emote("scream") qdel(src) /* @@ -318,7 +448,9 @@ /datum/wound/blunt/bone/severe name = "Hairline Fracture" desc = "Patient's bone has suffered a crack in the foundation, causing serious pain and reduced limb functionality." - treat_text = "Recommended light surgical application of bone gel, though a sling of medical gauze will prevent worsening situation." + treat_text = "Repair surgically. In the event of an emergency, an application of bone gel over the affected area will fix over time. \ + A splint or sling of medical gauze can also be used to prevent the fracture from worsening." + treat_text_short = "Repair surgically, or apply bone gel. A splint or gauze sling can also be used." examine_desc = "appears grotesquely swollen, jagged bumps hinting at chips in the bone" occur_text = "sprays chips of bone and develops a nasty looking bruise" @@ -336,9 +468,11 @@ wound_flags = (ACCEPTS_GAUZE | MANGLES_INTERIOR) regen_ticks_needed = 120 // ticks every 2 seconds, 240 seconds, so roughly 4 minutes default - simple_desc = "Patient's bone has cracked in the middle, drastically reducing limb functionality." - simple_treat_text = "Bandaging the wound will reduce its impact until surgically treated with bone gel and surgical tape." - homemade_treat_text = "Bone gel and surgical tape may be applied directly to the wound, though this is quite difficult for most people to do so individually unless they've dosed themselves with one or more painkillers (Morphine and Miner's Salve have been known to help)" + simple_treat_text = "Bandaging the wound will reduce its impact until treated \ + surgically or via bone gel and surgical tape." + homemade_treat_text = "Bone gel and surgical tape may be applied directly to the wound, \ + though this is quite difficult for most people to do so individually \ + unless they've dosed themselves with one or more painkillers." /datum/wound_pregen_data/bone/hairline @@ -351,8 +485,12 @@ /// Compound Fracture (Critical Blunt) /datum/wound/blunt/bone/critical name = "Compound Fracture" - desc = "Patient's bones have suffered multiple gruesome fractures, causing significant pain and near uselessness of limb." - treat_text = "Immediate binding of affected limb, followed by surgical intervention ASAP." + undiagnosed_name = "Compound Fracture" // you can tell it's a compound fracture at a glance because of a skin breakage + desc = "Patient's bones have suffered multiple fractures, \ + couped with a break in the skin, causing significant pain and near uselessness of limb." + treat_text = "Immediately bind the affected limb with gauze or a splint. Repair surgically. \ + In the event of an emergency, bone gel and surgical tape can be applied to the affected area to fix over a long period of time." + treat_text_short = "Repair surgically, or apply bone gel and surgical tape. A splint or gauze sling should also be used." examine_desc = "is thoroughly pulped and cracked, exposing shards of bone to open air" occur_text = "cracks apart, exposing broken bones to open air" @@ -372,9 +510,12 @@ wound_flags = (ACCEPTS_GAUZE | MANGLES_INTERIOR) regen_ticks_needed = 240 // ticks every 2 seconds, 480 seconds, so roughly 8 minutes default - simple_desc = "Patient's bones have effectively shattered completely, causing total immobilization of the limb." - simple_treat_text = "Bandaging the wound will slightly reduce its impact until surgically treated with bone gel and surgical tape." - homemade_treat_text = "Although this is extremely difficult and slow to function, Bone gel and surgical tape may be applied directly to the wound, though this is nigh-impossible for most people to do so individually unless they've dosed themselves with one or more painkillers (Morphine and Miner's Salve have been known to help)" + simple_treat_text = "Bandaging the wound will slightly reduce its impact until treated \ + surgically or via bone gel and surgical tape." + homemade_treat_text = "Although this is extremely difficult and slow to function, \ + Bone gel and surgical tape may be applied directly to the wound, \ + though this is nigh-impossible for most people to do so individually \ + unless they've dosed themselves with one or more painkillers." /datum/wound_pregen_data/bone/compound abstract = FALSE @@ -406,13 +547,14 @@ return TRUE I.use(1) - victim.emote("scream") + victim.pain_emote("scream") if(user != victim) user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.plaintext_zone], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.plaintext_zone]!"), ignored_mobs=victim) to_chat(victim, span_userdanger("[user] finishes applying [I] to your [limb.plaintext_zone], and you can feel the bones exploding with pain as they begin melting and reforming!")) else if(!HAS_TRAIT(victim, TRAIT_ANALGESIA)) - if(prob(25 + (20 * (severity - 2)) - min(victim.get_drunk_amount(), 10))) // 25%/45% chance to fail self-applying with severe and critical wounds, modded by drunkenness + var/painkiller_bonus = 50 * (1 - (victim.pain_controller?.pain_modifier || 1)) + if(prob(25 + (20 * (severity - 2)) - painkiller_bonus)) // 25%/45% chance to fail self-applying with severe and critical wounds, modded by drunkenness victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [limb.plaintext_zone], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [limb.plaintext_zone] before you can finish!")) victim.AdjustUnconscious(5 SECONDS) return TRUE @@ -485,21 +627,16 @@ . += "
" if(severity > WOUND_SEVERITY_MODERATE) - if((limb.biological_state & BIO_BONE) && !(limb.biological_state & BIO_FLESH)) - if(!gelled) - . += "Recommended Treatment: Apply bone gel directly to injured limb. Creatures of pure bone don't seem to mind bone gel application nearly as much as fleshed individuals. Surgical tape will also be unnecessary.\n" - else - . += "[span_notice("Note: Bone regeneration in effect. Bone is [round(regen_ticks_current*100/regen_ticks_needed)]% regenerated.")]\n" - else - if(!gelled) - . += "Alternative Treatment: Apply bone gel directly to injured limb, then apply surgical tape to begin bone regeneration. This is both excruciatingly painful and slow, and only recommended in dire circumstances.\n" - else if(!taped) - . += "[span_notice("Continue Alternative Treatment: Apply surgical tape directly to injured limb to begin bone regeneration. Note, this is both excruciatingly painful and slow, though sleep or laying down will speed recovery.")]\n" - else - . += "[span_notice("Note: Bone regeneration in effect. Bone is [round(regen_ticks_current*100/regen_ticks_needed)]% regenerated.")]\n" + if(!gelled) + . += "Recommended Treatment: \ + Operate where possible. In the event of emergency, apply bone gel directly to injured limb. \ + Creatures of pure bone don't seem to mind bone gel application nearly as much as fleshed individuals. \ + Surgical tape will also be unnecessary.\n" if(limb.body_zone == BODY_ZONE_HEAD) - . += "Cranial Trauma Detected: Patient will suffer random bouts of [severity == WOUND_SEVERITY_SEVERE ? "mild" : "severe"] brain traumas until bone is repaired." - else if(limb.body_zone == BODY_ZONE_CHEST && victim.blood_volume) - . += "Ribcage Trauma Detected: Further trauma to chest is likely to worsen internal bleeding until bone is repaired." + . += "Cranial Trauma Detected: \ + Patient will suffer random bouts of [severity == WOUND_SEVERITY_SEVERE ? "mild" : "severe"] brain traumas until bone is repaired." + else if(limb.body_zone == BODY_ZONE_CHEST && !HAS_TRAIT(victim, TRAIT_NOBLOOD)) + . += "Ribcage Trauma Detected: \ + Further trauma to chest is likely to worsen internal bleeding until bone is repaired." . += "
" diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index 483b47cce1fa31..abd6bd763078ba 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -6,6 +6,7 @@ // TODO: well, a lot really, but specifically I want to add potential fusing of clothing/equipment on the affected area, and limb infections, though those may go in body part code /datum/wound/burn name = "Burn Wound" + undiagnosed_name = "Burns" a_or_from = "from" sound_effect = 'sound/effects/wounds/sizzle1.ogg' @@ -35,6 +36,11 @@ /// Once we reach infestation beyond WOUND_INFESTATION_SEPSIS, we get this many warnings before the limb is completely paralyzed (you'd have to ignore a really bad burn for a really long time for this to happen) var/strikes_to_lose_limb = 3 +/datum/wound/burn/flesh/severity_text(simple = FALSE) + if(infestation > WOUND_INFECTION_MODERATE) + return "Infected, [..()]" + return ..() + /datum/wound/burn/flesh/handle_process(seconds_per_tick, times_fired) if (!victim || HAS_TRAIT(victim, TRAIT_STASIS)) @@ -278,7 +284,8 @@ /datum/wound/burn/flesh/moderate name = "Second Degree Burns" desc = "Patient is suffering considerable burns with mild skin penetration, weakening limb integrity and increased burning sensations." - treat_text = "Recommended application of topical ointment or regenerative mesh to affected region." + treat_text = "Apply topical ointment or regenerative mesh to the wound." + treat_text_short = "Apply healing aid such as regenerative mesh." examine_desc = "is badly burned and breaking out in blisters" occur_text = "breaks out with violent red burns" severity = WOUND_SEVERITY_MODERATE @@ -302,7 +309,10 @@ /datum/wound/burn/flesh/severe name = "Third Degree Burns" desc = "Patient is suffering extreme burns with full skin penetration, creating serious risk of infection and greatly reduced limb integrity." - treat_text = "Recommended immediate disinfection and excision of any infected skin, followed by bandaging and ointment." + treat_text = "Swiftly apply healing aids such as Synthflesh or regenerative mesh to the wound. \ + Disinfect the wound and surgically debride any infected skin, and wrap in clean gauze / use ointment to prevent further infection. \ + If the limb has locked up, it must be amputated, augmented or treated with cryogenics." + treat_text_short = "Apply healing aid such as regenerative mesh or Synthflesh and disinfect / debride." examine_desc = "appears seriously charred, with aggressive red splotches" occur_text = "chars rapidly, exposing ruined tissue and spreading angry red burns" severity = WOUND_SEVERITY_SEVERE @@ -328,7 +338,10 @@ /datum/wound/burn/flesh/critical name = "Catastrophic Burns" desc = "Patient is suffering near complete loss of tissue and significantly charred muscle and bone, creating life-threatening risk of infection and negligible limb integrity." - treat_text = "Immediate surgical debriding of any infected skin, followed by potent tissue regeneration formula and bandaging." + treat_text = "Immediately apply healing aids such as Synthflesh or regenerative mesh to the wound. \ + Disinfect the wound and surgically debride any infected skin, and wrap in clean gauze / use ointment to prevent further infection. \ + If the limb has locked up, it must be amputated, augmented or treated with cryogenics." + treat_text_short = "Apply healing aid such as regenerative mesh or Synthflesh and disinfect / debride." examine_desc = "is a ruined mess of blanched bone, melted fat, and charred tissue" occur_text = "vaporizes as flesh, bone, and fat melt together in a horrifying mess" severity = WOUND_SEVERITY_CRITICAL diff --git a/code/datums/wounds/loss.dm b/code/datums/wounds/loss.dm index bcad804eba68c2..d8d0aad5e80e71 100644 --- a/code/datums/wounds/loss.dm +++ b/code/datums/wounds/loss.dm @@ -48,7 +48,7 @@ set_limb(dismembered_part) second_wind() log_wound(victim, src) - if(dismembered_part.can_bleed() && wounding_type != WOUND_BURN && victim.blood_volume) + if(dismembered_part.can_bleed() && wounding_type != WOUND_BURN) victim.spray_blood(attack_direction, severity) victim.blood_particles(amount = rand(3, 6), angle = 0, min_deviation = 0, max_deviation = 360) dismembered_part.dismember(wounding_type == WOUND_BURN ? BURN : BRUTE, wounding_type = wounding_type) diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm index 4deb883617682f..33b734a46e4838 100644 --- a/code/datums/wounds/pierce.dm +++ b/code/datums/wounds/pierce.dm @@ -3,6 +3,7 @@ Piercing wounds */ /datum/wound/pierce + undiagnosed_name = "Bleeding Wound" /datum/wound/pierce/bleed name = "Piercing Wound" @@ -34,28 +35,45 @@ return ..() -/datum/wound/pierce/bleed/receive_damage(wounding_type, wounding_dmg, wound_bonus) - if(QDELETED(victim) || victim.stat == DEAD || (wounding_dmg < 5) || !limb.can_bleed() || !victim.blood_volume || !prob(internal_bleeding_chance + wounding_dmg)) +/datum/wound/pierce/bleed/receive_damage(wounding_type, wounding_dmg, wound_bonus, attack_direction, damage_source) + if(victim.stat == DEAD || (wounding_dmg < WOUND_MINIMUM_DAMAGE) || wounding_type == WOUND_BURN) return + if(!limb.can_bleed() || !prob(internal_bleeding_chance)) + return + if(limb.body_zone != BODY_ZONE_CHEST) + wounding_dmg *= 0.5 if(limb.current_gauze?.splint_factor) wounding_dmg *= (1 - limb.current_gauze.splint_factor) - var/blood_bled = rand(1, wounding_dmg * internal_bleeding_coefficient) // 12 brute toolbox can cause up to 15/18/21 bloodloss on mod/sev/crit + var/blood_bled = sqrt(wounding_dmg) * internal_bleeding_coefficient * pick(0.75, 1, 1.25, 1.5) switch(blood_bled) - if(1 to 6) - victim.bleed(blood_bled, TRUE) if(7 to 13) - victim.visible_message("Blood droplets fly from the hole in [victim]'s [limb.plaintext_zone].", span_danger("You cough up a bit of blood from the blow to your [limb.plaintext_zone]."), vision_distance=COMBAT_MESSAGE_RANGE) - victim.bleed(blood_bled, TRUE) + victim.visible_message( + span_smalldanger("Blood droplets fly from the hole in [victim]'s [limb.plaintext_zone]."), + span_danger("You cough up a bit of blood from the blow to your [limb.plaintext_zone]."), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) if(14 to 19) - victim.visible_message("A small stream of blood spurts from the hole in [victim]'s [limb.plaintext_zone]!", span_danger("You spit out a string of blood from the blow to your [limb.plaintext_zone]!"), vision_distance=COMBAT_MESSAGE_RANGE) - new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, COLOR_DARK_RED) - victim.bleed(blood_bled) + victim.visible_message( + span_smalldanger("A small stream of blood spurts from the hole in [victim]'s [limb.plaintext_zone]!"), + span_danger("You spit out a string of blood from the blow to your [limb.plaintext_zone]!"), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) + if(20 to INFINITY) - victim.visible_message(span_danger("A spray of blood streams from the gash in [victim]'s [limb.plaintext_zone]!"), span_danger("You choke up on a spray of blood from the blow to your [limb.plaintext_zone]!"), vision_distance=COMBAT_MESSAGE_RANGE) - victim.bleed(blood_bled) - new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, COLOR_DARK_RED) + victim.visible_message( + span_danger("A spray of blood streams from the gash in [victim]'s [limb.plaintext_zone]!"), + span_bolddanger("You choke up on a spray of blood from the blow to your [limb.plaintext_zone]!"), + vision_distance = COMBAT_MESSAGE_RANGE, + + ) victim.add_splatter_floor(get_step(victim.loc, victim.dir)) + victim.bleed(blood_bled, TRUE) + if(blood_bled >= 14) + victim.do_splatter_effect(attack_direction) + /datum/wound/pierce/bleed/get_bleed_rate_of_change() //basically if a species doesn't bleed, the wound is stagnant and will not heal on it's own (nor get worse) if(!limb.can_bleed()) @@ -67,16 +85,17 @@ return BLOOD_FLOW_STEADY /datum/wound/pierce/bleed/handle_process(seconds_per_tick, times_fired) + . = ..() if (QDELETED(victim) || HAS_TRAIT(victim, TRAIT_STASIS)) return set_blood_flow(min(blood_flow, WOUND_SLASH_MAX_BLOODFLOW)) if(limb.can_bleed()) - if(victim.bodytemperature < (BODYTEMP_NORMAL - 10)) + if(!HAS_TRAIT(victim, TRAIT_RESISTCOLD) && victim.get_skin_temperature() < victim.bodytemp_cold_damage_limit) adjust_blood_flow(-0.1 * seconds_per_tick) if(SPT_PROB(2.5, seconds_per_tick)) - to_chat(victim, span_notice("You feel the [lowertext(name)] in your [limb.plaintext_zone] firming up from the cold!")) + to_chat(victim, span_notice("You feel the [lowertext(undiagnosed_name || name)] in your [limb.plaintext_zone] firming up from the cold!")) if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) adjust_blood_flow(0.25 * seconds_per_tick) // old heparin used to just add +2 bleed stacks per tick, this adds 0.5 bleed flow to all open cuts which is probably even stronger as long as you can cut them first @@ -153,14 +172,15 @@ else user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.plaintext_zone] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.plaintext_zone] with [I]...")) + playsound(user, 'sound/surgery/cautery1.ogg', 75, TRUE) if(!do_after(user, treatment_delay, target = victim, extra_checks = CALLBACK(src, PROC_REF(still_exists)))) return TRUE + playsound(user, 'sound/surgery/cautery2.ogg', 75, TRUE) + var/bleeding_wording = (!limb.can_bleed() ? "holes" : "bleeding") user.visible_message(span_green("[user] cauterizes some of the [bleeding_wording] on [victim]."), span_green("You cauterize some of the [bleeding_wording] on [victim].")) - limb.receive_damage(burn = 2 + severity, wound_bonus = CANT_WOUND) - if(prob(30)) - victim.emote("scream") + victim.apply_damage(2 + severity, BURN, limb, wound_bonus = CANT_WOUND) var/blood_cauterized = (0.6 / (self_penalty_mult * improv_penalty_mult)) adjust_blood_flow(-blood_cauterized) @@ -176,21 +196,16 @@ wound_series = WOUND_SERIES_FLESH_PUNCTURE_BLEED -/datum/wound_pregen_data/flesh_pierce - abstract = TRUE - - required_limb_biostate = (BIO_FLESH) - required_wounding_types = list(WOUND_PIERCE) - - wound_series = WOUND_SERIES_FLESH_PUNCTURE_BLEED - /datum/wound/pierce/get_limb_examine_description() return span_warning("The flesh on this limb appears badly perforated.") /datum/wound/pierce/bleed/moderate name = "Minor Skin Breakage" desc = "Patient's skin has been broken open, causing severe bruising and minor internal bleeding in affected area." - treat_text = "Treat affected site with bandaging or exposure to extreme cold. In dire cases, brief exposure to vacuum may suffice." // space is cold in ss13, so it's like an ice pack! + treat_text = "Apply bandaging or suturing to the wound, make use of blood clotting agents, \ + cauterization, or in extreme circumstances, exposure to extreme cold or vaccuum. \ + Follow with food and a rest period." + treat_text_short = "Apply bandaging or suturing." examine_desc = "has a small, circular hole, gently bleeding" occur_text = "spurts out a thin stream of blood" sound_effect = 'sound/effects/wounds/pierce1.ogg' @@ -221,7 +236,10 @@ /datum/wound/pierce/bleed/severe name = "Open Puncture" desc = "Patient's internal tissue is penetrated, causing sizeable internal bleeding and reduced limb stability." - treat_text = "Repair punctures in skin by suture or cautery, extreme cold may also work." + treat_text = "Swiftly apply bandaging or suturing to the wound, make use of blood clotting agents or saline-glucose, \ + cauterization, or in extreme circumstances, exposure to extreme cold or vaccuum. \ + Follow with iron supplements and a rest period." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "is pierced clear through, with bits of tissue obscuring the open hole" occur_text = "looses a violent spray of blood, revealing a pierced wound" sound_effect = 'sound/effects/wounds/pierce2.ogg' @@ -251,7 +269,10 @@ /datum/wound/pierce/bleed/critical name = "Ruptured Cavity" desc = "Patient's internal tissue and circulatory system is shredded, causing significant internal bleeding and damage to internal organs." - treat_text = "Surgical repair of puncture wound, followed by supervised resanguination." + treat_text = "Immediately apply bandaging or suturing to the wound, make use of blood clotting agents or saline-glucose, \ + cauterization, or in extreme circumstances, exposure to extreme cold or vaccuum. \ + Follow with supervised resanguination." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "is ripped clear through, barely held together by exposed bone" occur_text = "blasts apart, sending chunks of viscera flying in all directions" sound_effect = 'sound/effects/wounds/pierce3.ogg' diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index b0edc7f250741e..5c36bfdfcd3734 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -5,6 +5,7 @@ /datum/wound/slash name = "Slashing (Cut) Wound" + undiagnosed_name = "Cut" sound_effect = 'sound/weapons/slice.ogg' /datum/wound_pregen_data/flesh_slash @@ -134,7 +135,7 @@ return BLOOD_FLOW_INCREASING /datum/wound/slash/flesh/handle_process(seconds_per_tick, times_fired) - + . = ..() if (!victim || HAS_TRAIT(victim, TRAIT_STASIS)) return @@ -317,7 +318,9 @@ /datum/wound/slash/flesh/moderate name = "Rough Abrasion" desc = "Patient's skin has been badly scraped, generating moderate blood loss." - treat_text = "Application of clean bandages or first-aid grade sutures, followed by food and rest." + treat_text = "Apply bandaging or suturing to the wound. \ + Follow up with food and a rest period." + treat_text_short = "Apply bandaging or suturing." examine_desc = "has an open cut" occur_text = "is cut open, slowly leaking blood" sound_effect = 'sound/effects/wounds/blood1.ogg' @@ -346,7 +349,10 @@ /datum/wound/slash/flesh/severe name = "Open Laceration" desc = "Patient's skin is ripped clean open, allowing significant blood loss." - treat_text = "Speedy application of first-aid grade sutures and clean bandages, followed by vitals monitoring to ensure recovery." + treat_text = "Swiftly apply bandaging or suturing to the wound, \ + or make use of blood clotting agents or cauterization. \ + Follow up with iron supplements or saline-glucose and a rest period." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "has a severe cut" occur_text = "is ripped open, veins spurting blood" sound_effect = 'sound/effects/wounds/blood2.ogg' @@ -376,7 +382,10 @@ /datum/wound/slash/flesh/critical name = "Weeping Avulsion" desc = "Patient's skin is completely torn open, along with significant loss of tissue. Extreme blood loss will lead to quick death without intervention." - treat_text = "Immediate bandaging and either suturing or cauterization, followed by supervised resanguination." + treat_text = "Immediately apply bandaging or suturing to the wound, \ + or make use of blood clotting agents or cauterization. \ + Follow up supervised resanguination." + treat_text_short = "Apply bandaging, suturing, clotting agents, or cauterization." examine_desc = "is carved down to the bone, spraying blood wildly" occur_text = "is torn open, spraying blood wildly" sound_effect = 'sound/effects/wounds/blood3.ogg' diff --git a/code/game/atom_defense.dm b/code/game/atom_defense.dm index ea9b8994bc78b8..43422bf2fcba64 100644 --- a/code/game/atom_defense.dm +++ b/code/game/atom_defense.dm @@ -58,6 +58,11 @@ SHOULD_BE_PURE(TRUE) return atom_integrity +/// Similar to get_integrity, but returns the percentage as [0-1] instead. +/atom/proc/get_integrity_percentage() + SHOULD_BE_PURE(TRUE) + return round(atom_integrity / max_integrity, 0.01) + ///returns the damage value of the attack after processing the atom's various armor protections /atom/proc/run_atom_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0) if(!uses_integrity) @@ -131,6 +136,10 @@ /// A cut-out proc for [/atom/proc/bullet_act] so living mobs can have their own armor behavior checks without causing issues with needing their own on_hit call /atom/proc/check_projectile_armor(def_zone, obj/projectile/impacting_projectile, is_silent) - if(uses_integrity) - return clamp(PENETRATE_ARMOUR(get_armor_rating(impacting_projectile.armor_flag), impacting_projectile.armour_penetration), 0, 100) - return 0 + if(!uses_integrity) + return 0 + + . = clamp(PENETRATE_ARMOUR(get_armor_rating(impacting_projectile.armor_flag), impacting_projectile.armour_penetration), 0, 100) + if(impacting_projectile.grazing) + . += 50 + return . diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 95ba030e198a32..d95c5ad012af44 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1042,20 +1042,19 @@ ///returns the mob's dna info as a list, to be inserted in an object's blood_DNA list /mob/living/proc/get_blood_dna_list() - if(get_blood_id() != /datum/reagent/blood) - return - return list("ANIMAL DNA" = "Y-") + var/datum/blood_type/blood = get_blood_type() + if(!isnull(blood)) + return list("UNKNOWN DNA" = blood.type) + return null ///Get the mobs dna list /mob/living/carbon/get_blood_dna_list() - if(get_blood_id() != /datum/reagent/blood) - return - var/list/blood_dna = list() - if(dna) - blood_dna[dna.unique_enzymes] = dna.blood_type - else - blood_dna["UNKNOWN DNA"] = "X*" - return blood_dna + if(isnull(dna)) // Xenos + return ..() + var/datum/blood_type/blood = get_blood_type() + if(isnull(blood)) // Skeletons? + return null + return list("[dna.unique_enzymes]" = blood.type) /mob/living/carbon/alien/get_blood_dna_list() return list("UNKNOWN DNA" = "X*") diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 932444e63a8f90..bd28bed8a6dd06 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -1229,7 +1229,7 @@ "UE"=scanner_occupant.dna.unique_enzymes, "UF"=scanner_occupant.dna.unique_features, "name"=scanner_occupant.real_name, - "blood_type"=scanner_occupant.dna.blood_type) + "blood_type"="[GLOB.blood_types[scanner_occupant.dna.human_blood_type]]") return @@ -1719,7 +1719,7 @@ scanner_occupant.real_name = buffer_slot["name"] scanner_occupant.name = buffer_slot["name"] scanner_occupant.dna.unique_enzymes = buffer_slot["UE"] - scanner_occupant.dna.blood_type = buffer_slot["blood_type"] + scanner_occupant.dna.human_blood_type = blood_name_to_blood_type(buffer_slot["blood_type"]) scanner_occupant.apply_status_effect(/datum/status_effect/genetic_damage, damage_increase) scanner_occupant.domutcheck() return TRUE @@ -1737,7 +1737,7 @@ scanner_occupant.real_name = buffer_slot["name"] scanner_occupant.name = buffer_slot["name"] scanner_occupant.dna.unique_enzymes = buffer_slot["UE"] - scanner_occupant.dna.blood_type = buffer_slot["blood_type"] + scanner_occupant.dna.human_blood_type = blood_name_to_blood_type(buffer_slot["blood_type"]) scanner_occupant.apply_status_effect(/datum/status_effect/genetic_damage, damage_increase) scanner_occupant.domutcheck() return TRUE diff --git a/code/game/machinery/computer/operating_computer.dm b/code/game/machinery/computer/operating_computer.dm index 093c96bf57ecb8..83692a8af26a87 100644 --- a/code/game/machinery/computer/operating_computer.dm +++ b/code/game/machinery/computer/operating_computer.dm @@ -138,12 +138,7 @@ data["patient"]["health"] = patient.health // check here to see if the patient has standard blood reagent, or special blood (like how ethereals bleed liquid electricity) to show the proper name in the computer - var/blood_id = patient.get_blood_id() - if(blood_id == /datum/reagent/blood) - data["patient"]["blood_type"] = patient.dna?.blood_type - else - var/datum/reagent/special_blood = GLOB.chemical_reagents_list[blood_id] - data["patient"]["blood_type"] = special_blood ? special_blood.name : blood_id + data["patient"]["blood_type"] = "[patient.get_blood_type() || "None"]" data["patient"]["maxHealth"] = patient.maxHealth data["patient"]["minHealth"] = HEALTH_THRESHOLD_DEAD diff --git a/code/game/machinery/computer/records/medical.dm b/code/game/machinery/computer/records/medical.dm index 53c3256dc217e1..2e18e22ee460eb 100644 --- a/code/game/machinery/computer/records/medical.dm +++ b/code/game/machinery/computer/records/medical.dm @@ -140,7 +140,7 @@ return FALSE target.age = 18 - target.blood_type = pick(list("A+", "A-", "B+", "B-", "O+", "O-", "AB+", "AB-")) + target.blood_type = "[GLOB.blood_types[random_human_blood_type()]]" target.dna_string = "Unknown" target.gender = "Unknown" target.major_disabilities = "" diff --git a/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm b/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm index 74d028d22c6fa3..1b915b22653d1e 100644 --- a/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm @@ -37,6 +37,9 @@ icon = 'icons/obj/medical/organs/fly_organs.dmi' say_mod = "buzzes" taste_sensitivity = 25 // you eat vomit, this is a mercy + liked_foodtypes = GROSS | GORE // nasty ass + disliked_foodtypes = NONE + toxic_foodtypes = NONE // these fucks eat vomit, i am sure they can handle drinking bleach or whatever too modifies_speech = TRUE languages_native = list(/datum/language/buzzwords) diff --git a/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm b/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm index ff9a96b7f39785..5d088da77889c8 100644 --- a/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm @@ -43,51 +43,13 @@ greyscale_config = /datum/greyscale_config/mutant_organ greyscale_colors = RAT_COLORS /// Multiplier of [physiology.hunger_mod]. - var/hunger_mod = 10 + hunger_modifier = 10 /obj/item/organ/internal/stomach/rat/Initialize(mapload) . = ..() AddElement(/datum/element/organ_set_bonus, /datum/status_effect/organ_set_bonus/rat) AddElement(/datum/element/noticable_organ, "mouth is drooling excessively.", BODY_ZONE_PRECISE_MOUTH) -/obj/item/organ/internal/stomach/rat/on_insert(mob/living/carbon/receiver) - . = ..() - if(!ishuman(receiver)) - return - var/mob/living/carbon/human/human_holder = receiver - if(!human_holder.can_mutate()) - return - var/datum/species/species = human_holder.dna.species - //mmm, cheese. doesn't especially like anything else - species.liked_food = DAIRY - //but a rat can eat anything without issue - species.disliked_food = NONE - species.toxic_food = NONE - if(human_holder.physiology) - human_holder.physiology.hunger_mod *= hunger_mod - RegisterSignal(human_holder, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain)) - -/obj/item/organ/internal/stomach/rat/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) - SIGNAL_HANDLER - new_species.liked_food = DAIRY - new_species.disliked_food = NONE - new_species.toxic_food = NONE - -/obj/item/organ/internal/stomach/rat/on_remove(mob/living/carbon/stomach_owner) - . = ..() - if(!ishuman(stomach_owner)) - return - var/mob/living/carbon/human/human_holder = stomach_owner - if(!human_holder.can_mutate()) - return - var/datum/species/species = human_holder.dna.species - species.liked_food = initial(species.liked_food) - species.disliked_food = initial(species.disliked_food) - species.toxic_food = initial(species.toxic_food) - if(human_holder.physiology) - human_holder.physiology.hunger_mod /= hunger_mod - UnregisterSignal(stomach_owner, COMSIG_SPECIES_GAIN) - /// makes you smaller, walk over tables, and take 1.5x damage /obj/item/organ/internal/heart/rat name = "mutated rat-heart" @@ -126,13 +88,15 @@ /obj/item/organ/internal/tongue/rat name = "mutated rat-tongue" desc = "Rat DNA infused into what was once a normal tongue." - say_mod = "squeaks" - modifies_speech = TRUE - icon = 'icons/obj/medical/organs/infuser_organs.dmi' icon_state = "tongue" + say_mod = "squeaks" + modifies_speech = TRUE greyscale_config = /datum/greyscale_config/mutant_organ greyscale_colors = RAT_COLORS + liked_foodtypes = DAIRY //mmm, cheese. doesn't especially like anything else + disliked_foodtypes = NONE //but a rat can eat anything without issue + toxic_foodtypes = NONE /obj/item/organ/internal/tongue/rat/Initialize(mapload) . = ..() diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index f92fd03cd04a5f..c41ca6bfdf72dc 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -211,7 +211,7 @@ var/bleed_status = "Patient is not currently bleeding." var/blood_status = " Patient either has no blood, or does not require it to function." var/blood_percent = round((patient.blood_volume / BLOOD_VOLUME_NORMAL)*100) - var/blood_type = patient.dna.blood_type + var/blood_type = "[patient.get_blood_type() || "None"]" var/blood_warning = " " for(var/thing in patient.diseases) //Disease Information diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 79141c5598da10..682b8ad66f4055 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -466,7 +466,7 @@ DEFINE_BITFIELD(turret_flags, list( else if(iscarbon(A)) var/mob/living/carbon/C = A //If not emagged, only target carbons that can use items - if(mode != TURRET_LETHAL && (C.stat || C.handcuffed || !(C.mobility_flags & MOBILITY_USE))) + if(mode != TURRET_LETHAL && (!(C.mobility_flags & MOBILITY_USE) || HAS_TRAIT(C, TRAIT_INCAPACITATED))) continue //If emagged, target all but dead carbons diff --git a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm index 781fd0d5a47119..e9378797509b84 100644 --- a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm +++ b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm @@ -30,8 +30,7 @@ var/new_colour = pick(/datum/slime_color/red, /datum/slime_color/orange) var/mob/living/basic/slime/pyro = new(tile, new_colour) ADD_TRAIT(pyro, TRAIT_SLIME_RABID, "pyro") - pyro.maximum_survivable_temperature = INFINITY - pyro.apply_temperature_requirements() + pyro.bodytemp_heat_damage_limit = INFINITY var/mob/chosen_one = SSpolling.poll_ghosts_for_target(check_jobban = ROLE_SENTIENCE, poll_time = 10 SECONDS, checked_target = pyro, ignore_category = POLL_IGNORE_PYROSLIME, alert_pic = pyro, role_name_text = "pyroclastic anomaly slime") if(isnull(chosen_one)) diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 966f668d5eb775..5466f4992a346d 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -43,7 +43,7 @@ for(var/datum/disease/D in diseases) if(D.spread_flags & (DISEASE_SPREAD_BLOOD)) src.diseases |= D - + AddElement(/datum/element/beauty, beauty) var/turf/T = get_turf(src) @@ -53,6 +53,8 @@ COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) + if(bloodiness) + update_appearance() /obj/effect/decal/cleanable/Destroy() var/turf/T = get_turf(src) @@ -99,7 +101,7 @@ //This is on /cleanable because fuck this ancient mess /obj/effect/decal/cleanable/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER - if(iscarbon(AM) && blood_state && bloodiness >= 40) + if(iscarbon(AM) && bloodiness >= 40) SEND_SIGNAL(AM, COMSIG_STEP_ON_BLOOD, src) update_appearance() @@ -114,27 +116,35 @@ * Checks if this decal is a valid decal that can be blood crawled in. */ /obj/effect/decal/cleanable/proc/can_bloodcrawl_in() - if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY)) - return bloodiness - - return FALSE - -/** - * Gets the color associated with the any blood present on this decal. If there is no blood, returns null. - */ -/obj/effect/decal/cleanable/proc/get_blood_color() - switch(blood_state) - if(BLOOD_STATE_HUMAN) - return rgb(149, 10, 10) - if(BLOOD_STATE_XENO) - return rgb(43, 186, 0) - if(BLOOD_STATE_OIL) - return rgb(22, 22, 22) - - return null + return decal_reagent == /datum/reagent/blood /obj/effect/decal/cleanable/proc/handle_merge_decal(obj/effect/decal/cleanable/merger) if(!merger) return if(merger.reagents && reagents) reagents.trans_to(merger, reagents.total_volume) + +/// Increments or decrements the bloodiness value +/obj/effect/decal/cleanable/proc/adjust_bloodiness(by_amount) + if(by_amount == 0) + return FALSE + if(QDELING(src)) + return FALSE + + bloodiness = clamp((bloodiness + by_amount), 0, BLOOD_POOL_MAX) + update_appearance() + return TRUE + +/// Called before attempting to scoop up reagents from this decal to only load reagents when necessary +/obj/effect/decal/cleanable/proc/lazy_init_reagents() + return + +#ifdef TESTING +/obj/effect/decal/cleanable/update_overlays() + . = ..() + if(bloodiness) + var/mutable_appearance/blah_text = new() + blah_text.maptext = MAPTEXT_TINY_UNICODE("[bloodiness]") + blah_text.appearance_flags |= (KEEP_APART|RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM) + . += blah_text +#endif diff --git a/code/game/objects/effects/decals/cleanable/aliens.dm b/code/game/objects/effects/decals/cleanable/aliens.dm index 6da917e8aab99b..8083249d742d36 100644 --- a/code/game/objects/effects/decals/cleanable/aliens.dm +++ b/code/game/objects/effects/decals/cleanable/aliens.dm @@ -7,13 +7,14 @@ icon_state = "xfloor1" random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") bloodiness = BLOOD_AMOUNT_PER_DECAL - blood_state = BLOOD_STATE_XENO beauty = -250 clean_type = CLEAN_TYPE_BLOOD + decal_reagent = /datum/blood_type/xenomorph::reagent_type + reagent_amount = 15 /obj/effect/decal/cleanable/xenoblood/Initialize(mapload) . = ..() - add_blood_DNA(list("UNKNOWN DNA" = "X*")) + add_blood_DNA(list("UNKNOWN DNA" = /datum/blood_type/xenomorph)) /obj/effect/decal/cleanable/xenoblood/xsplatter random_icon_states = list("xgibbl1", "xgibbl2", "xgibbl3", "xgibbl4", "xgibbl5") @@ -100,10 +101,6 @@ icon_state = "xgiblarvatorso" random_icon_states = list("xgiblarvahead", "xgiblarvatorso") -/obj/effect/decal/cleanable/blood/xtracks +/obj/effect/decal/cleanable/xenoblood/xtracks icon_state = "xtracks" random_icon_states = null - -/obj/effect/decal/cleanable/blood/xtracks/Initialize(mapload) - . = ..() - add_blood_DNA(list("Unknown DNA" = "X*")) diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 08715536511e77..0d8f4e26bb9d46 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -1,6 +1,6 @@ /obj/effect/decal/cleanable/blood name = "blood" - desc = "It's red and gooey. Perhaps it's the chef's cooking?" + desc = "It's weird and gooey. Perhaps it's the chef's cooking?" icon = 'icons/effects/blood.dmi' icon_state = "floor1" random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7") @@ -8,64 +8,156 @@ bloodiness = BLOOD_AMOUNT_PER_DECAL beauty = -100 clean_type = CLEAN_TYPE_BLOOD - var/should_dry = TRUE - var/dryname = "dried blood" //when the blood lasts long enough, it becomes dry and gets a new name - var/drydesc = "Looks like it's been here a while. Eew." //as above - var/drytime = 0 + decal_reagent = /datum/reagent/blood + bloodiness = BLOOD_AMOUNT_PER_DECAL + color = COLOR_BLOOD + appearance_flags = parent_type::appearance_flags | KEEP_TOGETHER + /// Can this blood dry out? + var/can_dry = TRUE + /// Is this blood dried out? + var/dried = FALSE + + /// The "base name" of the blood, IE the "pool of" in "pool of blood" + var/base_name = "pool of" + /// When dried, this is prefixed to the name + var/dry_prefix = "dried" + /// When dried, this becomes the desc of the blood + var/dry_desc = "Looks like it's been here a while. Eew." + + /// How long it takes to dry out + var/drying_time = 5 MINUTES + /// The process to drying out, recorded in deciseconds + var/drying_progress = 0 + /// Color matrix applied to dried blood via filter to make it look dried + var/static/list/blood_dry_filter_matrix = list( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1, + -0.5, -0.75, -0.75, 0, + ) var/count = 0 var/footprint_sprite = null + var/glows = FALSE + var/handles_unique = FALSE -/obj/effect/decal/cleanable/blood/Initialize(mapload) +/obj/effect/decal/cleanable/blood/Initialize(mapload, blood_color = COLOR_BLOOD) . = ..() - if(!should_dry) - return - if(bloodiness) - start_drying() - else - dry() - -/obj/effect/decal/cleanable/blood/process() - if(world.time > drytime) - dry() + START_PROCESSING(SSblood_drying, src) + if(color && can_dry && !dried) + update_blood_drying_effect() /obj/effect/decal/cleanable/blood/Destroy() - STOP_PROCESSING(SSobj, src) + STOP_PROCESSING(SSblood_drying, src) return ..() -/obj/effect/decal/cleanable/blood/proc/get_timer() - drytime = world.time + 3 MINUTES +/obj/effect/decal/cleanable/blood/on_entered(datum/source, atom/movable/AM) + if(dried) + return + return ..() -/obj/effect/decal/cleanable/blood/proc/start_drying() - get_timer() - START_PROCESSING(SSobj, src) +#define DRY_FILTER_KEY "dry_effect" + +/obj/effect/decal/cleanable/blood/update_overlays() + . = ..() + if(glows && !handles_unique) + . += emissive_appearance(icon, icon_state, src) + +/obj/effect/decal/cleanable/blood/proc/update_blood_drying_effect() + if(!can_dry) + remove_filter(DRY_FILTER_KEY) // I GUESS + return + + var/existing_filter = get_filter(DRY_FILTER_KEY) + if(dried) + if(existing_filter) + animate(existing_filter) // just stop existing animations and force it to the end state + return + add_filter(DRY_FILTER_KEY, 2, color_matrix_filter(blood_dry_filter_matrix)) + return + + if(existing_filter) + remove_filter(DRY_FILTER_KEY) + + add_filter(DRY_FILTER_KEY, 2, color_matrix_filter()) + transition_filter(DRY_FILTER_KEY, color_matrix_filter(blood_dry_filter_matrix), drying_time - drying_progress) + +#undef DRY_FILTER_KEY + +/obj/effect/decal/cleanable/blood/proc/get_blood_string() + var/list/all_dna = GET_ATOM_BLOOD_DNA(src) + var/list/all_blood_names = list() + for(var/dna_sample in all_dna) + var/datum/blood_type/blood = GLOB.blood_types[all_dna[dna_sample]] + if(!blood) + all_blood_names |= "blood" + continue + all_blood_names |= lowertext(initial(blood.reagent_type.name)) + return english_list(all_blood_names, nothing_text = "blood") + +/obj/effect/decal/cleanable/blood/process(seconds_per_tick) + if(dried || !can_dry) + return PROCESS_KILL + + adjust_bloodiness(-0.4 * BLOOD_PER_UNIT_MODIFIER * seconds_per_tick) + drying_progress += (seconds_per_tick * 1 SECONDS) + if(drying_progress >= drying_time + SSblood_drying.wait) // Do it next tick when we're done + dry() + +/obj/effect/decal/cleanable/blood/update_name(updates) + . = ..() + name = initial(name) + if(base_name) + name = "[base_name] [get_blood_string()]" + if(dried && dry_prefix) + name = "[dry_prefix] [name]" + +/obj/effect/decal/cleanable/blood/update_desc(updates) + . = ..() + desc = initial(desc) + if(dried && dry_desc) + desc = dry_desc ///This is what actually "dries" the blood. Returns true if it's all out of blood to dry, and false otherwise /obj/effect/decal/cleanable/blood/proc/dry() - if(bloodiness > 20) - bloodiness -= BLOOD_AMOUNT_PER_DECAL - get_timer() + dried = TRUE + reagents?.clear_reagents() + update_appearance() + update_blood_drying_effect() + STOP_PROCESSING(SSblood_drying, src) + return TRUE + +/obj/effect/decal/cleanable/blood/lazy_init_reagents() + var/list/all_dna = GET_ATOM_BLOOD_DNA(src) + var/list/reagents_to_add = list() + for(var/dna_sample in all_dna) + var/datum/blood_type/blood = GLOB.blood_types[all_dna[dna_sample]] + reagents_to_add += blood.reagent_type + + var/num_reagents = length(reagents_to_add) + for(var/reagent_type in reagents_to_add) + reagents.add_reagent(reagent_type, round((bloodiness * 0.2 * BLOOD_PER_UNIT_MODIFIER) / num_reagents, CHEMICAL_VOLUME_ROUNDING)) + +/obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/merger) + if(merger.dried) // New blood will lie on dry blood return FALSE - else - name = dryname - desc = drydesc - bloodiness = 0 - color = COLOR_GRAY //not all blood splatters have their own sprites... It still looks pretty nice - STOP_PROCESSING(SSobj, src) - return TRUE - -/obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/C) - C.add_blood_DNA(GET_ATOM_BLOOD_DNA(src)) - if (bloodiness) - C.bloodiness = min((C.bloodiness + bloodiness), BLOOD_AMOUNT_PER_DECAL) return ..() +/obj/effect/decal/cleanable/blood/handle_merge_decal(obj/effect/decal/cleanable/blood/merger) + . = ..() + merger.add_blood_DNA(GET_ATOM_BLOOD_DNA(src)) + merger.adjust_bloodiness(bloodiness) + merger.drying_progress -= (bloodiness * BLOOD_PER_UNIT_MODIFIER) // goes negative = takes longer to dry + merger.update_blood_drying_effect() + /obj/effect/decal/cleanable/blood/old bloodiness = 0 icon_state = "floor1-old" /obj/effect/decal/cleanable/blood/old/Initialize(mapload, list/datum/disease/diseases) - add_blood_DNA(list("Non-human DNA" = random_blood_type())) // Needs to happen before ..() + add_blood_DNA(list("UNKNOWN DNA" = random_human_blood_type())) . = ..() + dry() /obj/effect/decal/cleanable/blood/splatter icon_state = "gibbl1" @@ -83,19 +175,18 @@ desc = "They look like tracks left by wheels." random_icon_states = null beauty = -50 - dryname = "dried tracks" - drydesc = "Some old bloody tracks left by wheels. Machines are evil, perhaps." + base_name = "" + dry_desc = "Some old bloody tracks left by wheels. Machines are evil, perhaps." -/obj/effect/decal/cleanable/trail_holder //not a child of blood on purpose - name = "blood" - icon = 'icons/effects/blood.dmi' +/obj/effect/decal/cleanable/blood/trail_holder + name = "trail of blood" desc = "Your instincts say you shouldn't be following these." beauty = -50 + icon_state = null + random_icon_states = null + base_name = "trail of" var/list/existing_dirs = list() -/obj/effect/decal/cleanable/trail_holder/can_bloodcrawl_in() - return TRUE - /obj/effect/decal/cleanable/blood/gibs name = "gibs" desc = "They look bloody and gruesome." @@ -107,8 +198,9 @@ mergeable_decal = FALSE turf_loc_check = FALSE - dryname = "rotting gibs" - drydesc = "They look bloody and gruesome while some terrible smell fills the air." + base_name = "" + dry_prefix = "rotting" + dry_desc = "They look bloody and gruesome while some terrible smell fills the air." decal_reagent = /datum/reagent/consumable/liquidgibs reagent_amount = 5 ///Information about the diseases our streaking spawns @@ -122,6 +214,10 @@ LAZYNULL(streak_diseases) return ..() + +/obj/effect/decal/cleanable/blood/gibs/get_blood_string() + return "" + /obj/effect/decal/cleanable/blood/gibs/replace_decal(obj/effect/decal/cleanable/C) return FALSE //Never fail to place us @@ -203,29 +299,25 @@ desc = "Space Jesus, why didn't anyone clean this up? They smell terrible." icon_state = "gib1-old" bloodiness = 0 - should_dry = FALSE - dryname = "old rotting gibs" - drydesc = "Space Jesus, why didn't anyone clean this up? They smell terrible." + dry_prefix = "" + dry_desc = "" /obj/effect/decal/cleanable/blood/gibs/old/Initialize(mapload, list/datum/disease/diseases) + add_blood_DNA(list("UNKNOWN DNA" = random_human_blood_type())) . = ..() - setDir(pick(1,2,4,8)) - add_blood_DNA(list("Non-human DNA" = random_blood_type())) + setDir(pick(GLOB.cardinals)) AddElement(/datum/element/swabable, CELL_LINE_TABLE_SLUDGE, CELL_VIRUS_TABLE_GENERIC, rand(2,4), 10) dry() /obj/effect/decal/cleanable/blood/drip name = "drips of blood" - desc = "It's red." + desc = "A spattering." icon_state = "drip5" //using drip5 since the others tend to blend in with pipes & wires. random_icon_states = list("drip1","drip2","drip3","drip4","drip5") - bloodiness = 0 - var/drips = 1 - dryname = "drips of blood" - drydesc = "It's red." - -/obj/effect/decal/cleanable/blood/drip/can_bloodcrawl_in() - return TRUE + bloodiness = BLOOD_AMOUNT_PER_DECAL * 0.2 * BLOOD_PER_UNIT_MODIFIER + base_name = "drips of" + dry_desc = "A dried spattering." + drying_time = 1 MINUTES //BLOODY FOOTPRINTS @@ -235,7 +327,10 @@ icon = 'icons/effects/footprints.dmi' icon_state = "blood_shoes_enter" random_icon_states = null - blood_state = BLOOD_STATE_HUMAN //the icon state to load images from + bloodiness = 0 // set based on the bloodiness of the foot + base_name = "" + dry_desc = "HMM... SOMEONE WAS HERE!" + handles_unique = TRUE var/entered_dirs = 0 var/exited_dirs = 0 @@ -245,9 +340,6 @@ /// List of species that have made footprints here. var/list/species_types = list() - dryname = "dried footprints" - drydesc = "HMM... SOMEONE WAS HERE!" - /obj/effect/decal/cleanable/blood/footprints/Initialize(mapload, footprint_sprite) src.footprint_sprite = footprint_sprite . = ..() @@ -256,6 +348,10 @@ entered_dirs |= dir //Keep the same appearance as in the map editor update_appearance(mapload ? (ALL) : (UPDATE_NAME | UPDATE_DESC)) + +/obj/effect/decal/cleanable/blood/footprints/get_blood_string() + return "" + //Rotate all of the footprint directions too /obj/effect/decal/cleanable/blood/footprints/setDir(newdir) if(dir == newdir) @@ -276,24 +372,13 @@ update_appearance() return ..() -/obj/effect/decal/cleanable/blood/footprints/update_name(updates) - switch(footprint_sprite) - if(FOOTPRINT_SPRITE_CLAWS) - name = "clawprints" - if(FOOTPRINT_SPRITE_SHOES) - name = "footprints" - if(FOOTPRINT_SPRITE_PAWS) - name = "pawprints" - dryname = "dried [name]" - return ..() - /obj/effect/decal/cleanable/blood/footprints/update_desc(updates) desc = "WHOSE [uppertext(name)] ARE THESE?" return ..() /obj/effect/decal/cleanable/blood/footprints/update_icon() . = ..() - alpha = min(BLOODY_FOOTPRINT_BASE_ALPHA + (255 - BLOODY_FOOTPRINT_BASE_ALPHA) * bloodiness / (BLOOD_ITEM_MAX / 2), 255) + alpha = min(BLOODY_FOOTPRINT_BASE_ALPHA + (255 - BLOODY_FOOTPRINT_BASE_ALPHA) * bloodiness / ((BLOOD_ITEM_MAX * BLOOD_PER_UNIT_MODIFIER) / 2), 255) //Cache of bloody footprint images //Key: @@ -303,17 +388,23 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) /obj/effect/decal/cleanable/blood/footprints/update_overlays() . = ..() + var/icon_state_to_use = "blood" + if(SPECIES_MONKEY in species_types) + icon_state_to_use += "paw" + else if(BODYPART_ID_DIGITIGRADE in species_types) + icon_state_to_use += "claw" + for(var/Ddir in GLOB.cardinals) if(entered_dirs & Ddir) - var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["entered-[footprint_sprite]-[blood_state]-[Ddir]"] + var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["entered-[icon_state_to_use]-[Ddir]"] if(!bloodstep_overlay) - GLOB.bloody_footprints_cache["entered-[footprint_sprite]-[blood_state]-[Ddir]"] = bloodstep_overlay = image(icon, "[blood_state]_[footprint_sprite]_enter", dir = Ddir) + GLOB.bloody_footprints_cache["entered-[icon_state_to_use]-[Ddir]"] = bloodstep_overlay = image(icon, "[icon_state_to_use]1", dir = Ddir) . += bloodstep_overlay if(exited_dirs & Ddir) - var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["exited-[footprint_sprite]-[blood_state]-[Ddir]"] + var/image/bloodstep_overlay = GLOB.bloody_footprints_cache["exited-[icon_state_to_use]-[Ddir]"] if(!bloodstep_overlay) - GLOB.bloody_footprints_cache["exited-[footprint_sprite]-[blood_state]-[Ddir]"] = bloodstep_overlay = image(icon, "[blood_state]_[footprint_sprite]_exit", dir = Ddir) + GLOB.bloody_footprints_cache["exited-[icon_state_to_use]-[Ddir]"] = bloodstep_overlay = image(icon, "[icon_state_to_use]2", dir = Ddir) . += bloodstep_overlay @@ -340,21 +431,15 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) else . += "[icon2html('icons/mob/species/human/bodyparts.dmi', user, "[species]_l_leg")] Some [species] feet." -/obj/effect/decal/cleanable/blood/footprints/replace_decal(obj/effect/decal/cleanable/blood/blood_decal) - if(blood_state != blood_decal.blood_state || footprint_sprite != blood_decal.footprint_sprite) //We only replace footprints of the same type as us - return FALSE - return ..() - -/obj/effect/decal/cleanable/blood/footprints/can_bloodcrawl_in() - if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY)) - return TRUE - return FALSE - /obj/effect/decal/cleanable/blood/hitsplatter name = "blood splatter" pass_flags = PASSTABLE | PASSGRILLE icon_state = "hitsplatter1" random_icon_states = list("hitsplatter1", "hitsplatter2", "hitsplatter3") + + base_name = "" + can_dry = FALSE // No point + /// The turf we just came from, so we can back up when we hit a wall var/turf/prev_loc /// The cached info about the blood @@ -368,8 +453,10 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) /// Type of squirt decals we should try to create when moving var/line_type = /obj/effect/decal/cleanable/blood/line -/obj/effect/decal/cleanable/blood/hitsplatter/Initialize(mapload, splatter_strength) +/obj/effect/decal/cleanable/blood/hitsplatter/Initialize(mapload, splatter_strength, blood_color = COLOR_BLOOD) . = ..() + color = blood_color + blood_dna_info = GET_ATOM_BLOOD_DNA(src) prev_loc = loc //Just so we are sure prev_loc exists if(splatter_strength) src.splatter_strength = splatter_strength @@ -377,6 +464,8 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) /obj/effect/decal/cleanable/blood/hitsplatter/Destroy() if(isturf(loc) && !skip) playsound(src, 'sound/effects/wounds/splatter.ogg', 60, TRUE, -1) + if(!length(blood_dna_info)) + blood_dna_info = GET_ATOM_BLOOD_DNA(src) if(blood_dna_info) loc.add_blood_DNA(blood_dna_info) return ..() @@ -419,9 +508,11 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) if(line_type && isturf(loc)) var/obj/effect/decal/cleanable/line = locate(line_type) in loc if(line) + line.color = color line.add_blood_DNA(blood_dna_info) else line = new line_type(loc, get_dir(prev_loc, loc)) + line.color = color line.add_blood_DNA(blood_dna_info) line.alpha = 0 animate(line, alpha = initial(line.alpha), time = 2) @@ -454,6 +545,8 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) var/obj/effect/decal/cleanable/blood/splatter/over_window/final_splatter = new(prev_loc) final_splatter.pixel_x = (dir == EAST ? 32 : (dir == WEST ? -32 : 0)) final_splatter.pixel_y = (dir == NORTH ? 32 : (dir == SOUTH ? -32 : 0)) + final_splatter.add_blood_DNA(GET_ATOM_BLOOD_DNA(src)) + final_splatter.add_blood_DNA(blood_dna_info) else // This will only happen if prev_loc is not even a turf, which is highly unlikely. abstract_move(bumped_atom) qdel(src) @@ -463,6 +556,8 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) if(!the_window.fulltile) return var/obj/effect/decal/cleanable/blood/splatter/over_window/final_splatter = new + final_splatter.add_blood_DNA(GET_ATOM_BLOOD_DNA(src)) + final_splatter.add_blood_DNA(blood_dna_info) final_splatter.forceMove(the_window) the_window.vis_contents += final_splatter the_window.bloodied = TRUE diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm index d3af1e2846b078..4ba60142f57e09 100644 --- a/code/game/objects/effects/decals/cleanable/robots.dm +++ b/code/game/objects/effects/decals/cleanable/robots.dm @@ -7,7 +7,6 @@ icon_state = "gib1" layer = LOW_OBJ_LAYER random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") - blood_state = BLOOD_STATE_OIL bloodiness = BLOOD_AMOUNT_PER_DECAL mergeable_decal = FALSE beauty = -50 @@ -16,6 +15,7 @@ /obj/effect/decal/cleanable/robot_debris/Initialize(mapload) . = ..() RegisterSignal(src, COMSIG_MOVABLE_PIPE_EJECTING, PROC_REF(on_pipe_eject)) + add_blood_DNA(list("UNKNOWN DNA" = /datum/blood_type/oil)) /obj/effect/decal/cleanable/robot_debris/proc/streak(list/directions, mapload=FALSE) var/direction = pick(directions) @@ -76,29 +76,16 @@ icon = 'icons/mob/silicon/robots.dmi' icon_state = "floor1" random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7") - blood_state = BLOOD_STATE_OIL - bloodiness = BLOOD_AMOUNT_PER_DECAL + bloodiness = BLOOD_AMOUNT_PER_DECAL * 2 beauty = -100 clean_type = CLEAN_TYPE_BLOOD decal_reagent = /datum/reagent/fuel/oil reagent_amount = 30 -/obj/effect/decal/cleanable/oil/attackby(obj/item/I, mob/living/user) - var/attacked_by_hot_thing = I.get_temperature() - if(attacked_by_hot_thing) - user.visible_message(span_warning("[user] tries to ignite [src] with [I]!"), span_warning("You try to ignite [src] with [I].")) - log_combat(user, src, (attacked_by_hot_thing < 480) ? "tried to ignite" : "ignited", I) - fire_act(attacked_by_hot_thing) - return - return ..() - -/obj/effect/decal/cleanable/oil/fire_act(exposed_temperature, exposed_volume) - if(exposed_temperature < 480) - return - visible_message(span_danger("[src] catches fire!")) - var/turf/T = get_turf(src) - qdel(src) - new /obj/effect/hotspot(T) +/obj/effect/decal/cleanable/oil/Initialize(mapload, list/datum/disease/diseases) + . = ..() + AddElement(/datum/element/easy_ignite) + add_blood_DNA(list("UNKNOWN DNA" = /datum/blood_type/oil)) /obj/effect/decal/cleanable/oil/streak icon_state = "streak1" diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm index 86dd2bac70bfc9..20ca27dbdd16d0 100644 --- a/code/game/objects/effects/spawners/gibspawner.dm +++ b/code/game/objects/effects/spawners/gibspawner.dm @@ -39,7 +39,7 @@ dna_to_add = temp_mob.get_blood_dna_list() qdel(temp_mob) else - dna_to_add = list("Non-human DNA" = random_blood_type()) //else, generate a random bloodtype for it. + dna_to_add = list("UNKNOWN DNA" = random_human_blood_type()) //else, generate a random bloodtype for it. for(var/i in 1 to gibtypes.len) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index d03cfea3f1789c..168a3f9b088341 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -73,9 +73,6 @@ target_pixel_y = 8 animate(src, pixel_x = target_pixel_x, pixel_y = target_pixel_y, alpha = 0, time = duration) -/obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter - splatter_type = "xsplatter" - /obj/effect/temp_visual/dir_setting/speedbike_trail name = "speedbike trails" icon_state = "ion_fade" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index ce869427028758..cd2ee2766e4129 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -110,13 +110,11 @@ ///Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item var/age_restricted = FALSE - ///flags which determine which body parts are protected from heat. [See here][HEAD] - var/heat_protection = 0 - ///flags which determine which body parts are protected from cold. [See here][HEAD] - var/cold_protection = 0 - ///Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags + /// Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. + /// Keep at null to disable protection. var/max_heat_protection_temperature - ///Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags + /// Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. + /// Keep at null to disable protection. var/min_cold_protection_temperature ///list of /datum/action's that this item has. diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index e65fcf02d60d7b..5ea51789a3c3c1 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -937,12 +937,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/mob/living/carbon/human/human_user = user if(!istype(human_user) || HAS_TRAIT(human_user, TRAIT_RESISTHEAT) || HAS_TRAIT(human_user, TRAIT_RESISTHEATHANDS)) hand_protected = TRUE - else if(!istype(human_user.gloves, /obj/item/clothing/gloves)) - hand_protected = FALSE else - var/obj/item/clothing/gloves/gloves = human_user.gloves - if(gloves.max_heat_protection_temperature) - hand_protected = (gloves.max_heat_protection_temperature > 360) + hand_protected = human_user.gloves?.max_heat_protection_temperature > 360 if(hand_protected || prob(75)) user.visible_message( diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index f5ef78a60c986a..2ac05c11133738 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -152,22 +152,10 @@ if(!isturf(loc) || isspaceturf(loc) || !direction) return //No magical movement! Trust me, this bad boy can do things like leap out of pipes if you're not careful - if(can_move < world.time) - var/amount - switch(user.bodytemperature) - if(300 to INFINITY) - amount = 10 - if(295 to 300) - amount = 13 - if(280 to 295) - amount = 16 - if(260 to 280) - amount = 20 - else - amount = 25 - - can_move = world.time + amount - try_step_multiz(direction) + if(can_move >= world.time) + return + can_move = world.time + 2 + (user.cached_multiplicative_slowdown * 4) // Fake movement speed calculating based on the mob's move speed + try_step_multiz(direction) return /obj/effect/dummy/chameleon/Destroy() diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index 1d18aefec1837c..0113ff4d393b0e 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -270,51 +270,62 @@ if(ishuman(target)) var/mob/living/carbon/human/humantarget = target - // Organ damage, missing organs - if(humantarget.organs && humantarget.organs.len) - var/render = FALSE - var/toReport = "Organs:\ - \ - \ - [advanced ? "" : ""]\ - " - - for(var/obj/item/organ/organ as anything in humantarget.organs) - var/status = organ.get_status_text() - if (status != "") + var/render = FALSE + var/toReport = "Organ status:\ + \ +
Organ:DmgStatus
\ + \ + \ + [advanced ? "" : ""]\ + \ + " + + var/list/missing_organs = list() + if(!humantarget.get_organ_slot(ORGAN_SLOT_BRAIN)) + missing_organs[ORGAN_SLOT_BRAIN] = "Brain" + if(!humantarget.needs_heart() && !humantarget.get_organ_slot(ORGAN_SLOT_HEART)) + missing_organs[ORGAN_SLOT_HEART] = "Heart" + if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOBREATH, SPECIES_TRAIT) && !isnull(humantarget.dna.species.mutantlungs) && !humantarget.get_organ_slot(ORGAN_SLOT_LUNGS)) + missing_organs[ORGAN_SLOT_LUNGS] = "Lungs" + if(!HAS_TRAIT_FROM(humantarget, TRAIT_LIVERLESS_METABOLISM, SPECIES_TRAIT) && !isnull(humantarget.dna.species.mutantliver) && !humantarget.get_organ_slot(ORGAN_SLOT_LIVER)) + missing_organs[ORGAN_SLOT_LIVER] = "Liver" + if(!HAS_TRAIT_FROM(humantarget, TRAIT_NOHUNGER, SPECIES_TRAIT) && !isnull(humantarget.dna.species.mutantstomach) && !humantarget.get_organ_slot(ORGAN_SLOT_STOMACH)) + missing_organs[ORGAN_SLOT_STOMACH] ="Stomach" + if(!isnull(humantarget.dna.species.mutanttongue) && !humantarget.get_organ_slot(ORGAN_SLOT_TONGUE)) + missing_organs[ORGAN_SLOT_TONGUE] = "Tongue" + if(!isnull(humantarget.dna.species.mutantears) && !humantarget.get_organ_slot(ORGAN_SLOT_EARS)) + missing_organs[ORGAN_SLOT_EARS] = "Ears" + if(!isnull(humantarget.dna.species.mutantears) && !humantarget.get_organ_slot(ORGAN_SLOT_EYES)) + missing_organs[ORGAN_SLOT_EYES] = "Eyes" + + // Follow same order as in the organ_process_order so it's consistent across all humans + for(var/sorted_slot in GLOB.organ_process_order) + var/obj/item/organ/organ = humantarget.get_organ_slot(sorted_slot) + if(isnull(organ)) + if(missing_organs[sorted_slot]) render = TRUE - toReport += "\ - [advanced ? "" : ""]\ - " - - var/datum/species/the_dudes_species = humantarget.dna.species - var/missing_organs = list() - if(!humantarget.get_organ_slot(ORGAN_SLOT_BRAIN)) - missing_organs += "brain" - if(!HAS_TRAIT(humantarget, TRAIT_NOBLOOD) && !humantarget.get_organ_slot(ORGAN_SLOT_HEART)) - missing_organs += "heart" - if(!(TRAIT_NOBREATH in the_dudes_species.inherent_traits) && !humantarget.get_organ_slot(ORGAN_SLOT_LUNGS)) - missing_organs += "lungs" - if(!(TRAIT_NOMETABOLISM in the_dudes_species.inherent_traits) && !humantarget.get_organ_slot(ORGAN_SLOT_LIVER)) - missing_organs += "liver" - if(the_dudes_species.mutantstomach && !humantarget.get_organ_slot(ORGAN_SLOT_STOMACH)) - missing_organs += "stomach" - if(the_dudes_species.mutanttongue && !humantarget.get_organ_slot(ORGAN_SLOT_TONGUE)) - missing_organs += "tongue" - if(!humantarget.get_organ_slot(ORGAN_SLOT_EARS)) - missing_organs += "ears" - if(!humantarget.get_organ_slot(ORGAN_SLOT_EYES)) - missing_organs += "eyes" - - if(length(missing_organs)) + toReport += "\ + [advanced ? "" : ""]\ + " + continue + if(mode != SCANNER_VERBOSE && !organ.show_on_condensed_scans()) + continue + var/status = organ.get_status_text(advanced, tochat) + var/appendix = organ.get_status_appendix(advanced, tochat) + if(status || appendix) + status ||= "OK" // otherwise flawless organs have no status reported by default render = TRUE - for(var/organ in missing_organs) - toReport += "\ - [advanced ? "" : ""]\ - " - - if(render) - render_list += toReport + "
Organ:DmgStatus
[organ.name]:[CEILING(organ.damage,1)][status]
[missing_organs[sorted_slot]]:-Missing
[organ]:["-"]["Missing"]
" // tables do not need extra linebreak + toReport += "\ + [capitalize(organ.name)]:\ + [advanced ? "[organ.damage > 0 ? ceil(organ.damage) : "0"]" : ""]\ + [status]\ + " + if(appendix) + toReport += "↳ [appendix]" + + if(render) + render_list += "
" + render_list += toReport + "
" // tables do not need extra linebreak //Genetic stability if(advanced && humantarget.has_dna()) @@ -335,18 +346,19 @@ || istype(humantarget.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS), /obj/item/organ/external/wings/functional) render_list += "Species: [targetspecies.name][mutant ? "-derived mutant" : ""]\n" - var/core_temperature_message = "Core temperature: [round(humantarget.coretemperature-T0C, 0.1)] °C ([round(humantarget.coretemperature*1.8-459.67,0.1)] °F)" - if(humantarget.coretemperature >= humantarget.get_body_temp_heat_damage_limit()) - render_list += "☼ [core_temperature_message] ☼\n" - else if(humantarget.coretemperature <= humantarget.get_body_temp_cold_damage_limit()) - render_list += "❄ [core_temperature_message] ❄\n" - else - render_list += "[core_temperature_message]\n" + var/skin_temp = target.get_skin_temperature() + var/skin_temperature_message = "Skin temperature: [round(KELVIN_TO_CELCIUS(skin_temp), 0.1)] °C ([round(KELVIN_TO_FAHRENHEIT(skin_temp), 0.1)] °F)" + if(skin_temp >= target.bodytemp_heat_damage_limit) + render_list += "☼ [skin_temperature_message] ☼\n" + else if(skin_temp <= target.bodytemp_cold_damage_limit) + render_list += "❄ [skin_temperature_message] ❄\n" + else + render_list += "[skin_temperature_message]\n" - var/body_temperature_message = "Body temperature: [round(target.bodytemperature-T0C, 0.1)] °C ([round(target.bodytemperature*1.8-459.67,0.1)] °F)" - if(target.bodytemperature >= target.get_body_temp_heat_damage_limit()) + var/body_temperature_message = "Body temperature: [round(KELVIN_TO_CELCIUS(target.bodytemperature), 0.1)] °C ([round(KELVIN_TO_FAHRENHEIT(target.bodytemperature), 0.1)] °F)" + if(target.bodytemperature >= target.bodytemp_heat_damage_limit) render_list += "☼ [body_temperature_message] ☼\n" - else if(target.bodytemperature <= target.get_body_temp_cold_damage_limit()) + else if(target.bodytemperature <= target.bodytemp_cold_damage_limit) render_list += "❄ [body_temperature_message] ❄\n" else render_list += "[body_temperature_message]\n" @@ -379,23 +391,20 @@ " // divs do not need extra linebreak */ // Blood Level - if(target.has_dna()) - var/mob/living/carbon/carbontarget = target - var/blood_id = carbontarget.get_blood_id() - if(blood_id) - if(carbontarget.is_bleeding()) + // NON-MODULE CHANGE + if(target.has_dna() && target.get_blood_type()) + if(iscarbon(target)) + var/mob/living/carbon/bleeder = target + if(bleeder.is_bleeding()) render_list += "Subject is bleeding!\n" - var/blood_percent = round((carbontarget.blood_volume / BLOOD_VOLUME_NORMAL) * 100) - var/blood_type = carbontarget.dna.blood_type - if(blood_id != /datum/reagent/blood) // special blood substance - var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id] - blood_type = R ? R.name : blood_id - if(carbontarget.blood_volume <= BLOOD_VOLUME_SAFE && carbontarget.blood_volume > BLOOD_VOLUME_OKAY) - render_list += "Blood level: LOW [blood_percent] %, [carbontarget.blood_volume] cl, [span_info("type: [blood_type]")]\n" - else if(carbontarget.blood_volume <= BLOOD_VOLUME_OKAY) - render_list += "Blood level: CRITICAL [blood_percent] %, [carbontarget.blood_volume] cl, [span_info("type: [blood_type]")]\n" - else - render_list += "Blood level: [blood_percent] %, [carbontarget.blood_volume] cl, type: [blood_type]\n" + var/blood_percent = round((target.blood_volume / BLOOD_VOLUME_NORMAL) * 100) + var/blood_type = "[target.get_blood_type() || "None"]" + if(target.blood_volume <= BLOOD_VOLUME_SAFE && target.blood_volume > BLOOD_VOLUME_OKAY) + render_list += "Blood level: LOW [blood_percent] %, [target.blood_volume] cl, [span_info("type: [blood_type]")]\n" + else if(target.blood_volume <= BLOOD_VOLUME_OKAY) + render_list += "Blood level: CRITICAL [blood_percent] %, [target.blood_volume] cl, [span_info("type: [blood_type]")]\n" + else + render_list += "Blood level: [blood_percent] %, [target.blood_volume] cl, type: [blood_type]\n" // Cybernetics if(iscarbon(target)) @@ -510,11 +519,9 @@ var/render_list = "" var/advised = FALSE - for(var/limb in patient.get_wounded_bodyparts()) - var/obj/item/bodypart/wounded_part = limb - render_list += "Warning: Physical trauma[LAZYLEN(wounded_part.wounds) > 1? "s" : ""] detected in [wounded_part.name]" - for(var/limb_wound in wounded_part.wounds) - var/datum/wound/current_wound = limb_wound + for(var/obj/item/bodypart/wounded_part as anything in patient.get_wounded_bodyparts()) + render_list += "Warning: Physical trauma[LAZYLEN(wounded_part.wounds) > 1? "s" : ""] detected in [wounded_part.plaintext_zone]" + for(var/datum/wound/current_wound as anything in wounded_part.wounds) render_list += "
[simple_scan ? current_wound.get_simple_scanner_description() : current_wound.get_scanner_description()]
\n" if (scanner.give_wound_treatment_bonus) ADD_TRAIT(current_wound, TRAIT_WOUND_SCANNED, ANALYZER_TRAIT) diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index 9bf31fa4158b3d..2b4b2478732681 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -57,7 +57,7 @@ target.real_name = fields["name"] target.dna.unique_enzymes = fields["UE"] target.name = target.real_name - target.dna.blood_type = fields["blood_type"] + target.dna.human_blood_type = blood_name_to_blood_type(fields["blood_type"]) if(fields["UI"]) //UI+UE target.dna.unique_identity = merge_text(target.dna.unique_identity, fields["UI"]) if(fields["UF"]) @@ -131,11 +131,11 @@ if(!target.dna.previous["UE"]) target.dna.previous["UE"] = target.dna.unique_enzymes if(!target.dna.previous["blood_type"]) - target.dna.previous["blood_type"] = target.dna.blood_type + target.dna.previous["blood_type"] = "[initial(target.dna.human_blood_type.name)]" target.real_name = fields["name"] target.dna.unique_enzymes = fields["UE"] target.name = target.real_name - target.dna.blood_type = fields["blood_type"] + target.dna.human_blood_type = blood_name_to_blood_type(fields["blood_type"]) target.dna.temporary_mutations[UE_CHANGED] = endtime if(fields["UI"]) //UI+UE if(!target.dna.previous["UI"]) diff --git a/code/game/objects/items/food/pastries.dm b/code/game/objects/items/food/pastries.dm index 94babd0cf901c6..aa88a9448bd48d 100644 --- a/code/game/objects/items/food/pastries.dm +++ b/code/game/objects/items/food/pastries.dm @@ -45,10 +45,10 @@ /obj/item/food/muffin/moffin/examine(mob/user) . = ..() - if(!ishuman(user)) + if(!isliving(user)) return - var/mob/living/carbon/human/moffin_observer = user - if(moffin_observer.dna.species.liked_food & CLOTH) + var/mob/living/moffin_observer = user + if(moffin_observer.get_liked_foodtypes() & CLOTH) . += span_nicegreen("Ooh! It's even got bits of clothes on it! Yummy!") else . += span_warning("You're not too sure what's on top though...") diff --git a/code/game/objects/items/grenades/syndieminibomb.dm b/code/game/objects/items/grenades/syndieminibomb.dm index f7d63e2ed9fed1..0044e996eb5ee4 100644 --- a/code/game/objects/items/grenades/syndieminibomb.dm +++ b/code/game/objects/items/grenades/syndieminibomb.dm @@ -60,7 +60,7 @@ var/rad_range = 4 var/rad_threshold = RAD_EXTREME_INSULATION var/stamina_damage = 30 - var/temp_adjust = -230 + var/temp_adjust = 230 /obj/item/grenade/gluon/detonate(mob/living/lanced_by) . = ..() @@ -74,5 +74,5 @@ floor.MakeSlippery(TURF_WET_PERMAFROST, 6 MINUTES) for(var/mob/living/carbon/victim in floor) victim.stamina.adjust(-stamina_damage) - victim.adjust_bodytemperature(temp_adjust) + victim.adjust_bodytemperature(victim.bodytemperature - temp_adjust, use_insulation = TRUE) qdel(src) diff --git a/code/game/objects/items/implants/implant_explosive.dm b/code/game/objects/items/implants/implant_explosive.dm index 528da0a40de6c2..9c3706355ee64b 100644 --- a/code/game/objects/items/implants/implant_explosive.dm +++ b/code/game/objects/items/implants/implant_explosive.dm @@ -58,7 +58,7 @@ explosion(src, devastation_range = heavy, heavy_impact_range = medium, light_impact_range = weak, flame_range = weak, flash_range = weak, explosion_cause = src) if(imp_in) imp_in.investigate_log("has been gibbed by an explosive implant.", INVESTIGATE_DEATHS) - imp_in.gib(TRUE) + imp_in.gib(TRUE, safe_gib = FALSE) qdel(src) return timed_explosion() diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index d06b0067de2477..e17e1af4fc5562 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -136,7 +136,7 @@ if(!chunky_finger_usable && ishuman(user)) var/mob/living/carbon/human/potential_chunky_finger_human = user - if(potential_chunky_finger_human.check_chunky_fingers() && user.is_holding(src) && !HAS_MIND_TRAIT(user, TRAIT_CHUNKYFINGERS_IGNORE_BATON)) + if(user.is_holding(src) && HAS_TRAIT(potential_chunky_finger_human, TRAIT_CHUNKYFINGERS) && !HAS_MIND_TRAIT(user, TRAIT_CHUNKYFINGERS_IGNORE_BATON)) balloon_alert(potential_chunky_finger_human, "fingers are too big!") return BATON_ATTACK_DONE diff --git a/code/game/objects/items/pillow.dm b/code/game/objects/items/pillow.dm index 4bd54aa2e54169..a6582d47fb22ee 100644 --- a/code/game/objects/items/pillow.dm +++ b/code/game/objects/items/pillow.dm @@ -124,7 +124,7 @@ name = "pillow suit" desc = "Part man, part pillow. All CARNAGE!" body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET - cold_protection = CHEST|GROIN|ARMS|LEGS //a pillow suit must be hella warm + //a pillow suit must be hella warm allowed = list(/obj/item/pillow) //moar pillow carnage icon = 'icons/obj/pillow.dmi' worn_icon = 'icons/mob/clothing/suits/pillow.dmi' diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index beda3ca18a395c..037c0aeeee3775 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -360,9 +360,9 @@ icon_state = "crusader" desc = "They're like gloves, but made of metal." siemens_coefficient = 0 - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT /obj/item/clothing/gloves/plate/red @@ -378,9 +378,9 @@ w_class = WEIGHT_CLASS_NORMAL armor_type = /datum/armor/shoes_plate clothing_traits = list(TRAIT_NO_SLIP_WATER) - cold_protection = FEET + min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET + max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT /datum/armor/shoes_plate diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 517a05a58ee706..32bb9ef266a40e 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -338,6 +338,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_CONTAINERS),\ new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE),\ new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 1.5 SECONDS, check_density = FALSE, category = CAT_WEAPON_MELEE),\ + new/datum/stack_recipe("wooden crutch", /obj/item/cane/crutch/wood, 5, time = 1.5 SECONDS, check_density = FALSE, category = CAT_WEAPON_MELEE),\ new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/cup/mortar, 3, category = CAT_CHEMISTRY), \ new/datum/stack_recipe("firebrand", /obj/item/match/firebrand, 2, time = 10 SECONDS, category = CAT_TOOLS), \ diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm index 75f1e8b500b039..3c8fdb54e80c74 100644 --- a/code/game/objects/items/storage/holsters.dm +++ b/code/game/objects/items/storage/holsters.dm @@ -26,6 +26,7 @@ /obj/item/gun/ballistic/revolver, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, + /obj/item/gun/energy/taser, /obj/item/gun/energy/dueling, /obj/item/food/grown/banana, /obj/item/gun/energy/laser/thermal, @@ -45,6 +46,7 @@ atom_storage.set_holdable(list( /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, + /obj/item/gun/energy/taser, /obj/item/gun/energy/dueling, /obj/item/food/grown/banana, /obj/item/gun/energy/laser/thermal, @@ -102,6 +104,7 @@ /obj/item/ammo_box/magazine/toy/pistol, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, + /obj/item/gun/energy/taser, /obj/item/gun/energy/dueling, /obj/item/gun/energy/laser/thermal, /obj/item/gun/energy/laser/captain, @@ -179,6 +182,7 @@ /obj/item/gun/energy/recharge/ebow, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, + /obj/item/gun/energy/taser, /obj/item/gun/energy/dueling, /obj/item/gun/energy/laser/captain, /obj/item/gun/energy/e_gun/hos, diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm index 9b5c734a3a950e..2c83e9dfc054dd 100644 --- a/code/game/objects/items/storage/medkit.dm +++ b/code/game/objects/items/storage/medkit.dm @@ -717,7 +717,7 @@ user.visible_message(span_suicide("[user] is beating [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS user.visible_message(span_suicide("[user] is putting [user.p_their()] head inside the [src], it looks like [user.p_theyre()] trying to commit suicide!")) - user.adjust_bodytemperature(-300) + user.adjust_bodytemperature(-INFINITY, min_temp = CELCIUS_TO_KELVIN(10 CELCIUS)) user.apply_status_effect(/datum/status_effect/freon) return FIRELOSS diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 5e0e5b1c409284..90d2e616de9a00 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -493,6 +493,21 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 custom_materials = list(/datum/material/iron= SMALL_MATERIAL_AMOUNT * 0.5) attack_verb_continuous = list("bludgeons", "whacks", "disciplines", "thrashes") attack_verb_simple = list("bludgeon", "whack", "discipline", "thrash") + /// Only exists so the white cane doesn't spawn with its "effects" while unextended + var/start_with_effects = TRUE + +/obj/item/cane/Initialize(mapload) + . = ..() + if(start_with_effects) + add_effects() + +/obj/item/cane/proc/add_effects() + ADD_TRAIT(src, TRAIT_BLIND_TOOL, INNATE_TRAIT) + AddComponent(/datum/component/limbless_aid) + +/obj/item/cane/proc/remove_effects() + REMOVE_TRAIT(src, TRAIT_BLIND_TOOL, INNATE_TRAIT) + qdel(GetComponent(/datum/component/limbless_aid)) /obj/item/cane/white name = "white cane" @@ -504,6 +519,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 1 w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 6) + start_with_effects = FALSE /obj/item/cane/white/Initialize(mapload) . = ..() @@ -527,6 +543,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/cane/white/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER + if(active) + add_effects() + else + remove_effects() + if(user) balloon_alert(user, active ? "extended" : "collapsed") playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 66f7b9b07e90c1..cf51a4c983ae45 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -1,7 +1,85 @@ /obj/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - ..() - take_damage(AM.throwforce, BRUTE, MELEE, 1, get_dir(src, AM)) + . = ..() + if(QDELETED(src)) + return + hit_by_damage(AM, throwingdatum) + +/obj/proc/hit_by_damage(atom/movable/hitting_us, datum/thrownthing/throwingdatum) + var/base_dam = hitting_us.throwforce + if(isliving(hitting_us)) + var/mob/living/living_mob = hitting_us + var/speed_bonus = throwingdatum.speed - living_mob.throw_speed + if(speed_bonus > 0) + base_dam += (5 * speed_bonus) + base_dam += (5 * max(0, living_mob.mob_size - 1)) + if(isitem(hitting_us)) + var/obj/item/hit_item = hitting_us + base_dam += (5 * max(0, hit_item.w_class - 2)) + + // no armor penetration + take_damage(base_dam, BRUTE, MELEE, TRUE, get_dir(src, hitting_us), 0) + +/obj/structure/window/Initialize(mapload, direct) + . = ..() + +/obj/structure/window/Cross(atom/movable/crossed_atom) + . = ..() + if(.) + return . + if(!isliving(crossed_atom) || QDELETED(crossed_atom.throwing)) + return . + if(anchored && get_integrity_percentage() > 0.5) + return . + + var/turf/old_loc = loc + + take_damage(INFINITY, BRUTE, MELEE, TRUE, get_dir(src, crossed_atom), 0) + + if(!QDELETED(src)) + return . + + var/mob/living/defenestrated = crossed_atom + var/has_grille = locate(/obj/structure/grille) in old_loc + var/list/obj/item/shards = list() + for(var/obj/item/shard/shard in old_loc) + shards += shard + + for(var/zone in shuffle(BODY_ZONES_ALL)) + var/obj/item/bodypart/part = defenestrated.get_bodypart(zone) + if(!part) + continue + if(has_grille && prob(66)) + continue + + defenestrated.apply_damage(10, BRUTE, part, blocked = min(90, defenestrated.getarmor(part, MELEE)), sharpness = SHARP_POINTY, wound_bonus = 4, bare_wound_bonus = 8, attacking_item = (length(shards) ? shards[1] : "glass")) + if(prob(25 * length(shards)) && shards[1].tryEmbed(part, TRUE)) + shards -= shards[1] + + if(has_grille) + defenestrated.Paralyze(1 SECONDS) + defenestrated.Knockdown(2 SECONDS) + defenestrated.visible_message( + span_danger("[defenestrated] is thrown against [src], shattering it!"), + span_userdanger("You are thrown against [src], shattering it!"), + ) + + else + defenestrated.Paralyze(3 SECONDS) + defenestrated.Knockdown(6 SECONDS) + defenestrated.visible_message( + span_danger("[defenestrated] is thrown clean through [src]!"), + span_userdanger("You are thrown clean through [src]!"), + ) + + return TRUE + +/obj/structure/window/hit_by_damage(atom/movable/hitting_us, datum/thrownthing/throwingdatum) + if(reinf || !isliving(hitting_us)) + return ..() + + // take a lot of damage from being hit with a mob - so we can defenestrate + take_damage(max_integrity * min(0.75, (get_armor_rating(MELEE) / 100)), BRUTE, MELEE, TRUE, get_dir(src, hitting_us), 0) /obj/ex_act(severity, target) if(resistance_flags & INDESTRUCTIBLE) @@ -41,12 +119,26 @@ ) if(hitting_projectile.suppressed != SUPPRESSED_VERY) visible_message( - span_danger("[src] is hit by \a [hitting_projectile][damage_sustained ? "" : ", without leaving a mark"]!"), + span_danger("[src] is hit by \a [hitting_projectile.generic_name || hitting_projectile][damage_sustained ? "" : ", without leaving a mark"]!"), vision_distance = COMBAT_MESSAGE_RANGE, ) return damage_sustained > 0 ? BULLET_ACT_HIT : BULLET_ACT_BLOCK +/obj/structure/window/bullet_act(obj/projectile/hitting_projectile, def_zone, piercing_hit) + // don't smack the window and its grille same turf, ever + for(var/obj/structure/grille/grille in loc) + hitting_projectile.impacted[grille] = TRUE + + . = ..() + if(QDELETED(hitting_projectile) || . != BULLET_ACT_HIT) + return . + if(QDELETED(src) && prob(80)) + // right through the window! + return BULLET_ACT_FORCE_PIERCE + return . + + /obj/attack_hulk(mob/living/carbon/human/user) ..() if(density) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index fcc62fb834f6a4..67e1c896bd25e6 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -31,8 +31,8 @@ return var/mob/living/carbon/human/dressing_human = user - if(dressing_human.dna && dressing_human.dna.species && (NO_UNDERWEAR in dressing_human.dna.species.species_traits)) - to_chat(user, span_warning("You are not capable of wearing underwear.")) + if(HAS_TRAIT(dressing_human, TRAIT_NO_UNDERWEAR)) + to_chat(dressing_human, span_warning("You are not capable of wearing underwear.")) return var/choice = tgui_input_list(user, "Underwear, Undershirt, or Socks?", "Changing", list("Underwear","Underwear Color","Undershirt","Socks", "Socks Color")) //MONKESTATION EDIT diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index fbf2ad8e281573..2556f539750024 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -212,22 +212,22 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) var/datum/species/newrace = selectable_races[racechoice] amazed_human.set_species(newrace, icon_update = FALSE) - if(amazed_human.dna.species.use_skintones) + if(HAS_TRAIT(amazed_human, TRAIT_USES_SKINTONES)) var/new_s_tone = tgui_input_list(user, "Choose your skin tone", "Race change", GLOB.skin_tones) if(new_s_tone) amazed_human.skin_tone = new_s_tone amazed_human.dna.update_ui_block(DNA_SKIN_TONE_BLOCK) - if(MUTCOLORS in amazed_human.dna.species.species_traits) - var/new_mutantcolor = tgui_color_picker(user, "Choose your skin color:", "Race change", amazed_human.dna.features["mcolor"]) + else if(HAS_TRAIT(amazed_human, TRAIT_MUTANT_COLORS) && !HAS_TRAIT(amazed_human, TRAIT_FIXED_MUTANT_COLORS)) + var/datum/color_palette/generic_colors/palette = amazed_human.dna.color_palettes[/datum/color_palette/generic_colors] + var/new_mutantcolor = tgui_color_picker(user, "Choose your skin color:", "Race change", palette.mutant_color) if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) return TRUE if(new_mutantcolor) var/temp_hsv = RGBtoHSV(new_mutantcolor) if(ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright - amazed_human.dna.features["mcolor"] = sanitize_hexcolor(new_mutantcolor) - amazed_human.dna.update_uf_block(DNA_MUTANT_COLOR_BLOCK) + palette.mutant_color = sanitize_hexcolor(new_mutantcolor) else to_chat(amazed_human, span_notice("Invalid color. Your color is not bright enough.")) diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 8607ff3c6edf81..8f2dd88e944d12 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -328,17 +328,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) qdel(src) /obj/machinery/shower/proc/check_heat(mob/living/L) - var/mob/living/carbon/C = L - if(current_temperature == SHOWER_FREEZING) - if(iscarbon(L)) - C.adjust_bodytemperature(-80, 80) - to_chat(L, span_warning("[src] is freezing!")) + if(L.bodytemperature >= L.standard_body_temperature - 1 KELVIN) + to_chat(L, span_warning("[src] is freezing!")) + + L.adjust_bodytemperature(-0.5 KELVIN, min_temp = CELCIUS_TO_KELVIN(30)) + else if(current_temperature == SHOWER_BOILING) - if(iscarbon(L)) - C.adjust_bodytemperature(35, 0, 500) - L.adjustFireLoss(5) - to_chat(L, span_danger("[src] is searing!")) + if(L.bodytemperature <= L.standard_body_temperature + 1 KELVIN) + to_chat(L, span_warning("[src] is [pick("scalding", "searing")]!")) + L.adjust_bodytemperature(0.5 KELVIN, max_temp = CELCIUS_TO_KELVIN(40)) + L.apply_damage(6, BURN, spread_damage = TRUE) /obj/structure/showerframe diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index 9078bf10085f36..a702aecdda51d3 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -202,7 +202,7 @@ /obj/structure/trap/chill/trap_effect(mob/living/victim) to_chat(victim, span_bolddanger("You're frozen solid!")) victim.Paralyze(2 SECONDS) - victim.adjust_bodytemperature(-300) + victim.adjust_bodytemperature(-T0C, use_insulation = TRUE) victim.apply_status_effect(/datum/status_effect/freon) diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 793447312b94b2..cafd9556fc4a08 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -63,20 +63,29 @@ ADD_TRAIT(src, TRAIT_UNDENSE, LEANING_TRAIT) ADD_TRAIT(src, TRAIT_EXPANDED_FOV, LEANING_TRAIT) + ADD_TRAIT(src, TRAIT_NO_LEG_AID, LEANING_TRAIT) visible_message(span_notice("[src] leans against \the [wall]!"), \ span_notice("You lean against \the [wall]!")) - RegisterSignals(src, list(COMSIG_MOB_CLIENT_PRE_MOVE, COMSIG_HUMAN_DISARM_HIT, COMSIG_LIVING_GET_PULLED, COMSIG_MOVABLE_TELEPORTING, COMSIG_ATOM_DIR_CHANGE), PROC_REF(stop_leaning)) + RegisterSignals(src, list(COMSIG_MOB_CLIENT_PRE_MOVE, COMSIG_HUMAN_DISARM_HIT, COMSIG_LIVING_GET_PULLED, COMSIG_MOVABLE_TELEPORTING, COMSIG_LIVING_RESIST), PROC_REF(stop_leaning)) + RegisterSignal(src, COMSIG_ATOM_DIR_CHANGE, PROC_REF(stop_leaning_dir)) update_fov() is_leaning = TRUE + update_limbless_locomotion() + +/mob/living/carbon/proc/stop_leaning_dir(datum/source, old_dir, new_dir) + SIGNAL_HANDLER + if(new_dir != old_dir) + stop_leaning() /mob/living/carbon/proc/stop_leaning() SIGNAL_HANDLER - UnregisterSignal(src, list(COMSIG_MOB_CLIENT_PRE_MOVE, COMSIG_HUMAN_DISARM_HIT, COMSIG_LIVING_GET_PULLED, COMSIG_MOVABLE_TELEPORTING, COMSIG_ATOM_DIR_CHANGE)) + UnregisterSignal(src, list(COMSIG_MOB_CLIENT_PRE_MOVE, COMSIG_HUMAN_DISARM_HIT, COMSIG_LIVING_GET_PULLED, COMSIG_MOVABLE_TELEPORTING, COMSIG_ATOM_DIR_CHANGE, COMSIG_LIVING_RESIST)) is_leaning = FALSE pixel_y = base_pixel_y + body_position_pixel_x_offset pixel_x = base_pixel_y + body_position_pixel_y_offset REMOVE_TRAIT(src, TRAIT_UNDENSE, LEANING_TRAIT) REMOVE_TRAIT(src, TRAIT_EXPANDED_FOV, LEANING_TRAIT) + REMOVE_TRAIT(src, TRAIT_NO_LEG_AID, LEANING_TRAIT) update_fov() /turf/closed/wall/Initialize(mapload) diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 5210e90425cdd9..e2303cae2ca8f2 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -200,13 +200,13 @@ air_update_turf(FALSE, FALSE) /turf/open/proc/freeze_turf() - for(var/obj/I in contents) - if(!HAS_TRAIT(I, TRAIT_FROZEN) && !(I.resistance_flags & FREEZE_PROOF)) - I.AddElement(/datum/element/frozen) + for(var/obj/iced in contents) + if(!HAS_TRAIT(iced, TRAIT_FROZEN) && !(iced.resistance_flags & FREEZE_PROOF)) + iced.AddElement(/datum/element/frozen) - for(var/mob/living/L in contents) - if(L.bodytemperature <= 50) - L.apply_status_effect(/datum/status_effect/freon) + for(var/mob/living/freezer in src) + if(freezer.bodytemperature <= CELCIUS_TO_KELVIN(25 CELCIUS)) + freezer.apply_status_effect(/datum/status_effect/freon) MakeSlippery(TURF_WET_PERMAFROST, 50) return TRUE diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 77fe81fdb7e9e0..8ca8d01352a9ab 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -26,8 +26,10 @@ human.eye_color_left = random_eye_color human.eye_color_right = random_eye_color - human.dna.blood_type = random_blood_type() - human.dna.features["mcolor"] = "#[random_color()]" + human.dna.human_blood_type = random_human_blood_type() + var/datum/color_palette/generic_colors/palette = human.dna.color_palettes[/datum/color_palette/generic_colors] + palette.mutant_color = "#[random_color()]" + palette.mutant_color_secondary = "#[random_color()]" human.dna.species.randomize_active_underwear_only(human) for(var/datum/species/species_path as anything in subtypesof(/datum/species)) diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index 0db57f74efe624..737afcbbb281d9 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -222,7 +222,7 @@ . = ckey(admin_key) if(!.) return FALSE - if(!admin_ckey && (. in (GLOB.admin_datums+GLOB.deadmins))) + if(!admin_ckey && (. in (GLOB.admin_datums + GLOB.deadmins))) to_chat(usr, span_danger("[admin_key] is already an admin."), confidential = TRUE) return FALSE if(use_db) diff --git a/code/modules/admin/verbs/list_exposer.dm b/code/modules/admin/verbs/list_exposer.dm index 851bd901c1e53c..c2c48963051e35 100644 --- a/code/modules/admin/verbs/list_exposer.dm +++ b/code/modules/admin/verbs/list_exposer.dm @@ -33,7 +33,7 @@ for(var/entry in GLOB.human_list) var/mob/living/carbon/human/subject = entry if(subject.ckey) - data += "[subject][subject.dna.unique_enzymes][subject.dna.blood_type]" + data += "[subject][subject.dna.unique_enzymes][subject.get_blood_type()]" data += "" usr << browse(data, "window=DNA;size=440x410") diff --git a/code/modules/antagonists/abductor/equipment/glands/blood.dm b/code/modules/antagonists/abductor/equipment/glands/blood.dm index 40c2b3c4d7264d..8a6b43a7baf248 100644 --- a/code/modules/antagonists/abductor/equipment/glands/blood.dm +++ b/code/modules/antagonists/abductor/equipment/glands/blood.dm @@ -15,4 +15,4 @@ var/mob/living/carbon/human/H = owner var/datum/species/species = H.dna.species to_chat(H, span_warning("You feel your blood heat up for a moment.")) - species.exotic_blood = get_random_reagent_id() + species.exotic_bloodtype = pick(subtypesof(/datum/blood_type)) diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm index 9be6245d91f0a3..90b6e9865a9cf5 100644 --- a/code/modules/antagonists/abductor/equipment/glands/heal.dm +++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm @@ -27,7 +27,7 @@ return var/obj/item/organ/internal/liver/liver = owner.get_organ_slot(ORGAN_SLOT_LIVER) - if((!liver && !HAS_TRAIT(owner, TRAIT_NOMETABOLISM)) || (liver && ((liver.damage > liver.high_threshold) || (liver.organ_flags & ORGAN_SYNTHETIC)))) + if((!liver && !HAS_TRAIT(owner, TRAIT_LIVERLESS_METABOLISM)) || (liver && ((liver.damage > liver.high_threshold) || (liver.organ_flags & ORGAN_SYNTHETIC)))) replace_liver(liver) return diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index 8218544a305e94..bd8ebf0d8ef7b9 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -111,8 +111,9 @@ /datum/antagonist/brother/get_base_preview_icon() var/mob/living/carbon/human/dummy/consistent/brother1 = new var/mob/living/carbon/human/dummy/consistent/brother2 = new + var/datum/color_palette/generic_colors/located = brother1.dna.color_palettes[/datum/color_palette/generic_colors] - brother1.dna.features["ethcolor"] = GLOB.color_list_ethereal["Faint Red"] + located.ethereal_color = GLOB.color_list_ethereal["Faint Red"] brother1.set_species(/datum/species/ethereal) brother2.dna.features["moth_antennae"] = "Plain" @@ -121,11 +122,15 @@ brother2.set_species(/datum/species/moth) var/icon/brother1_icon = render_preview_outfit(/datum/outfit/job/quartermaster, brother1) - brother1_icon.Blend(icon('icons/effects/blood.dmi', "maskblood"), ICON_OVERLAY) + var/icon/blood1_icon = icon('icons/effects/blood.dmi', "maskblood") + blood1_icon.Blend(COLOR_BLOOD, ICON_MULTIPLY) + brother1_icon.Blend(blood1_icon, ICON_OVERLAY) brother1_icon.Shift(WEST, 8) var/icon/brother2_icon = render_preview_outfit(/datum/outfit/job/scientist/consistent, brother2) - brother2_icon.Blend(icon('icons/effects/blood.dmi', "uniformblood"), ICON_OVERLAY) + var/icon/blood2_icon = icon('icons/effects/blood.dmi', "uniformblood") + blood2_icon.Blend(COLOR_BLOOD, ICON_MULTIPLY) + brother2_icon.Blend(blood2_icon, ICON_OVERLAY) brother2_icon.Shift(EAST, 8) var/icon/final_icon = brother1_icon diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 11b913d4f8b172..33ed63b4ac7b93 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -489,7 +489,7 @@ if(verbose) to_chat(user, span_warning("We already have this DNA in storage!")) return FALSE - if(NO_DNA_COPY in target.dna.species?.species_traits) + if(HAS_TRAIT(target, TRAIT_NO_DNA_COPY)) if(verbose) to_chat(user, span_warning("[target] is not compatible with our biology.")) return FALSE diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 92ae8dae9f9fba..77f3a8fe6db5d4 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -543,8 +543,8 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS armor_type = /datum/armor/armor_changeling flags_inv = HIDEJUMPSUIT - cold_protection = 0 - heat_protection = 0 + max_heat_protection_temperature = null + min_cold_protection_temperature = null resistance_flags = FLAMMABLE //MONKESTATION ADDITION /datum/armor/armor_changeling diff --git a/code/modules/antagonists/changeling/powers/void_adaption.dm b/code/modules/antagonists/changeling/powers/void_adaption.dm index 76c0eeffc972de..0bf4fc902b1f16 100644 --- a/code/modules/antagonists/changeling/powers/void_adaption.dm +++ b/code/modules/antagonists/changeling/powers/void_adaption.dm @@ -34,11 +34,11 @@ var/datum/gas_mixture/environment = void_adapted.loc.return_air() if (!isnull(environment)) - var/vulnerable_temperature = void_adapted.get_body_temp_cold_damage_limit() + var/vulnerable_temperature = void_adapted.bodytemp_cold_damage_limit var/affected_temperature = environment.return_temperature() if (ishuman(void_adapted)) var/mob/living/carbon/human/special_boy = void_adapted - var/cold_protection = special_boy.get_cold_protection(affected_temperature) + var/cold_protection = special_boy.get_insulation(affected_temperature) vulnerable_temperature *= (1 - cold_protection) var/affected_pressure = special_boy.calculate_affecting_pressure(environment.return_pressure()) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 2f72953f4a0522..6c29f56dad5361 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -762,30 +762,25 @@ uses = 0 playsound(get_turf(M), 'sound/magic/staff_healing.ogg', 25) user.Beam(M, icon_state="sendbeam", time = 1 SECONDS) - if(istype(target, /obj/effect/decal/cleanable/blood)) + if(istype(target, /obj/effect/decal/cleanable/blood) || isturf(target)) blood_draw(target, user) ..() /obj/item/melee/blood_magic/manipulator/proc/blood_draw(atom/target, mob/living/carbon/human/user) - var/temp = 0 - var/turf/T = get_turf(target) - if(T) - for(var/obj/effect/decal/cleanable/blood/B in view(T, 2)) - if(B.blood_state == BLOOD_STATE_HUMAN) - if(B.bloodiness == 100) //Bonus for "pristine" bloodpools, also to prevent cheese with footprint spam - temp += 30 - else - temp += max((B.bloodiness**2)/800,1) - new /obj/effect/temp_visual/cult/turf/floor(get_turf(B)) - qdel(B) - for(var/obj/effect/decal/cleanable/trail_holder/TH in view(T, 2)) - qdel(TH) - if(temp) - user.Beam(T,icon_state="drainbeam", time = 15) + var/blood_to_gain = 0 + var/turf/our_turf = get_turf(target) + if(our_turf) + for(var/obj/effect/decal/cleanable/blood/blood_around_us in range(our_turf,2)) + if(blood_around_us.decal_reagent == /datum/reagent/blood) + blood_to_gain += max(blood_around_us.bloodiness * 0.12 * BLOOD_PER_UNIT_MODIFIER, 1) + new /obj/effect/temp_visual/cult/turf/floor(get_turf(blood_around_us)) + qdel(blood_around_us) + if(blood_to_gain) + user.Beam(our_turf,icon_state="drainbeam", time = 15) new /obj/effect/temp_visual/cult/sparks(get_turf(user)) - playsound(T, 'sound/magic/enter_blood.ogg', 50) - to_chat(user, span_cultitalic("Your blood rite has gained [round(temp)] charge\s from blood sources around you!")) - uses += max(1, round(temp)) + playsound(our_turf, 'sound/magic/enter_blood.ogg', 50) + to_chat(user, span_cultitalic("Your blood rite has gained [round(blood_to_gain)] charge\s from blood sources around you!")) + uses += max(1, round(blood_to_gain)) /obj/item/melee/blood_magic/manipulator/attack_self(mob/living/user) if(IS_CULTIST(user)) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 4094842d5d1e9c..97c90bba494553 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -182,9 +182,9 @@ Striking a noncultist, however, will tear their flesh."} flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS flags_cover = HEADCOVERSEYES armor_type = /datum/armor/hooded_cult_hoodie - cold_protection = HEAD + min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT /datum/armor/hooded_cult_hoodie @@ -208,9 +208,9 @@ Striking a noncultist, however, will tear their flesh."} allowed = list(/obj/item/tome, /obj/item/melee/cultblade) armor_type = /datum/armor/hooded_cultrobes flags_inv = HIDEJUMPSUIT - cold_protection = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT hoodtype = /obj/item/clothing/head/hooded/cult_hoodie diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm index 7a03bace105032..6faf4902126695 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm @@ -20,10 +20,12 @@ /datum/status_effect/unholy_determination/on_apply() owner.add_traits(list(TRAIT_COAGULATING, TRAIT_NOCRITDAMAGE, TRAIT_NOSOFTCRIT), type) + owner.add_homeostasis_level(id, owner.standard_body_temperature, 10 KELVIN) return TRUE /datum/status_effect/unholy_determination/on_remove() owner.remove_traits(list(TRAIT_COAGULATING, TRAIT_NOCRITDAMAGE, TRAIT_NOSOFTCRIT), type) + owner.remove_homeostasis_level(id) /datum/status_effect/unholy_determination/tick() // The amount we heal of each damage type per tick. If we're missing legs we heal better because we can't dodge. @@ -49,7 +51,6 @@ playsound(owner, pick(GLOB.creepy_ambience), 50, TRUE) adjust_all_damages(healing_amount) - adjust_temperature() adjust_bleed_wounds() /* @@ -65,28 +66,11 @@ owner.adjustBruteLoss(-amount, FALSE) owner.adjustFireLoss(-amount) -/* - * Adjust the owner's temperature up or down to standard body temperatures. - */ -/datum/status_effect/unholy_determination/proc/adjust_temperature() - var/target_temp = owner.get_body_temp_normal(apply_change = FALSE) - if(owner.bodytemperature > target_temp) - owner.adjust_bodytemperature(-50 * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) - else if(owner.bodytemperature < (target_temp + 1)) - owner.adjust_bodytemperature(50 * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) - - if(ishuman(owner)) - var/mob/living/carbon/human/human_owner = owner - if(human_owner.coretemperature > target_temp) - human_owner.adjust_coretemperature(-50 * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) - else if(human_owner.coretemperature < (target_temp + 1)) - human_owner.adjust_coretemperature(50 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, target_temp) - /* * Slow and stop any blood loss the owner's experiencing. */ /datum/status_effect/unholy_determination/proc/adjust_bleed_wounds() - if(!iscarbon(owner) || !owner.blood_volume) + if(HAS_TRAIT(owner, TRAIT_NOBLOOD)) return if(owner.blood_volume < BLOOD_VOLUME_NORMAL) diff --git a/code/modules/antagonists/heretic/status_effects/debuffs.dm b/code/modules/antagonists/heretic/status_effects/debuffs.dm index 761af62876f6b3..1088f846525fb7 100644 --- a/code/modules/antagonists/heretic/status_effects/debuffs.dm +++ b/code/modules/antagonists/heretic/status_effects/debuffs.dm @@ -6,7 +6,7 @@ status_type = STATUS_EFFECT_REPLACE tick_interval = 0.5 SECONDS /// The amount the victim's body temperature changes each tick() in kelvin. Multiplied by TEMPERATURE_DAMAGE_COEFFICIENT. - var/cooling_per_tick = -14 + var/cooling_per_tick = -1 KELVIN /atom/movable/screen/alert/status_effect/void_chill name = "Void Chill" @@ -23,11 +23,11 @@ owner.remove_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE) /datum/status_effect/void_chill/tick() - owner.adjust_bodytemperature(cooling_per_tick * TEMPERATURE_DAMAGE_COEFFICIENT) + owner.adjust_bodytemperature(cooling_per_tick) /datum/status_effect/void_chill/major duration = 10 SECONDS - cooling_per_tick = -20 + cooling_per_tick = -4 KELVIN /datum/status_effect/void_chill/lasting id = "lasting_void_chill" diff --git a/code/modules/antagonists/nightmare/nightmare_species.dm b/code/modules/antagonists/nightmare/nightmare_species.dm index 619d5bb7945637..c2acb77037501f 100644 --- a/code/modules/antagonists/nightmare/nightmare_species.dm +++ b/code/modules/antagonists/nightmare/nightmare_species.dm @@ -8,12 +8,10 @@ burnmod = 1.5 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING | ITEM_SLOT_SUITSTORE - species_traits = list( - NO_UNDERWEAR, - NO_DNA_COPY, - NOTRANSSTING, - ) inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_NO_DNA_COPY, + TRAIT_NO_TRANSFORMATION_STING, TRAIT_ADVANCEDTOOLUSER, TRAIT_CAN_STRIP, TRAIT_RESISTCOLD, diff --git a/code/modules/antagonists/obsessed/obsessed.dm b/code/modules/antagonists/obsessed/obsessed.dm index a079f95cfa0e0d..f9de1b68914185 100644 --- a/code/modules/antagonists/obsessed/obsessed.dm +++ b/code/modules/antagonists/obsessed/obsessed.dm @@ -42,7 +42,9 @@ victim_dummy.update_body_parts() var/icon/obsessed_icon = render_preview_outfit(preview_outfit) - obsessed_icon.Blend(icon('icons/effects/blood.dmi', "uniformblood"), ICON_OVERLAY) + var/icon/blood_icon = icon('icons/effects/blood.dmi', "uniformblood") + blood_icon.Blend(COLOR_BLOOD, ICON_MULTIPLY) + obsessed_icon.Blend(blood_icon, ICON_OVERLAY) var/icon/final_icon = finish_preview_icon(obsessed_icon) diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 061de2a5f92053..d2125499e6cea6 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -1,5 +1,4 @@ #define EXPOSED_VOLUME 1000 -#define ROOM_TEMP 293 #define MIN_FREEZE_TEMP 50 #define MAX_FREEZE_TEMP 1000000 @@ -68,10 +67,9 @@ var/turf/location = get_turf(loc) if(location) var/datum/gas_mixture/enviro = location.return_air() - enviro.temperature = clamp(min(ROOM_TEMP, enviro.temperature*0.85),MIN_FREEZE_TEMP,MAX_FREEZE_TEMP) + enviro.temperature = clamp(min(T20C, enviro.temperature*0.85),MIN_FREEZE_TEMP,MAX_FREEZE_TEMP) sparks.start() #undef EXPOSED_VOLUME -#undef ROOM_TEMP #undef MIN_FREEZE_TEMP #undef MAX_FREEZE_TEMP diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm index cfe74f13c346c8..50e31fda1162d5 100644 --- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm @@ -93,10 +93,10 @@ hazard_max = HAZARD_HIGH_PRESSURE /datum/tlv/temperature - warning_min = BODYTEMP_COLD_WARNING_1+10 - hazard_min = BODYTEMP_COLD_WARNING_1 - warning_max = BODYTEMP_HEAT_WARNING_1-27 - hazard_max = BODYTEMP_HEAT_WARNING_1 + warning_min = BODYTEMP_COLD_DAMAGE_LIMIT - 10 CELCIUS // some leeway as most humans sit comfortable above area temp + hazard_min = BODYTEMP_COLD_DAMAGE_LIMIT - 40 CELCIUS + warning_max = BODYTEMP_HEAT_DAMAGE_LIMIT + 5 CELCIUS // same + hazard_max = BODYTEMP_HEAT_DAMAGE_LIMIT + 20 CELCIUS /datum/tlv/cold_room_pressure warning_min = ONE_ATMOSPHERE * 0.9 diff --git a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm index d1ac81975c5540..72d21d042c2f04 100644 --- a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm +++ b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm @@ -33,7 +33,6 @@ worn_item.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) worn_item.add_atom_colour("#00fff7", FIXED_COLOUR_PRIORITY) worn_item.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - worn_item.cold_protection = worn_item.body_parts_covered worn_item.clothing_flags |= STOPSPRESSUREDAMAGE uses-- if(!uses) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index af1f78552796da..6b7b27ad2ce7c2 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -113,6 +113,7 @@ var/patient_dead = FALSE fair_market_price = 10 payment_department = ACCOUNT_MED + var/adjusted_occupant = FALSE /datum/armor/unary_cryo_cell @@ -145,7 +146,19 @@ SET_PLANE(occupant_vis, PLANE_TO_TRUE(occupant_vis.plane), new_turf) /obj/machinery/atmospherics/components/unary/cryo_cell/set_occupant(atom/movable/new_occupant) + if(occupant && isnull(new_occupant)) + REMOVE_TRAIT(occupant, TRAIT_ASSISTED_BREATHING, REF(src)) + if(isliving(occupant) && adjusted_occupant) + adjusted_occupant = FALSE + var/mob/living/living = occupant + living.bodytemp_cold_damage_limit += 270 KELVIN . = ..() + if(occupant && on) + ADD_TRAIT(occupant, TRAIT_ASSISTED_BREATHING, REF(src)) + if(isliving(occupant) && !adjusted_occupant) + adjusted_occupant = TRUE + var/mob/living/living = occupant + living.bodytemp_cold_damage_limit -= 270 KELVIN update_appearance() /obj/machinery/atmospherics/components/unary/cryo_cell/on_construction(mob/user) @@ -259,6 +272,21 @@ else update_use_power(IDLE_POWER_USE) update_appearance() + if(occupant) + ADD_TRAIT(occupant, TRAIT_ASSISTED_BREATHING, REF(src)) + else + REMOVE_TRAIT(occupant, TRAIT_ASSISTED_BREATHING, REF(src)) + + if(on) + if(isliving(occupant) && !adjusted_occupant) + adjusted_occupant = TRUE + var/mob/living/living = occupant + living.bodytemp_cold_damage_limit -= 270 KELVIN + else + if(isliving(occupant) && adjusted_occupant) + adjusted_occupant = FALSE + var/mob/living/living = occupant + living.bodytemp_cold_damage_limit += 270 KELVIN /obj/machinery/atmospherics/components/unary/cryo_cell/on_set_is_operational(old_value) if(old_value) //Turned off @@ -360,7 +388,7 @@ if(ishuman(mob_occupant)) var/mob/living/carbon/human/H = mob_occupant - cold_protection = H.get_cold_protection(air1.temperature) + cold_protection = H.get_insulation(air1.temperature) if(abs(temperature_delta) > 1) var/air_heat_capacity = air1.heat_capacity() @@ -370,11 +398,6 @@ mob_occupant.adjust_bodytemperature(heat / heat_capacity, TCMB) air1.temperature = clamp(air1.temperature - heat / air_heat_capacity, TCMB, MAX_TEMPERATURE) - //lets have the core temp match the body temp in humans - if(ishuman(mob_occupant)) - var/mob/living/carbon/human/humi = mob_occupant - humi.adjust_coretemperature(humi.bodytemperature - humi.coretemperature) - air1.garbage_collect() @@ -392,7 +415,7 @@ return air1.remove(air1.total_moles() * breath_percentage) /obj/machinery/atmospherics/components/unary/cryo_cell/assume_air(datum/gas_mixture/giver) - airs[1].merge(giver) + return airs[1].merge(giver) /obj/machinery/atmospherics/components/unary/cryo_cell/relaymove(mob/living/user, direction) if(message_cooldown <= world.time) diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm index fd43e315527b43..f25838b8fa6557 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm @@ -44,7 +44,7 @@ //Best guess-estimate of the total bodytemperature of all the mobs, since they share the same environment it's ~ok~ to guess like this var/avg_temp = (pipe_air.temperature * hc + (heat_source.bodytemperature * buckled_mobs.len) * 3500) / (hc + (buckled_mobs ? buckled_mobs.len * 3500 : 0)) for(var/mob/living/buckled_mob as anything in buckled_mobs) - buckled_mob.bodytemperature = avg_temp + buckled_mob.adjust_bodytemperature(avg_temp - heat_source.bodytemperature) pipe_air.temperature = avg_temp /obj/machinery/atmospherics/pipe/heat_exchanging/process(seconds_per_tick) diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 73da55ad2fe331..8c62a873ffeab9 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -376,7 +376,7 @@ name = "insulated tactical turtleneck" desc = "A nondescript and slightly suspicious-looking turtleneck with digital camouflage cargo pants. The interior has been padded with special insulation for both warmth and protection." armor_type = /datum/armor/syndicate_coldres - cold_protection = CHEST|GROIN|ARMS|LEGS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /datum/armor/syndicate_coldres diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index f3dca7a3dca101..16da87d45c5b23 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -18,8 +18,8 @@ loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 2, /obj/item/food/meat/slab/gondola = 2) //Gondolas aren't affected by cold. atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 maxHealth = 200 health = 200 del_on_death = TRUE diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 0dfff4d73fe8ea..fe32f251f9bb6b 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -87,6 +87,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) /// If set to TRUE, will update character_profiles on the next ui_data tick. var/tainted_character_profiles = FALSE + ///have we finished loading + var/loaded = FALSE /datum/preferences/Destroy(force) QDEL_NULL(character_preview_view) @@ -121,6 +123,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/loaded_preferences_successfully = load_preferences() if(loaded_preferences_successfully) if(load_character()) + loaded = TRUE return //we couldn't load character data so just randomize the character appearance + name randomise_appearance_prefs() //let's create a random character then - rather than a fat, bald and naked man. @@ -129,8 +132,14 @@ GLOBAL_LIST_EMPTY(preferences_datums) parent.set_macros() if(!loaded_preferences_successfully) + if(load_preferences()) + if(load_character()) + loaded = TRUE + return + message_admins("[parent]'s prefs failed to load twice! Their keybindings and tokens may have been lost please check on this.") save_preferences() save_character() //let's save this new random character so it doesn't keep generating new ones. + loaded = TRUE /datum/preferences/ui_interact(mob/user, datum/tgui/ui) // There used to be code here that readded the preview view if you "rejoined" @@ -290,7 +299,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) default_value || COLOR_WHITE, ) - if (!new_color) + if (!new_color && !requested_preference.allows_nulls) return FALSE if (!update_preference(requested_preference, new_color)) @@ -477,11 +486,15 @@ GLOBAL_LIST_EMPTY(preferences_datums) /// Applies the given preferences to a human mob. /datum/preferences/proc/apply_prefs_to(mob/living/carbon/human/character, icon_updates = TRUE) character.dna.features = list() + character.dna.apply_color_palettes(src) + var/species_type = read_preference(/datum/preference/choiced/species) + var/datum/species/species = new species_type for (var/datum/preference/preference as anything in get_preferences_in_priority_order()) if (preference.savefile_identifier != PREFERENCE_CHARACTER) continue - + if(preference.relevant_inherent_trait && !(preference.relevant_inherent_trait in species.inherent_traits)) + continue preference.apply_to_human(character, read_preference(preference.type)) character.dna.real_name = character.real_name diff --git a/code/modules/client/preferences/_preference.dm b/code/modules/client/preferences/_preference.dm index e6f260d9a2f68c..c952c22f96acb9 100644 --- a/code/modules/client/preferences/_preference.dm +++ b/code/modules/client/preferences/_preference.dm @@ -101,9 +101,9 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) /// will show the feature as selectable. var/relevant_mutant_bodypart = null - /// If the selected species has this in its /datum/species/species_traits, + /// If the selected species has this in its /datum/species/inherent_traits, /// will show the feature as selectable. - var/relevant_species_trait = null + var/relevant_inherent_trait = null /// If the selected species has this in its /datum/species/var/external_organs, /// will show the feature as selectable. @@ -113,6 +113,11 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) /// will show the feature as selectable. --species nuking var/relevant_head_flag = null + ///do we allow null inputs + var/allows_nulls = FALSE + ///are we defaulted to null + var/default_null = FALSE + /// Called on the saved input when retrieving. /// Also called by the value sent from the user through UI. Do not trust it. /// Input is the value inside the savefile, output is to tell other code @@ -206,6 +211,8 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) /datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value) SHOULD_NOT_SLEEP(TRUE) SHOULD_CALL_PARENT(FALSE) + if(istype(src, /datum/preference/color)) + return //colors are handled through a palette datum CRASH("`apply_to_human()` was not implemented for [type]!") /// Returns which savefile to use for a given savefile identifier @@ -317,7 +324,12 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) SHOULD_CALL_PARENT(TRUE) SHOULD_NOT_SLEEP(TRUE) - if (!isnull(relevant_mutant_bodypart) || !isnull(relevant_species_trait) || !isnull(relevant_external_organ)) + if ( \ + !isnull(relevant_mutant_bodypart) \ + || !isnull(relevant_inherent_trait) \ + || !isnull(relevant_external_organ) \ + || !isnull(relevant_head_flag) \ + ) var/species_type = preferences.read_preference(/datum/preference/choiced/species) var/datum/species/species = new species_type @@ -434,16 +446,24 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) abstract_type = /datum/preference/color /datum/preference/color/deserialize(input, datum/preferences/preferences) - return sanitize_hexcolor(input) + if(!allows_nulls || input) + return sanitize_hexcolor(input) + return null /datum/preference/color/create_default_value() + if(default_null) + return null return random_color() /datum/preference/color/serialize(input) - return sanitize_hexcolor(input) + if(!allows_nulls || input) + return sanitize_hexcolor(input) + return null /datum/preference/color/is_valid(value) - return findtext(value, GLOB.is_color) + if(!allows_nulls || value) + return findtext(value, GLOB.is_color) + return TRUE /// Takes an assoc list of names to /datum/sprite_accessory and returns a value /// fit for `/datum/preference/init_possible_values()` diff --git a/code/modules/client/preferences/clothing.dm b/code/modules/client/preferences/clothing.dm index c1bb5f4c31055b..057987c871fbe5 100644 --- a/code/modules/client/preferences/clothing.dm +++ b/code/modules/client/preferences/clothing.dm @@ -92,7 +92,7 @@ var/species_type = preferences.read_preference(/datum/preference/choiced/species) var/datum/species/species = new species_type - return !(NO_UNDERWEAR in species.species_traits) + return !(TRAIT_NO_UNDERWEAR in species.inherent_traits) /datum/preference/choiced/socks/compile_constant_data() var/list/data = ..() @@ -136,6 +136,14 @@ /datum/preference/choiced/undershirt/apply_to_human(mob/living/carbon/human/target, value) target.undershirt = value +/datum/preference/choiced/undershirt/is_accessible(datum/preferences/preferences) + if (!..(preferences)) + return FALSE + + var/species_type = preferences.read_preference(/datum/preference/choiced/species) + var/datum/species/species = new species_type + return !(TRAIT_NO_UNDERWEAR in species.inherent_traits) + /// Underwear preference /datum/preference/choiced/underwear savefile_key = "underwear" @@ -156,7 +164,7 @@ var/species_type = preferences.read_preference(/datum/preference/choiced/species) var/datum/species/species = new species_type - return !(NO_UNDERWEAR in species.species_traits) + return !(TRAIT_NO_UNDERWEAR in species.inherent_traits) /datum/preference/choiced/underwear/compile_constant_data() var/list/data = ..() diff --git a/code/modules/client/preferences/skin_tone.dm b/code/modules/client/preferences/skin_tone.dm index 571dfc66b3b1ee..d2359f8ce694a4 100644 --- a/code/modules/client/preferences/skin_tone.dm +++ b/code/modules/client/preferences/skin_tone.dm @@ -1,7 +1,8 @@ /datum/preference/choiced/skin_tone - category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - savefile_identifier = PREFERENCE_CHARACTER savefile_key = "skin_tone" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + relevant_inherent_trait = TRAIT_USES_SKINTONES /datum/preference/choiced/skin_tone/init_possible_values() return GLOB.skin_tones @@ -26,12 +27,4 @@ return data /datum/preference/choiced/skin_tone/apply_to_human(mob/living/carbon/human/target, value) - if(target.dna.species.use_skintones) - target.skin_tone = value - -/datum/preference/choiced/skin_tone/is_accessible(datum/preferences/preferences) - if (!..(preferences)) - return FALSE - - var/datum/species/species_type = preferences.read_preference(/datum/preference/choiced/species) - return initial(species_type.use_skintones) + target.skin_tone = value diff --git a/code/modules/client/preferences/species.dm b/code/modules/client/preferences/species.dm index 1aae0e58dbbc1f..f47dd4bf286692 100644 --- a/code/modules/client/preferences/species.dm +++ b/code/modules/client/preferences/species.dm @@ -40,7 +40,7 @@ data[species_id]["name"] = species.name data[species_id]["desc"] = species.get_species_description() data[species_id]["icon"] = sanitize_css_class_name(species.name) - data[species_id]["use_skintones"] = species.use_skintones + data[species_id]["use_skintones"] = (TRAIT_USES_SKINTONES in species.inherent_traits) data[species_id]["sexes"] = species.sexes data[species_id]["enabled_features"] = species.get_features() data[species_id]["perks"] = species.get_species_perks() diff --git a/code/modules/client/preferences/species_features/ethereal.dm b/code/modules/client/preferences/species_features/ethereal.dm index 56fe50895894cb..23db386c8de493 100644 --- a/code/modules/client/preferences/species_features/ethereal.dm +++ b/code/modules/client/preferences/species_features/ethereal.dm @@ -30,4 +30,4 @@ return values /datum/preference/choiced/ethereal_color/apply_to_human(mob/living/carbon/human/target, value) - target.dna.features["ethcolor"] = GLOB.color_list_ethereal[value] + return diff --git a/code/modules/client/preferences/species_features/mutants.dm b/code/modules/client/preferences/species_features/mutants.dm index 44cefd7ef877cc..eee8b54e6b61ef 100644 --- a/code/modules/client/preferences/species_features/mutants.dm +++ b/code/modules/client/preferences/species_features/mutants.dm @@ -2,14 +2,19 @@ savefile_key = "feature_mcolor" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - relevant_species_trait = MUTCOLORS + relevant_inherent_trait = TRAIT_MUTANT_COLORS + +/datum/preference/color/mutant_color/is_accessible(datum/preferences/preferences) + if (!..(preferences)) + return FALSE + + var/species_type = preferences.read_preference(/datum/preference/choiced/species) + var/datum/species/species = new species_type + return !(TRAIT_FIXED_MUTANT_COLORS in species.inherent_traits) /datum/preference/color/mutant_color/create_default_value() return sanitize_hexcolor("[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]") -/datum/preference/color/mutant_color/apply_to_human(mob/living/carbon/human/target, value) - target.dna.features["mcolor"] = value - /datum/preference/color/mutant_color/is_valid(value) if (!..(value)) return FALSE diff --git a/code/modules/client/preferences/species_features/vampire.dm b/code/modules/client/preferences/species_features/vampire.dm index 1b05c2c3e12b4e..710dd37a1f287a 100644 --- a/code/modules/client/preferences/species_features/vampire.dm +++ b/code/modules/client/preferences/species_features/vampire.dm @@ -5,7 +5,7 @@ priority = PREFERENCE_PRIORITY_NAME_MODIFICATIONS //this will be overwritten by names otherwise main_feature_name = "Vampire status" should_generate_icons = TRUE - relevant_species_trait = BLOOD_CLANS + relevant_inherent_trait = TRAIT_BLOOD_CLANS /datum/preference/choiced/vampire_status/create_default_value() return "Inoculated" //eh, have em try out the mechanic first @@ -22,7 +22,7 @@ GLOBAL_LIST_EMPTY(vampire_houses) /datum/preference/choiced/vampire_status/apply_to_human(mob/living/carbon/human/target, value) - if (!(relevant_species_trait in target.dna?.species.species_traits)) + if(!HAS_TRAIT(target, TRAIT_BLOOD_CLANS)) return if(value != "Inoculated") diff --git a/code/modules/client/preferences/underwear_color.dm b/code/modules/client/preferences/underwear_color.dm index a005145d1735b3..3603729910a361 100644 --- a/code/modules/client/preferences/underwear_color.dm +++ b/code/modules/client/preferences/underwear_color.dm @@ -12,4 +12,4 @@ var/species_type = preferences.read_preference(/datum/preference/choiced/species) var/datum/species/species = new species_type - return !(NO_UNDERWEAR in species.species_traits) + return !(TRAIT_NO_UNDERWEAR in species.inherent_traits) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 46995388a78c34..b4fb08e2cd752c 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -43,6 +43,9 @@ /// How many zones (body parts, not precise) we have disabled so far, for naming purposes var/zones_disabled + /// If supplied, this is what overlay is used when applying blood effects when worn + var/blood_overlay_type = "" + /// A lazily initiated "food" version of the clothing for moths. // This intentionally does not use the edible component, for a few reasons. // 1. Effectively everything that wants something edible, from now and into the future, @@ -591,3 +594,20 @@ BLIND // can't see anything /obj/item/clothing/remove_fantasy_bonuses(bonus) set_armor(get_armor().generate_new_with_modifiers(list(ARMOR_ALL = -bonus))) return ..() + +/obj/item/clothing/proc/appears_bloody() + return GET_ATOM_BLOOD_DNA_LENGTH(src) && can_be_bloody && !(item_flags & NO_BLOOD_ON_ITEM) + +/obj/item/clothing/worn_overlays(mutable_appearance/standing, isinhands, icon_file) + . = ..() + if(isinhands) + return + + if(blood_overlay_type && appears_bloody()) + var/mutable_appearance/blood_overlay + if(clothing_flags & LARGE_WORN_ICON) + blood_overlay = mutable_appearance('icons/effects/64x64.dmi', "[blood_overlay_type]blood_large") + else + blood_overlay = mutable_appearance('icons/effects/blood.dmi', "[blood_overlay_type]blood") + blood_overlay.color = get_blood_dna_color() + . += blood_overlay diff --git a/code/modules/clothing/gloves/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm index 3f5503ca0eed6e..ec842866a6e6db 100644 --- a/code/modules/clothing/gloves/_gloves.dm +++ b/code/modules/clothing/gloves/_gloves.dm @@ -16,6 +16,7 @@ attack_verb_simple = list("challenge") strip_delay = 20 equip_delay_other = 40 + blood_overlay_type = "glove" // Path variable. If defined, will produced the type through interaction with wirecutters. var/cut_type = null /// Used for handling bloody gloves leaving behind bloodstains on objects. Will be decremented whenever a bloodstain is left behind, and be incremented when the gloves become bloody. @@ -41,13 +42,11 @@ /obj/item/clothing/gloves/worn_overlays(mutable_appearance/standing, isinhands = FALSE) . = ..() - if(!isinhands) + if(isinhands) return if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedgloves") - if(GET_ATOM_BLOOD_DNA_LENGTH(src)) - . += mutable_appearance('icons/effects/blood.dmi', "bloodyhands") /obj/item/clothing/gloves/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() diff --git a/code/modules/clothing/gloves/bone.dm b/code/modules/clothing/gloves/bone.dm index 2c75e642ff6176..526913241d7727 100644 --- a/code/modules/clothing/gloves/bone.dm +++ b/code/modules/clothing/gloves/bone.dm @@ -6,7 +6,7 @@ strip_delay = 40 equip_delay_other = 20 body_parts_covered = ARMS - cold_protection = ARMS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE diff --git a/code/modules/clothing/gloves/botany.dm b/code/modules/clothing/gloves/botany.dm index af94a6b7bb13eb..a3d09c8512beb2 100644 --- a/code/modules/clothing/gloves/botany.dm +++ b/code/modules/clothing/gloves/botany.dm @@ -4,9 +4,9 @@ icon_state = "leather" inhand_icon_state = null greyscale_colors = null - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE clothing_traits = list(TRAIT_PLANT_SAFE) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 6f302279531f14..67f6172c1d1579 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -3,9 +3,9 @@ name = "black gloves" icon_state = "black" greyscale_colors = "#2f2e31" - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE cut_type = /obj/item/clothing/gloves/fingerless @@ -17,7 +17,7 @@ greyscale_colors = "#2f2e31" strip_delay = 40 equip_delay_other = 20 - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT custom_price = PAYCHECK_CREW * 1.5 undyeable = TRUE @@ -82,7 +82,7 @@ name = "\proper Endotherm gloves" desc = "A pair of thick grey gloves, lined to protect the wearer from freezing cold." w_class = WEIGHT_CLASS_NORMAL - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT resistance_flags = NONE clothing_flags = THICKMATERIAL diff --git a/code/modules/clothing/gloves/combat.dm b/code/modules/clothing/gloves/combat.dm index e69813272d74db..0ab32158c89f9a 100644 --- a/code/modules/clothing/gloves/combat.dm +++ b/code/modules/clothing/gloves/combat.dm @@ -5,9 +5,9 @@ greyscale_colors = "#2f2e31" siemens_coefficient = 0 strip_delay = 80 - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE armor_type = /datum/armor/gloves_combat diff --git a/code/modules/clothing/gloves/insulated.dm b/code/modules/clothing/gloves/insulated.dm index 89f33963af5d8f..2585c30278f822 100644 --- a/code/modules/clothing/gloves/insulated.dm +++ b/code/modules/clothing/gloves/insulated.dm @@ -114,8 +114,8 @@ inhand_icon_state = null greyscale_colors = null siemens_coefficient = 0 - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE diff --git a/code/modules/clothing/gloves/plasmaman.dm b/code/modules/clothing/gloves/plasmaman.dm index 0ca552773ec21e..a5976df47a814a 100644 --- a/code/modules/clothing/gloves/plasmaman.dm +++ b/code/modules/clothing/gloves/plasmaman.dm @@ -3,9 +3,9 @@ name = "plasma envirogloves" icon_state = "plasmaman" greyscale_colors = "#913b00" - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE armor_type = /datum/armor/color_plasmaman diff --git a/code/modules/clothing/gloves/special.dm b/code/modules/clothing/gloves/special.dm index 6ba1797ac02f62..2c23539ee598c4 100644 --- a/code/modules/clothing/gloves/special.dm +++ b/code/modules/clothing/gloves/special.dm @@ -81,9 +81,9 @@ inhand_icon_state = null greyscale_colors = null siemens_coefficient = 0 - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT strip_delay = 60 armor_type = /datum/armor/captain_gloves @@ -139,9 +139,9 @@ name = "atmospheric extrication gloves" desc = "Heavy duty gloves for firefighters. These are thick, non-flammable and let you carry people faster." icon_state = "atmos" - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF siemens_coefficient = 0.3 diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 888ecac39ee712..8b205c29b5d077 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -3,7 +3,7 @@ desc = "Special gloves that manipulate the blood vessels in the wearer's hands, granting them the ability to launch headfirst into walls." icon_state = "tackle" inhand_icon_state = null - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT resistance_flags = NONE custom_premium_price = PAYCHECK_COMMAND * 3.5 @@ -68,9 +68,9 @@ tackle_range = 5 skill_mod = 2 - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm index a67d65b5139d42..7693776c7abcab 100644 --- a/code/modules/clothing/head/_head.dm +++ b/code/modules/clothing/head/_head.dm @@ -6,6 +6,7 @@ righthand_file = 'icons/mob/inhands/clothing/hats_righthand.dmi' body_parts_covered = HEAD slot_flags = ITEM_SLOT_HEAD + blood_overlay_type = "helmetblood" ///Special throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them. /obj/item/clothing/head/throw_impact(atom/hit_atom, datum/thrownthing/thrownthing) @@ -64,12 +65,6 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedhelmet") - if(GET_ATOM_BLOOD_DNA_LENGTH(src)) - if(clothing_flags & LARGE_WORN_ICON) - . += mutable_appearance('icons/effects/64x64.dmi', "helmetblood_large") - else - . += mutable_appearance('icons/effects/blood.dmi', "helmetblood") - if(!(flags_inv & HIDEHAIR)) if(ismob(loc)) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 6d9105e51ff985..4d767bfc89e1e2 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -74,9 +74,9 @@ dog_fashion = null name = "firefighter helmet" clothing_flags = STOPSPRESSUREDAMAGE | PLASMAMAN_HELMET_EXEMPT - heat_protection = HEAD + max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT /obj/item/clothing/head/utility/hardhat/red/upgraded @@ -94,9 +94,9 @@ inhand_icon_state = null hat_type = "white" clothing_flags = STOPSPRESSUREDAMAGE | PLASMAMAN_HELMET_EXEMPT - heat_protection = HEAD + max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT dog_fashion = /datum/dog_fashion/head @@ -167,9 +167,9 @@ light_outer_range = 4 //Boss always takes the best stuff hat_type = "white" clothing_flags = STOPSPRESSUREDAMAGE | PLASMAMAN_HELMET_EXEMPT - heat_protection = HEAD + max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT /obj/item/clothing/head/utility/hardhat/welding/dblue @@ -185,9 +185,9 @@ name = "atmospheric firefighter helmet" desc = "A firefighter's helmet, able to keep the user cool in any situation. Comes with a light and a welding visor." clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | PLASMAMAN_HELMET_EXEMPT | HEADINTERNALS - heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF visor_flags_cover = NONE diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm index 1bb3cae11d7bd5..408723b2d8882e 100644 --- a/code/modules/clothing/head/hat.dm +++ b/code/modules/clothing/head/hat.dm @@ -168,7 +168,7 @@ desc = "On the first day of christmas my employer gave to me!" icon_state = "santahatnorm" inhand_icon_state = "that" - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT dog_fashion = /datum/dog_fashion/head/santa @@ -272,7 +272,7 @@ icon_state = "ushankadown" inhand_icon_state = null flags_inv = HIDEEARS|HIDEHAIR - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT dog_fashion = /datum/dog_fashion/head/ushanka var/earflaps = TRUE diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 2b304c631a767f..27e13795b129cd 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -6,9 +6,9 @@ icon_state = "helmet" inhand_icon_state = "helmet" armor_type = /datum/armor/head_helmet - cold_protection = HEAD + min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 60 clothing_flags = SNUG_FIT | PLASMAMAN_HELMET_EXEMPT @@ -249,9 +249,9 @@ icon_state = "swatsyndie" inhand_icon_state = "swatsyndie_helmet" armor_type = /datum/armor/helmet_swat - cold_protection = HEAD + min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT clothing_flags = STOPSPRESSUREDAMAGE | PLASMAMAN_HELMET_EXEMPT strip_delay = 80 @@ -276,9 +276,9 @@ icon_state = "swat" inhand_icon_state = "swat_helmet" clothing_flags = PLASMAMAN_HELMET_EXEMPT | SNUG_FIT //monkestation edit - cold_protection = HEAD + min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT flags_cover = HEADCOVERSEYES | PEPPERPROOF //monkestation edit @@ -293,9 +293,9 @@ icon_state = "thunderdome" inhand_icon_state = "thunderdome_helmet" armor_type = /datum/armor/helmet_thunderdome - cold_protection = HEAD + min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT strip_delay = 80 dog_fashion = null @@ -311,8 +311,8 @@ acid = 90 /obj/item/clothing/head/helmet/thunderdome/holosuit - cold_protection = null - heat_protection = null + max_heat_protection_temperature = null + min_cold_protection_temperature = null armor_type = /datum/armor/thunderdome_holosuit /datum/armor/thunderdome_holosuit @@ -509,7 +509,7 @@ icon_state = "rus_ushanka" inhand_icon_state = "rus_ushanka" body_parts_covered = HEAD - cold_protection = HEAD + min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT armor_type = /datum/armor/helmet_rus_ushanka diff --git a/code/modules/clothing/head/moth.dm b/code/modules/clothing/head/moth.dm index d91d58208c6834..04ba774b531951 100644 --- a/code/modules/clothing/head/moth.dm +++ b/code/modules/clothing/head/moth.dm @@ -4,7 +4,7 @@ icon_state = "mothcap" icon = 'icons/obj/clothing/head/moth.dmi' worn_icon = 'icons/mob/clothing/head/moth.dmi' - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT flags_cover = HEADCOVERSEYES flags_inv = HIDEHAIR diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index df868a09db2012..e760afdc616a53 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -7,6 +7,7 @@ slot_flags = ITEM_SLOT_MASK strip_delay = 40 equip_delay_other = 40 + blood_overlay_type = "mask" supports_variations_flags = CLOTHING_SNOUTED_VARIATION var/modifies_speech = FALSE var/mask_adjusted = FALSE @@ -55,8 +56,9 @@ if(body_parts_covered & HEAD) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedmask") - if(GET_ATOM_BLOOD_DNA_LENGTH(src)) - . += mutable_appearance('icons/effects/blood.dmi', "maskblood") + +/obj/item/clothing/mask/appears_bloody() + return ..() && (body_parts_covered & HEAD) /obj/item/clothing/mask/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index d4d5379c6e3cd5..8431673288a634 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -5,6 +5,7 @@ slot_flags = ITEM_SLOT_NECK strip_delay = 40 equip_delay_other = 40 + blood_overlay_type = "mask" /obj/item/clothing/neck/worn_overlays(mutable_appearance/standing, isinhands = FALSE) . = ..() @@ -14,8 +15,9 @@ if(body_parts_covered & HEAD) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedmask") - if(GET_ATOM_BLOOD_DNA_LENGTH(src)) - . += mutable_appearance('icons/effects/blood.dmi', "maskblood") + +/obj/item/clothing/neck/appears_bloody() + return ..() && (body_parts_covered & HEAD) /obj/item/clothing/neck/bowtie name = "bow tie" diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index d69460e6a1ce04..ec9025e177f39c 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -13,6 +13,7 @@ armor_type = /datum/armor/clothing_shoes slowdown = SHOES_SLOWDOWN strip_delay = 1 SECONDS + blood_overlay_type = "shoe" var/offset = 0 var/equipped_before_drop = FALSE ///Whether these shoes have laces that can be tied/untied @@ -53,11 +54,6 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe") - if(GET_ATOM_BLOOD_DNA_LENGTH(src)) - if(clothing_flags & LARGE_WORN_ICON) - . += mutable_appearance('icons/effects/64x64.dmi', "shoeblood_large") - else - . += mutable_appearance('icons/effects/blood.dmi', "shoeblood") /obj/item/clothing/shoes/examine(mob/user) . = ..() diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm index 4b7c16292f766c..4a73682e3a1ab0 100644 --- a/code/modules/clothing/shoes/boots.dm +++ b/code/modules/clothing/shoes/boots.dm @@ -75,9 +75,9 @@ icon_state = "winterboots" inhand_icon_state = null armor_type = /datum/armor/shoes_winterboots - cold_protection = FEET|LEGS + min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET|LEGS + max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT lace_time = 8 SECONDS diff --git a/code/modules/clothing/shoes/cult.dm b/code/modules/clothing/shoes/cult.dm index 80d03d3a09e259..a3e93631f04ddf 100644 --- a/code/modules/clothing/shoes/cult.dm +++ b/code/modules/clothing/shoes/cult.dm @@ -3,9 +3,9 @@ desc = "A pair of boots worn by the followers of Nar'Sie." icon_state = "cult" inhand_icon_state = null - cold_protection = FEET + min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET + max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT lace_time = 10 SECONDS diff --git a/code/modules/clothing/shoes/sneakers.dm b/code/modules/clothing/shoes/sneakers.dm index 954925ffad5b6e..9600d4206b738c 100644 --- a/code/modules/clothing/shoes/sneakers.dm +++ b/code/modules/clothing/shoes/sneakers.dm @@ -22,9 +22,9 @@ desc = "A pair of black shoes." custom_price = PAYCHECK_CREW - cold_protection = FEET + min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET + max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT /obj/item/clothing/shoes/sneakers/brown diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 32b50115c65c1a..2c2f141c6be486 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -13,9 +13,9 @@ armor_type = /datum/armor/helmet_space flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT clothing_traits = list(TRAIT_SNOWSTORM_IMMUNE) - cold_protection = HEAD + min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT flash_protect = FLASH_PROTECTION_WELDER strip_delay = 50 @@ -49,9 +49,9 @@ slowdown = 1 armor_type = /datum/armor/suit_space flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT strip_delay = 80 equip_delay_other = 80 @@ -121,7 +121,10 @@ // If we got here, it means thermals are on, the cell is in and the cell has // just had enough charge subtracted from it to power the thermal regulator - user.adjust_bodytemperature(get_temp_change_amount((temperature_setting - user.bodytemperature), 0.08 * seconds_per_tick)) + if(user.bodytemperature < temperature_setting) + user.adjust_bodytemperature((temperature_setting - user.bodytemperature) * 0.08 * seconds_per_tick, max_temp = temperature_setting) + else if(user.bodytemperature > temperature_setting) + user.adjust_bodytemperature((temperature_setting - user.bodytemperature) * 0.08 * seconds_per_tick, min_temp = temperature_setting) update_hud_icon(user) // Clean up the cell on destroy @@ -290,12 +293,12 @@ /obj/item/clothing/head/helmet/space/suicide_act(mob/living/carbon/user) var/datum/gas_mixture/environment = user.loc.return_air() - if(HAS_TRAIT(user, TRAIT_RESISTCOLD) || !environment || environment.return_temperature() >= user.get_body_temp_cold_damage_limit()) + if(HAS_TRAIT(user, TRAIT_RESISTCOLD) || !environment || environment.return_temperature() >= user.bodytemp_cold_damage_limit) user.visible_message(span_suicide("[user] is beating [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS user.say("You want proof? I'll give you proof! Here's proof of what'll happen to you if you stay here with your stuff!", forced = "space helmet suicide") user.visible_message(span_suicide("[user] is removing [user.p_their()] helmet to make a point! Yo, holy shit, [user.p_they()] dead!")) //the use of p_they() instead of p_their() here is intentional - user.adjust_bodytemperature(-300) + user.adjust_bodytemperature(-INFINITY, min_temp = CELCIUS_TO_KELVIN(-225 CELCIUS)) user.apply_status_effect(/datum/status_effect/freon) if(!ishuman(user)) return FIRELOSS diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index 0e9efa5b3fb94f..8630f573f31e2c 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -14,7 +14,7 @@ drop_sound = 'sound/items/handling/cloth_drop.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' slot_flags = ITEM_SLOT_OCLOTHING - var/blood_overlay_type = "suit" + blood_overlay_type = "suit" limb_integrity = 0 // disabled for most exo-suits var/suittoggled = FALSE // sec duster toggling and more supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION @@ -30,8 +30,6 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damaged[blood_overlay_type]") - if(GET_ATOM_BLOOD_DNA_LENGTH(src)) - . += mutable_appearance('icons/effects/blood.dmi', "[blood_overlay_type]blood") var/mob/living/carbon/human/wearer = loc if(!ishuman(wearer) || !wearer.w_uniform) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index b6a8add54370f0..85de34946d4b8a 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -3,9 +3,9 @@ worn_icon = 'icons/mob/clothing/suits/armor.dmi' allowed = null body_parts_covered = CHEST - cold_protection = CHEST|GROIN + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT strip_delay = 60 equip_delay_other = 40 @@ -71,9 +71,9 @@ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS armor_type = /datum/armor/vest_marine - cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + resistance_flags = FIRE_PROOF | ACID_PROOF /datum/armor/vest_marine @@ -146,8 +146,8 @@ inhand_icon_state = "greatcoat" body_parts_covered = CHEST|GROIN|ARMS|LEGS armor_type = /datum/armor/armor_hos - cold_protection = CHEST|GROIN|LEGS|ARMS - heat_protection = CHEST|GROIN|LEGS|ARMS + + strip_delay = 80 /datum/armor/armor_hos @@ -193,8 +193,8 @@ icon_state = "warden_alt" inhand_icon_state = "armor" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS|HANDS - heat_protection = CHEST|GROIN|ARMS|HANDS + + strip_delay = 70 resistance_flags = FLAMMABLE dog_fashion = null @@ -210,8 +210,8 @@ icon_state = "leathercoat-sec" inhand_icon_state = "hostrench" body_parts_covered = CHEST|GROIN|ARMS|LEGS - cold_protection = CHEST|GROIN|LEGS|ARMS - heat_protection = CHEST|GROIN|LEGS|ARMS + + dog_fashion = null /obj/item/clothing/suit/armor/vest/capcarapace @@ -256,8 +256,8 @@ icon_state = "riot" inhand_icon_state = "swat_suit" body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + + armor_type = /datum/armor/armor_riot clothing_flags = BLOCKS_SHOVE_KNOCKDOWN strip_delay = 80 @@ -318,8 +318,8 @@ inhand_icon_state = "armor_reflec" blood_overlay_type = "armor" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS - heat_protection = CHEST|GROIN|ARMS + + armor_type = /datum/armor/armor_laserproof resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/hit_reflect_chance = 50 @@ -358,9 +358,9 @@ strip_delay = 120 resistance_flags = FIRE_PROOF | ACID_PROOF clothing_flags = THICKMATERIAL - cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF - heat_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT slowdown = 0.5 //monkestation edit, 0.7 to 0.5 body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -404,8 +404,8 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT clothing_flags = THICKMATERIAL - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + + armor_type = /datum/armor/armor_tdome /datum/armor/armor_tdome @@ -433,8 +433,8 @@ /obj/item/clothing/suit/armor/tdome/holosuit name = "thunderdome suit" armor_type = /datum/armor/tdome_holosuit - cold_protection = null - heat_protection = null + max_heat_protection_temperature = null + min_cold_protection_temperature = null /datum/armor/tdome_holosuit melee = 10 @@ -527,7 +527,7 @@ icon_state = "rus_coat" inhand_icon_state = null body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT armor_type = /datum/armor/vest_russian_coat dog_fashion = null @@ -551,8 +551,8 @@ material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS//Can change color and add prefix armor_type = /datum/armor/armor_elder_atmosian body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + + /obj/item/clothing/suit/armor/elder_atmosian/Initialize(mapload) . = ..() @@ -607,7 +607,7 @@ icon_state = "militia" inhand_icon_state = "b_suit" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor_type = /datum/armor/coat_militia diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm index eb99688de85ec9..7d1f5f52e462bb 100644 --- a/code/modules/clothing/suits/costume.dm +++ b/code/modules/clothing/suits/costume.dm @@ -246,7 +246,7 @@ worn_icon = 'icons/mob/clothing/suits/costume.dmi' inhand_icon_state = "labcoat" body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/gun/ballistic/rifle/boltaction/harpoon) hoodtype = /obj/item/clothing/head/hooded/carp_hood @@ -258,7 +258,7 @@ worn_icon = 'icons/mob/clothing/head/costume.dmi' icon_state = "carp_casual" body_parts_covered = HEAD - cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT flags_inv = HIDEHAIR|HIDEEARS @@ -280,9 +280,9 @@ armor_type = /datum/armor/carp_costume_spaceproof allowed = list(/obj/item/tank/internals, /obj/item/gun/ballistic/rifle/boltaction/harpoon) //I'm giving you a hint here flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT clothing_flags = STOPSPRESSUREDAMAGE|THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -302,7 +302,7 @@ armor_type = /datum/armor/carp_hood_spaceproof flags_inv = HIDEEARS|HIDEHAIR|HIDEFACIALHAIR //facial hair will clip with the helm, this'll need a dynamic_fhair_suffix at some point. min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT clothing_flags = STOPSPRESSUREDAMAGE|THICKMATERIAL|SNUG_FIT|PLASMAMAN_HELMET_EXEMPT body_parts_covered = HEAD @@ -333,7 +333,7 @@ worn_icon = 'icons/mob/clothing/suits/costume.dmi' inhand_icon_state = "labcoat" body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET - //cold_protection = CHEST|GROIN|ARMS + // //min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT allowed = list() hoodtype = /obj/item/clothing/head/hooded/ian_hood @@ -346,7 +346,7 @@ worn_icon = 'icons/mob/clothing/head/costume.dmi' icon_state = "ian" body_parts_covered = HEAD - //cold_protection = HEAD + // //min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT flags_inv = HIDEHAIR|HIDEEARS diff --git a/code/modules/clothing/suits/jacket.dm b/code/modules/clothing/suits/jacket.dm index ae2cb14caa2c3b..4b8db205299559 100644 --- a/code/modules/clothing/suits/jacket.dm +++ b/code/modules/clothing/suits/jacket.dm @@ -12,7 +12,7 @@ /obj/item/storage/belt/holster, ) body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT species_exception = list(/datum/species/golem) @@ -41,7 +41,7 @@ desc = "Rated 10 out of 10 in Cosmo for best coat brand." icon_state = "fancy_coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS - cold_protection = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON greyscale_config = /datum/greyscale_config/fancy_coat @@ -87,7 +87,7 @@ icon_state = "puffervest" inhand_icon_state = "armor" body_parts_covered = CHEST|GROIN - cold_protection = CHEST|GROIN + armor_type = /datum/armor/puffer_vest /datum/armor/puffer_vest diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index fb05df7e26d383..264de3ba63f0b6 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -106,8 +106,8 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|ARMS armor_type = /datum/armor/jacket_det_suit - cold_protection = CHEST|GROIN|ARMS - heat_protection = CHEST|GROIN|ARMS + + /datum/armor/jacket_det_suit melee = 25 @@ -292,8 +292,8 @@ /obj/item/tank/internals, ) armor_type = /datum/armor/jacket_curator - cold_protection = CHEST|ARMS - heat_protection = CHEST|ARMS + + //Robotocist /datum/armor/jacket_curator diff --git a/code/modules/clothing/suits/moth.dm b/code/modules/clothing/suits/moth.dm index a3e789daa24535..65b9572a0ebff1 100644 --- a/code/modules/clothing/suits/moth.dm +++ b/code/modules/clothing/suits/moth.dm @@ -27,6 +27,6 @@ greyscale_config_worn = /datum/greyscale_config/mothcoat_winter_worn greyscale_colors = "#557979#795e55" body_parts_covered = CHEST|GROIN|ARMS|LEGS - cold_protection = CHEST|GROIN|ARMS|LEGS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index c867349f6564a3..7e3cd62ac77d7f 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -31,9 +31,9 @@ armor_type = /datum/armor/utility_fire flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT strip_delay = 60 equip_delay_other = 60 @@ -57,8 +57,8 @@ /obj/item/clothing/suit/utility/fire/firefighter icon_state = "firesuit" inhand_icon_state = "firefighter" - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS + + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS /obj/item/clothing/suit/utility/fire/heavy @@ -74,8 +74,8 @@ icon_state = "atmos_firesuit" inhand_icon_state = "firefighter_atmos" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS + + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS flags_inv = HIDESHOES|HIDEJUMPSUIT @@ -90,9 +90,9 @@ armor_type = /datum/armor/utility_bomb_hood flags_inv = HIDEFACE|HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT - cold_protection = HEAD + min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 70 equip_delay_other = 70 @@ -119,9 +119,9 @@ slowdown = 2 armor_type = /datum/armor/utility_bomb_suit flags_inv = HIDEJUMPSUIT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT strip_delay = 70 equip_delay_other = 70 diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index d4461b8812f19a..51a85dbac59d1b 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -7,7 +7,7 @@ worn_icon = 'icons/mob/clothing/suits/wintercoat.dmi' inhand_icon_state = "coatwinter" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT allowed = list() armor_type = /datum/armor/hooded_wintercoat @@ -36,7 +36,7 @@ icon_state = "hood_winter" worn_icon = 'icons/mob/clothing/head/winterhood.dmi' body_parts_covered = HEAD - cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT flags_inv = HIDEHAIR|HIDEEARS armor_type = /datum/armor/hooded_winterhood diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 9b6b70f9dd7cc0..2e5cae08d5da25 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -11,6 +11,7 @@ drop_sound = 'sound/items/handling/cloth_drop.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' limb_integrity = 30 + blood_overlay_type = "uniform" /// Has this undersuit been freshly laundered and, as such, imparts a mood bonus for wearing var/freshly_laundered = FALSE @@ -88,8 +89,6 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform") - if(GET_ATOM_BLOOD_DNA_LENGTH(src)) - . += mutable_appearance('icons/effects/blood.dmi', "uniformblood") if(accessory_overlay) . += accessory_overlay diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index 16ad9ba6e9ebc0..5e54cd640a1174 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -228,7 +228,7 @@ icon_state = "red_mech_suit" inhand_icon_state = null body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + female_sprite_flags = NO_FEMALE_UNIFORM alternate_worn_layer = GLOVES_LAYER //covers hands but gloves can go over it. This is how these things work in my head. can_adjust = FALSE diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm index 1e459604e205e0..315c27675d6afe 100644 --- a/code/modules/clothing/under/jobs/civilian/curator.dm +++ b/code/modules/clothing/under/jobs/civilian/curator.dm @@ -41,9 +41,9 @@ w_class = WEIGHT_CLASS_BULKY armor_type = /datum/armor/curator_nasa body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST | GROIN | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected. + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT can_adjust = FALSE resistance_flags = NONE diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 68749df3ed0b22..fc3a0ce814afc9 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -50,9 +50,9 @@ desc = "A cybernetically enhanced jumpsuit used for administrative duties." body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS armor_type = /datum/armor/misc_adminsuit - cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT can_adjust = FALSE resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 47734b398ab893..7da9153548ad38 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -169,7 +169,7 @@ for(var/bloodtype in blood) LAZYADD(det_data[DETSCAN_CATEGORY_BLOOD], \ - "Type: [blood[bloodtype]] DNA (UE): [bloodtype]") + "Type: [GLOB.blood_types[blood[bloodtype]]] DNA (UE): [bloodtype]") // sends it off to be modified by the items SEND_SIGNAL(scanned_atom, COMSIG_DETECTIVE_SCANNED, user, det_data) diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 7c0b9b346d36b4..eb98bd58f39e90 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -382,14 +382,14 @@ if(pizza.type != pizza_preferences[nommer.ckey]) QDEL_NULL(pizza) else - pizza.foodtypes = nommer.dna.species.liked_food //make sure it's our favourite + pizza.foodtypes = nommer.get_liked_foodtypes() //make sure it's our favourite return var/obj/item/food/pizza/favourite_pizza_type = pizza_preferences[nommer.ckey] pizza = new favourite_pizza_type boxtag_set = FALSE update_appearance() //update our boxtag to match our new pizza - pizza.foodtypes = nommer.dna.species.liked_food //it's our favorite! + pizza.foodtypes = nommer.get_liked_foodtypes() //it's our favorite! ///screentips for pizzaboxes /obj/item/pizzabox/add_context(atom/source, list/context, obj/item/held_item, mob/user) diff --git a/code/modules/forensics/forensics_helpers.dm b/code/modules/forensics/forensics_helpers.dm index 081d6f25d4f1e2..90624dc7491b13 100644 --- a/code/modules/forensics/forensics_helpers.dm +++ b/code/modules/forensics/forensics_helpers.dm @@ -67,13 +67,14 @@ return FALSE /obj/add_blood_DNA(list/blood_DNA_to_add) - . = ..() if (isnull(blood_DNA_to_add)) - return . + return FALSE if (forensics) forensics.inherit_new(blood_DNA = blood_DNA_to_add) else forensics = new(src, blood_DNA = blood_DNA_to_add) + cached_blood_dna_color = null + update_appearance() return TRUE /obj/item/add_blood_DNA(list/blood_DNA_to_add) @@ -82,8 +83,10 @@ return ..() /obj/item/clothing/gloves/add_blood_DNA(list/blood_dna, list/datum/disease/diseases) - transfer_blood = rand(2, 4) - return ..() + . = ..() + if(.) + transfer_blood = rand(2, 4) + return . /turf/add_blood_DNA(list/blood_dna, list/datum/disease/diseases) var/obj/effect/decal/cleanable/blood/splatter/blood_splatter = locate() in src @@ -109,6 +112,7 @@ forensics = new(src) forensics.inherit_new(blood_DNA = blood_DNA_to_add) blood_in_hands = rand(2, 4) + cached_blood_dna_color = null update_worn_gloves() return TRUE diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm index be51fe2d9e9898..5a2c84b026af97 100644 --- a/code/modules/hydroponics/grown/replicapod.dm +++ b/code/modules/hydroponics/grown/replicapod.dm @@ -191,8 +191,9 @@ podman.ckey = ckey_holder podman.gender = blood_gender podman.faction |= factions - if(!features["mcolor"]) - features["mcolor"] = "#59CE00" + var/datum/color_palette/generic_colors/palette = podman.dna.color_palettes[/datum/color_palette/generic_colors] + if(!palette.mutant_color) + palette.mutant_color = "#59CE00" if(!features["pod_hair"]) features["pod_hair"] = pick(GLOB.pod_hair_list) @@ -208,6 +209,6 @@ most_plentiful_reagent.Cut() most_plentiful_reagent[reagent] = reagents_add[reagent] - podman.dna.species.exotic_blood = most_plentiful_reagent[1] + //podman.dna.species.exotic_blood = most_plentiful_reagent[1] //Monkestation edit BLOOD_DATUM: This needs to be looked into investigate_log("[key_name(mind)] cloned as a podman via [src] in [parent]", INVESTIGATE_BOTANY) return result diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 0da6d6a811a40f..84b2ee49b7abe3 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -342,7 +342,7 @@ var/amount = max(1, round((edible_vol)*(potency/100) * reagent_overflow_mod, 1)) //the plant will always have at least 1u of each of the reagents in its reagent production traits var/list/data if(rid == /datum/reagent/blood) // Hack to make blood in plants always O- - data = list("blood_type" = "O-") + data = list("blood_type" = /datum/blood_type/crew/human/o_minus) if(istype(grown_edible) && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin)) data = grown_edible.tastes // apple tastes of apple. T.reagents.add_reagent(rid, amount, data) diff --git a/code/modules/hydroponics/unique_plant_genes.dm b/code/modules/hydroponics/unique_plant_genes.dm index 938ecadb78d838..f2c318faa81fb7 100644 --- a/code/modules/hydroponics/unique_plant_genes.dm +++ b/code/modules/hydroponics/unique_plant_genes.dm @@ -303,8 +303,8 @@ stop_backfire_effect() return - our_mob.adjust_bodytemperature(7.5 * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick) - if(SPT_PROB(5, seconds_per_tick)) + our_mob.adjust_bodytemperature(0.5 KELVIN * seconds_per_tick) + if(!HAS_TRAIT(our_mob, TRAIT_RESISTHEAT) && SPT_PROB(5, seconds_per_tick)) to_chat(our_mob, span_warning("Your hand holding [our_plant] burns!")) /// Bluespace Tomato squashing on the user on backfire @@ -433,7 +433,7 @@ var/obj/item/seeds/our_seed = our_plant.get_plant_seed() var/mob/living/spawned_mob = new killer_plant(our_plant.drop_location()) var/health_mid_point = 150 - var/health_max_value = 40 + var/health_max_value = 40 spawned_mob.maxHealth += qp_sigmoid(health_mid_point, health_max_value, our_seed.endurance) spawned_mob.health = spawned_mob.maxHealth if(ishostile(spawned_mob)) diff --git a/code/modules/instruments/songs/_song.dm b/code/modules/instruments/songs/_song.dm index 3067bc8a426f7f..7922a4d35833f6 100644 --- a/code/modules/instruments/songs/_song.dm +++ b/code/modules/instruments/songs/_song.dm @@ -123,6 +123,8 @@ var/cached_exponential_dropoff = 1.045 ///////////////////////////////////////////////////////////////////////// var/mixing_channel = CHANNEL_INSTRUMENTS + ///care about distance? + var/cares_about_distance = TRUE /datum/song/New(atom/parent, list/instrument_ids, new_range) SSinstruments.on_song_new(src) diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm index 6f4bdc060049b3..7297720afc4661 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -115,10 +115,11 @@ updateDialog(usr) // make sure updates when complete /datum/song/Topic(href, href_list) - if(!usr.can_perform_action(parent, ALLOW_RESTING)) - usr << browse(null, "window=instrument") - usr.unset_machine() - return + if(cares_about_distance) + if(!usr.can_perform_action(parent, ALLOW_RESTING)) + usr << browse(null, "window=instrument") + usr.unset_machine() + return parent.add_fingerprint(usr) @@ -131,7 +132,7 @@ var/t = "" do t = html_encode(input(usr, "Please paste the entire song, formatted:", text("[]", name), t) as message) - if(!in_range(parent, usr)) + if(!in_range(parent, usr) && cares_about_distance) return if(length_char(t) >= MUSIC_MAXLINES * MUSIC_MAXLINECHARS) @@ -158,7 +159,7 @@ else if(href_list["newline"]) var/newline = tgui_input_text(usr, "Enter your line ", parent.name) - if(!newline || !in_range(parent, usr)) + if(!newline || (!in_range(parent, usr) && cares_about_distance)) return if(lines.len > MUSIC_MAXLINES) return @@ -175,7 +176,7 @@ else if(href_list["modifyline"]) var/num = round(text2num(href_list["modifyline"]),1) var/content = tgui_input_text(usr, "Enter your line ", parent.name, lines[num], MUSIC_MAXLINECHARS) - if(!content || !in_range(parent, usr)) + if(!content || (!in_range(parent, usr) && cares_about_distance)) return if(num > lines.len || num < 1) return diff --git a/code/modules/jobs/job_types/chaplain/chaplain_costumes.dm b/code/modules/jobs/job_types/chaplain/chaplain_costumes.dm index c0751b2e3d1bee..669a038bbfa8c4 100644 --- a/code/modules/jobs/job_types/chaplain/chaplain_costumes.dm +++ b/code/modules/jobs/job_types/chaplain/chaplain_costumes.dm @@ -7,8 +7,8 @@ /obj/item/clothing/suit/chaplainsuit/armor body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + + armor_type = /datum/armor/chaplainsuit_armor clothing_flags = BLOCKS_SHOVE_KNOCKDOWN strip_delay = 80 diff --git a/code/modules/jobs/job_types/chaplain/chaplain_divine_archer.dm b/code/modules/jobs/job_types/chaplain/chaplain_divine_archer.dm index 48bdf25a22f263..d88fb2f35906c0 100644 --- a/code/modules/jobs/job_types/chaplain/chaplain_divine_archer.dm +++ b/code/modules/jobs/job_types/chaplain/chaplain_divine_archer.dm @@ -17,8 +17,8 @@ icon_state = "archercoat" inhand_icon_state = "archercoat" body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + + armor_type = /datum/armor/chaplainsuit_armor_weaker clothing_flags = BLOCKS_SHOVE_KNOCKDOWN strip_delay = 80 diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index 62e7dc9e2058f4..6c7db70591936e 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -10,9 +10,9 @@ spawn_positions = 1 supervisors = SUPERVISOR_HOS minimal_player_age = 7 - exp_requirements = 300 + exp_requirements = 600 //monkestation edit changed warden to require 10 hours as sec instead of 5 hours as crew exp_required_type = EXP_TYPE_CREW - exp_granted_type = EXP_TYPE_CREW + exp_required_type_department = EXP_TYPE_SECURITY config_tag = "WARDEN" outfit = /datum/outfit/job/warden @@ -49,7 +49,7 @@ id_trim = /datum/id_trim/job/warden uniform = /obj/item/clothing/under/rank/security/warden suit = /obj/item/clothing/suit/armor/vest/warden/alt - suit_store = /obj/item/gun/energy/disabler + suit_store = /obj/item/gun/energy/taser backpack_contents = list( /obj/item/evidencebag = 1, ) diff --git a/code/modules/mapfluff/ruins/icemoonruin_code/wrath.dm b/code/modules/mapfluff/ruins/icemoonruin_code/wrath.dm index f5db91dad016db..ae25cf6f2f4bcf 100644 --- a/code/modules/mapfluff/ruins/icemoonruin_code/wrath.dm +++ b/code/modules/mapfluff/ruins/icemoonruin_code/wrath.dm @@ -3,9 +3,9 @@ desc = "These gloves allow the user to rip apart bodies with precision and ease." icon_state = "black" greyscale_colors = "#2f2e31" - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT /obj/item/clothing/gloves/butchering/Initialize(mapload) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 65b80f0196d0df..82cb1c63b97cb0 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -7,9 +7,9 @@ worn_icon = 'icons/mob/clothing/suits/utility.dmi' inhand_icon_state = null body_parts_covered = CHEST|GROIN|LEGS|ARMS - cold_protection = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT hoodtype = /obj/item/clothing/head/hooded/explorer armor_type = /datum/armor/hooded_explorer @@ -43,9 +43,9 @@ icon_state = "explorer" body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT armor_type = /datum/armor/hooded_explorer resistance_flags = FIRE_PROOF @@ -198,9 +198,9 @@ armor_type = /datum/armor/cloak_drake hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF transparent_protection = HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES @@ -223,9 +223,9 @@ desc = "The skull of a dragon." armor_type = /datum/armor/cloakhood_drake clothing_flags = SNUG_FIT - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -256,9 +256,9 @@ armor_type = /datum/armor/cloak_godslayer clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL hoodtype = /obj/item/clothing/head/hooded/cloakhood/godslayer - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS resistance_flags = FIRE_PROOF | ACID_PROOF | FREEZE_PROOF @@ -289,9 +289,9 @@ desc = "The horns and skull of a wendigo, held together by the remaining icey energy of a demonic miner." armor_type = /datum/armor/cloakhood_godslayer clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT flash_protect = FLASH_PROTECTION_WELDER flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index bd4ee168cb7d0a..a6c30b990a8e8c 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -255,9 +255,9 @@ icon_state = "hostile_env" hoodtype = /obj/item/clothing/head/hooded/hostile_environment armor_type = /datum/armor/hooded_hostile_environment - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS clothing_flags = THICKMATERIAL @@ -300,9 +300,9 @@ icon_state = "hostile_env" w_class = WEIGHT_CLASS_NORMAL armor_type = /datum/armor/hooded_hostile_environment - cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT clothing_flags = SNUG_FIT|THICKMATERIAL resistance_flags = FIRE_PROOF|LAVA_PROOF|ACID_PROOF @@ -735,8 +735,9 @@ switch(random) if(1) to_chat(user, span_danger("Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.")) + var/datum/color_palette/generic_colors/located = consumer.dna.color_palettes[/datum/color_palette/generic_colors] + located.mutant_color = "#A02720" consumer.dna.features = list( - "mcolor" = "#A02720", "tail_lizard" = "Dark Tiger", "tail_human" = "None", "snout" = "Sharp", diff --git a/code/modules/mining/lavaland/tendril_loot.dm b/code/modules/mining/lavaland/tendril_loot.dm index 723d5300425fd5..1475b2caf3fb2c 100644 --- a/code/modules/mining/lavaland/tendril_loot.dm +++ b/code/modules/mining/lavaland/tendril_loot.dm @@ -543,7 +543,7 @@ if(!ishuman(exposed_mob) || exposed_mob.stat == DEAD) return var/mob/living/carbon/human/exposed_human = exposed_mob - if(!HAS_TRAIT(exposed_human, TRAIT_CAN_USE_FLIGHT_POTION) || reac_volume < 5 || !exposed_human.dna) + if(reac_volume < 5 || !exposed_human.dna) if((methods & INGEST) && show_message) to_chat(exposed_human, span_notice("You feel nothing but a terrible aftertaste.")) return @@ -560,7 +560,8 @@ exposed_human.emote("scream") /datum/reagent/flightpotion/proc/get_wing_choice(mob/living/carbon/human/needs_wings) - var/list/wing_types = needs_wings.dna.species.wing_types.Copy() + var/obj/item/bodypart/chest/chest = needs_wings.get_bodypart(BODY_ZONE_CHEST) + var/list/wing_types = chest.wing_types.Copy() if(wing_types.len == 1 || !needs_wings.client) return wing_types[1] var/list/radial_wings = list() @@ -615,9 +616,9 @@ toolspeed = 0.1 strip_delay = 40 equip_delay_other = 20 - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = LAVA_PROOF | FIRE_PROOF //they are from lavaland after all armor_type = /datum/armor/gloves_gauntlets @@ -664,9 +665,9 @@ worn_icon = 'icons/mob/clothing/suits/armor.dmi' hoodtype = /obj/item/clothing/head/hooded/berserker armor_type = /datum/armor/hooded_berserker - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS resistance_flags = FIRE_PROOF @@ -711,9 +712,9 @@ worn_icon = 'icons/mob/clothing/head/helmet.dmi' armor_type = /datum/armor/hooded_berserker actions_types = list(/datum/action/item_action/berserk_mode) - cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF clothing_flags = SNUG_FIT|THICKMATERIAL diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 18a4e63e6eda1a..11c84bb0677637 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -285,9 +285,11 @@ if(QDELETED(src) || !client) return // Disconnected while checking for the appearance ban. if(!isAI(spawning_mob)) // Unfortunately there's still snowflake AI code out there. - mind.original_character_slot_index = client.prefs.default_slot - mind.transfer_to(spawning_mob) //won't transfer key since the mind is not active - mind.set_original_character(spawning_mob) + // transfer_to sets mind to null + var/datum/mind/preserved_mind = mind + preserved_mind.original_character_slot_index = client.prefs.default_slot + preserved_mind.transfer_to(spawning_mob) //won't transfer key since the mind is not active + preserved_mind.set_original_character(spawning_mob) client.init_verbs() . = spawning_mob new_character = . diff --git a/code/modules/mob/dead/new_player/sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories.dm index 08608f33a0423c..1426e4648449f7 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -81,6 +81,11 @@ /// Should this sprite block emissives? var/em_block = FALSE + var/datum/color_palette/palette + var/palette_key + var/fallback_key + var/list/layers + /datum/sprite_accessory/blank name = "None" icon_state = "None" @@ -1780,7 +1785,8 @@ MONKESTATION EDIT name = "Cat" icon = 'icons/mob/species/human/cat_features.dmi' icon_state = "default" - color_src = HAIR_COLOR + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/tails/monkey name = "Monkey" @@ -1891,15 +1897,17 @@ MONKESTATION EDIT name = "Cat" icon_state = "cat" hasinner = TRUE - color_src = HAIR_COLOR + palette = /datum/color_palette/generic_colors + palette_key = HAIR_COLOR /datum/sprite_accessory/ears/fox icon = 'icons/mob/species/human/fox_features.dmi' name = "Fox" icon_state = "fox" hasinner = TRUE - color_src = HAIR_COLOR locked = TRUE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/wings/none name = "None" @@ -2092,8 +2100,9 @@ MONKESTATION EDIT /datum/sprite_accessory/caps icon = 'icons/mob/species/mush_cap.dmi' - color_src = HAIR_COLOR em_block = TRUE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/caps/round name = "Round" diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index d6a9075abf8020..3e8254563d6c8e 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -187,7 +187,7 @@ return FALSE //nonliving mobs don't have hands /mob/living/put_in_hand_check(obj/item/I) - if(istype(I) && (((mobility_flags & MOBILITY_PICKUP) || ((stat >= SOFT_CRIT && (stat != DEAD && stat != UNCONSCIOUS)))) || (I.item_flags & ABSTRACT)) \ + if(istype(I) && (((mobility_flags & MOBILITY_PICKUP) || ((stat >= SOFT_CRIT && (stat != DEAD && stat != UNCONSCIOUS && stat != HARD_CRIT)))) || (I.item_flags & ABSTRACT)) \ && !(SEND_SIGNAL(src, COMSIG_LIVING_TRY_PUT_IN_HAND, I) & COMPONENT_LIVING_CANT_PUT_IN_HAND)) return TRUE return FALSE diff --git a/code/modules/mob/living/basic/basic.dm b/code/modules/mob/living/basic/basic.dm index 299a2c2856bc19..c26c94456ff8aa 100644 --- a/code/modules/mob/living/basic/basic.dm +++ b/code/modules/mob/living/basic/basic.dm @@ -91,10 +91,8 @@ ///This damage is taken when atmos doesn't fit all the requirements above. Set to 0 to avoid adding the atmos_requirements element. var/unsuitable_atmos_damage = 1 - ///Minimal body temperature without receiving damage - var/minimum_survivable_temperature = NPC_DEFAULT_MIN_TEMP - ///Maximal body temperature without receiving damage - var/maximum_survivable_temperature = NPC_DEFAULT_MAX_TEMP + bodytemp_cold_damage_limit = NPC_DEFAULT_MIN_TEMP + bodytemp_heat_damage_limit = NPC_DEFAULT_MAX_TEMP ///This damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the basic_body_temp_sensitive element. var/unsuitable_cold_damage = 1 ///This damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the basic_body_temp_sensitive element. @@ -120,7 +118,6 @@ speak_emote = string_list(speak_emote) apply_atmos_requirements() - apply_temperature_requirements() /// Ensures this mob can take atmospheric damage if it's supposed to /mob/living/basic/proc/apply_atmos_requirements() @@ -130,12 +127,36 @@ habitable_atmos = string_assoc_list(habitable_atmos) AddElement(/datum/element/atmos_requirements, habitable_atmos, unsuitable_atmos_damage) -/// Ensures this mob can take temperature damage if it's supposed to -/mob/living/basic/proc/apply_temperature_requirements() - if(unsuitable_cold_damage == 0 && unsuitable_heat_damage == 0) - return - AddElement(/datum/element/basic_body_temp_sensitive, minimum_survivable_temperature, maximum_survivable_temperature, unsuitable_cold_damage, unsuitable_heat_damage) +/mob/living/basic/body_temperature_damage(datum/gas_mixture/environment, seconds_per_tick, times_fired) + if((bodytemperature < bodytemp_cold_damage_limit) && unsuitable_cold_damage) + adjust_health(unsuitable_cold_damage * seconds_per_tick) + + if((bodytemperature > bodytemp_heat_damage_limit) && unsuitable_heat_damage) + adjust_health(unsuitable_heat_damage * seconds_per_tick) + +/mob/living/basic/body_temperature_alerts() + if((bodytemperature < bodytemp_cold_damage_limit) && unsuitable_cold_damage) + switch(unsuitable_cold_damage) + if(1 to 5) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) + if(5 to 10) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) + if(10 to INFINITY) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) + . = TRUE + + if((bodytemperature > bodytemp_heat_damage_limit) && unsuitable_heat_damage) + switch(unsuitable_heat_damage) + if(1 to 5) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) + if(5 to 10) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) + if(10 to INFINITY) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) + . = TRUE + if(!.) + clear_alert(ALERT_TEMPERATURE) /mob/living/basic/Life(seconds_per_tick = SSMOBS_DT, times_fired) . = ..() @@ -155,7 +176,7 @@ health = 0 look_dead() -/mob/living/basic/gib() +/mob/living/basic/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) if(butcher_results || guaranteed_butcher_results) var/list/butcher_loot = list() if(butcher_results) @@ -228,17 +249,11 @@ if(NAMEOF(src, habitable_atmos), NAMEOF(src, unsuitable_atmos_damage)) RemoveElement(/datum/element/atmos_requirements, habitable_atmos, unsuitable_atmos_damage) . = TRUE - if(NAMEOF(src, minimum_survivable_temperature), NAMEOF(src, maximum_survivable_temperature), NAMEOF(src, unsuitable_cold_damage), NAMEOF(src, unsuitable_heat_damage)) - RemoveElement(/datum/element/basic_body_temp_sensitive, minimum_survivable_temperature, maximum_survivable_temperature, unsuitable_cold_damage, unsuitable_heat_damage) - . = TRUE - . = ..() switch(vname) if(NAMEOF(src, habitable_atmos), NAMEOF(src, unsuitable_atmos_damage)) apply_atmos_requirements() - if(NAMEOF(src, minimum_survivable_temperature), NAMEOF(src, maximum_survivable_temperature), NAMEOF(src, unsuitable_cold_damage), NAMEOF(src, unsuitable_heat_damage)) - apply_temperature_requirements() if(NAMEOF(src, speed)) datum_flags |= DF_VAR_EDITED set_varspeed(vval) @@ -276,9 +291,6 @@ /mob/living/basic/on_stamina_update() set_varspeed(initial(speed) + (staminaloss * 0.06)) -/mob/living/basic/on_fire_stack(seconds_per_tick, times_fired, datum/status_effect/fire_handler/fire_stacks/fire_handler) - adjust_bodytemperature((maximum_survivable_temperature + (fire_handler.stacks * 12)) * 0.5 * seconds_per_tick) - /mob/living/basic/get_fire_overlay(stacks, on_fire) var/fire_icon = "generic_fire" if(!GLOB.fire_appearances[fire_icon]) @@ -306,9 +318,3 @@ SET_PLANE(held, ABOVE_HUD_PLANE, our_turf) held.screen_loc = ui_hand_position(index) client.screen |= held - -/mob/living/basic/get_body_temp_heat_damage_limit() - return maximum_survivable_temperature - -/mob/living/basic/get_body_temp_cold_damage_limit() - return minimum_survivable_temperature diff --git a/code/modules/mob/living/basic/basic_defense.dm b/code/modules/mob/living/basic/basic_defense.dm index 27ff06b8bd41cc..e4b51033dfcdeb 100644 --- a/code/modules/mob/living/basic/basic_defense.dm +++ b/code/modules/mob/living/basic/basic_defense.dm @@ -128,7 +128,7 @@ return TRUE /mob/living/basic/check_projectile_armor(def_zone, obj/projectile/impacting_projectile, is_silent) - return 0 + return impacting_projectile.grazing ? 50 : 0 /mob/living/basic/ex_act(severity, target, origin) . = ..() diff --git a/code/modules/mob/living/basic/blob_minions/blob_mob.dm b/code/modules/mob/living/basic/blob_minions/blob_mob.dm index 31eebb9394cbff..2465b83e67864e 100644 --- a/code/modules/mob/living/basic/blob_minions/blob_mob.dm +++ b/code/modules/mob/living/basic/blob_minions/blob_mob.dm @@ -11,8 +11,8 @@ bubble_icon = "blob" speak_emote = null habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY lighting_cutoff_red = 20 lighting_cutoff_green = 40 lighting_cutoff_blue = 30 diff --git a/code/modules/mob/living/basic/bots/_bots.dm b/code/modules/mob/living/basic/bots/_bots.dm index 26cf415c11d763..44724c980ab535 100644 --- a/code/modules/mob/living/basic/bots/_bots.dm +++ b/code/modules/mob/living/basic/bots/_bots.dm @@ -19,8 +19,8 @@ GLOBAL_LIST_INIT(command_strings, list( damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_BATT_HUD, DIAG_PATH_HUD = HUD_LIST_LIST) - maximum_survivable_temperature = INFINITY - minimum_survivable_temperature = 0 + bodytemp_heat_damage_limit = INFINITY + bodytemp_cold_damage_limit = -1 has_unlimited_silicon_privilege = TRUE sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush diff --git a/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm b/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm index 5da570369f17b8..2cdf99b9d2eda4 100644 --- a/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm +++ b/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm @@ -98,9 +98,7 @@ )) ///blood we can clean var/static/list/cleanable_blood = typecacheof(list( - /obj/effect/decal/cleanable/xenoblood, /obj/effect/decal/cleanable/blood, - /obj/effect/decal/cleanable/trail_holder, )) ///pests we hunt var/static/list/huntable_pests = typecacheof(list( diff --git a/code/modules/mob/living/basic/clown/clown.dm b/code/modules/mob/living/basic/clown/clown.dm index ff5410fd059323..b65f43b18afc37 100644 --- a/code/modules/mob/living/basic/clown/clown.dm +++ b/code/modules/mob/living/basic/clown/clown.dm @@ -23,8 +23,8 @@ basic_mob_flags = DEL_ON_DEATH initial_language_holder = /datum/language_holder/clown habitable_atmos = list("min_oxy" = 5, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = T0C - maximum_survivable_temperature = (T0C + 100) + bodytemp_cold_damage_limit = T0C + bodytemp_heat_damage_limit = (T0C + 100) unsuitable_atmos_damage = 10 unsuitable_heat_damage = 15 faction = list(FACTION_CLOWN) diff --git a/code/modules/mob/living/basic/cult/constructs/_construct.dm b/code/modules/mob/living/basic/cult/constructs/_construct.dm index 1cb7a68cb7da3a..162c6fe39df585 100644 --- a/code/modules/mob/living/basic/cult/constructs/_construct.dm +++ b/code/modules/mob/living/basic/cult/constructs/_construct.dm @@ -6,8 +6,8 @@ mob_biotypes = MOB_MINERAL faction = list(FACTION_CULT) unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) pressure_resistance = 100 speed = 0 diff --git a/code/modules/mob/living/basic/drone/_drone.dm b/code/modules/mob/living/basic/drone/_drone.dm index 27c328617c4d32..061ca478bc42ca 100644 --- a/code/modules/mob/living/basic/drone/_drone.dm +++ b/code/modules/mob/living/basic/drone/_drone.dm @@ -262,7 +262,7 @@ alert_drones(DRONE_NET_DISCONNECT) -/mob/living/basic/drone/gib() +/mob/living/basic/drone/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) dust() /mob/living/basic/drone/examine(mob/user) diff --git a/code/modules/mob/living/basic/farm_animals/goat/_goat.dm b/code/modules/mob/living/basic/farm_animals/goat/_goat.dm index 9c7046cccf7d37..ea4e0f21c836c2 100644 --- a/code/modules/mob/living/basic/farm_animals/goat/_goat.dm +++ b/code/modules/mob/living/basic/farm_animals/goat/_goat.dm @@ -38,7 +38,7 @@ melee_damage_upper = 2 environment_smash = ENVIRONMENT_SMASH_NONE - minimum_survivable_temperature = COLD_ROOM_TEMP - 75 // enough so that they can survive the cold room spawn with plenty of room for comfort + bodytemp_cold_damage_limit = COLD_ROOM_TEMP - 75 // enough so that they can survive the cold room spawn with plenty of room for comfort blood_volume = BLOOD_VOLUME_NORMAL diff --git a/code/modules/mob/living/basic/farm_animals/goat/goat_subtypes.dm b/code/modules/mob/living/basic/farm_animals/goat/goat_subtypes.dm index 19d50fb38097ad..848c3789c7ad96 100644 --- a/code/modules/mob/living/basic/farm_animals/goat/goat_subtypes.dm +++ b/code/modules/mob/living/basic/farm_animals/goat/goat_subtypes.dm @@ -10,3 +10,18 @@ /mob/living/basic/goat/pete/add_udder() return //no thank you + +/mob/living/basic/goat/pete/icebox + name = "Snowy Pete" + desc = parent_type::desc + " This one seems a bit more hardy to the cold." + bodytemp_cold_damage_limit = ICEBOX_MIN_TEMPERATURE - 5 KELVIN + habitable_atmos = list( + "min_oxy" = 1, + "max_oxy"= 0, + "min_plas" = 0, + "max_plas" = 1, + "min_co2" = 0, + "max_co2" = 5, + "min_n2" = 0, + "max_n2" = 0, + ) diff --git a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm index 637f5b283b813b..ef0467871e50f7 100644 --- a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm +++ b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm @@ -95,7 +95,7 @@ else target.throw_at(get_edge_target_turf(target, dir), range = rand(1, 2), speed = 7, thrower = src) -/mob/living/basic/gorilla/gib() +/mob/living/basic/gorilla/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) var/mob/living/brain/gorilla_brain = new(drop_location()) gorilla_brain.name = real_name gorilla_brain.real_name = real_name diff --git a/code/modules/mob/living/basic/farm_animals/rabbit.dm b/code/modules/mob/living/basic/farm_animals/rabbit.dm index 992a127e05f4de..faaf13225096ca 100644 --- a/code/modules/mob/living/basic/farm_animals/rabbit.dm +++ b/code/modules/mob/living/basic/farm_animals/rabbit.dm @@ -102,8 +102,8 @@ icon_prefix = "space_rabbit" ai_controller = /datum/ai_controller/basic_controller/rabbit/easter/space unsuitable_atmos_damage = 0 // Zero because we are meant to survive in space. - minimum_survivable_temperature = 0 // Minimum Allowable Body Temp, zero because we are meant to survive in space and we have a fucking RABBIT SPACE MASK. - maximum_survivable_temperature = 1500 // Maximum Allowable Body Temp, 1500 because we might overheat and die in said RABBIT SPACE MASK. + bodytemp_cold_damage_limit = -1 // Minimum Allowable Body Temp, zero because we are meant to survive in space and we have a fucking RABBIT SPACE MASK. + bodytemp_heat_damage_limit = 1500 // Maximum Allowable Body Temp, 1500 because we might overheat and die in said RABBIT SPACE MASK. unsuitable_cold_damage = 0 // Zero because we are meant to survive in space. /datum/ai_controller/basic_controller/rabbit/easter/space diff --git a/code/modules/mob/living/basic/guardian/guardian.dm b/code/modules/mob/living/basic/guardian/guardian.dm index c84e9bca4525c4..40296207db3bf4 100644 --- a/code/modules/mob/living/basic/guardian/guardian.dm +++ b/code/modules/mob/living/basic/guardian/guardian.dm @@ -196,7 +196,7 @@ return TRUE -/mob/living/basic/guardian/gib() +/mob/living/basic/guardian/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) death(TRUE) /mob/living/basic/guardian/dust(just_ash, drop_items, force) diff --git a/code/modules/mob/living/basic/guardian/guardian_types/gaseous.dm b/code/modules/mob/living/basic/guardian/guardian_types/gaseous.dm index 1471a09763969e..8cf9566b78f1c3 100644 --- a/code/modules/mob/living/basic/guardian/guardian_types/gaseous.dm +++ b/code/modules/mob/living/basic/guardian/guardian_types/gaseous.dm @@ -13,7 +13,7 @@ /// Ability we use to select gases var/datum/action/cooldown/mob_cooldown/expel_gas/gas /// Rate of temperature stabilization per second. - var/temp_stabilization_rate = 0.1 + var/temp_stabilization_rate = 1 KELVIN /mob/living/basic/guardian/gaseous/Initialize(mapload, theme) . = ..() @@ -34,11 +34,12 @@ if (QDELETED(src)) return RegisterSignal(summoner, COMSIG_LIVING_IGNITED, PROC_REF(on_summoner_ignited)) - RegisterSignal(summoner, COMSIG_LIVING_LIFE, PROC_REF(on_summoner_life)) + summoner.add_homeostasis_level(REF(src), summoner.standard_body_temperature, temp_stabilization_rate) /mob/living/basic/guardian/gaseous/cut_summoner(different_person) if (!isnull(summoner)) - UnregisterSignal(summoner, list(COMSIG_LIVING_IGNITED, COMSIG_LIVING_LIFE)) + UnregisterSignal(summoner, COMSIG_LIVING_IGNITED) + summoner.remove_homeostasis_level(REF(src)) return ..() /// Prevent our summoner from being on fire @@ -47,11 +48,6 @@ source.extinguish_mob() source.set_fire_stacks(0, remove_wet_stacks = FALSE) -/// Maintain our summoner at a stable body temperature -/mob/living/basic/guardian/gaseous/proc/on_summoner_life(mob/living/source, seconds_per_tick, times_fired) - SIGNAL_HANDLER - source.adjust_bodytemperature(get_temp_change_amount((summoner.get_body_temp_normal() - summoner.bodytemperature), temp_stabilization_rate * seconds_per_tick)) - /mob/living/basic/guardian/gaseous/melee_attack(atom/target, list/modifiers, ignore_cooldown) . = ..() if(!. || !isliving(target)) diff --git a/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm b/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm index bb109fdde61a8c..7c37a4009ce84a 100644 --- a/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm +++ b/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm @@ -20,8 +20,8 @@ faction = list(FACTION_JUNGLE) obj_damage = 30 environment_smash = ENVIRONMENT_SMASH_WALLS - minimum_survivable_temperature = T0C - maximum_survivable_temperature = T0C + 450 + bodytemp_cold_damage_limit = T0C + bodytemp_heat_damage_limit = T0C + 450 status_flags = NONE lighting_cutoff_red = 5 lighting_cutoff_green = 20 diff --git a/code/modules/mob/living/basic/jungle/seedling/seedling.dm b/code/modules/mob/living/basic/jungle/seedling/seedling.dm index 0968ef6bc5b869..2727caa5461b98 100644 --- a/code/modules/mob/living/basic/jungle/seedling/seedling.dm +++ b/code/modules/mob/living/basic/jungle/seedling/seedling.dm @@ -14,8 +14,8 @@ icon_living = "seedling" icon_dead = "seedling_dead" habitable_atmos = list("min_oxy" = 2, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 450 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 450 mob_biotypes = MOB_ORGANIC | MOB_PLANT maxHealth = 100 health = 100 diff --git a/code/modules/mob/living/basic/jungle/venus_human_trap.dm b/code/modules/mob/living/basic/jungle/venus_human_trap.dm index c679153ba7f2e3..897f84871f02a9 100644 --- a/code/modules/mob/living/basic/jungle/venus_human_trap.dm +++ b/code/modules/mob/living/basic/jungle/venus_human_trap.dm @@ -139,7 +139,7 @@ obj_damage = 60 melee_damage_lower = 10 melee_damage_upper = 20 - minimum_survivable_temperature = 100 + bodytemp_cold_damage_limit = 100 istate = ISTATE_HARM|ISTATE_BLOCKING basic_mob_flags = DEL_ON_DEATH death_message = "collapses into bits of plant matter." diff --git a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm index ea8267b74fb570..497a6e4e66e037 100644 --- a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm +++ b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm @@ -84,8 +84,8 @@ mob_biotypes = MOB_ORGANIC|MOB_BEAST faction = list(FACTION_MINING) unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY speed = 1.5 maxHealth = 1 health = 1 diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm index e066bac6a70466..9b787caa12c86e 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm @@ -13,8 +13,8 @@ mob_biotypes = MOB_ORGANIC|MOB_BEAST faction = list(FACTION_MINING) unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY friendly_verb_continuous = "chatters near" friendly_verb_simple = "chatter near" maxHealth = 1 diff --git a/code/modules/mob/living/basic/lavaland/mining.dm b/code/modules/mob/living/basic/lavaland/mining.dm index 825f36bed6b491..fac8cf66ee5e4a 100644 --- a/code/modules/mob/living/basic/lavaland/mining.dm +++ b/code/modules/mob/living/basic/lavaland/mining.dm @@ -6,8 +6,8 @@ mob_biotypes = MOB_ORGANIC|MOB_BEAST faction = list(FACTION_MINING) unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY // Pale purple, should be red enough to see stuff on lavaland lighting_cutoff_red = 25 lighting_cutoff_green = 15 diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm index 6457239bdce8bd..b5de01f103fa6c 100644 --- a/code/modules/mob/living/basic/minebots/minebot.dm +++ b/code/modules/mob/living/basic/minebots/minebot.dm @@ -9,7 +9,7 @@ status_flags = CANSTUN|CANKNOCKDOWN|CANPUSH mouse_opacity = MOUSE_OPACITY_ICON habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 health = 125 maxHealth = 125 melee_damage_lower = 15 diff --git a/code/modules/mob/living/basic/pets/dog/corgi.dm b/code/modules/mob/living/basic/pets/dog/corgi.dm index 00b64ffef6f914..cf6ef5203ee4ab 100644 --- a/code/modules/mob/living/basic/pets/dog/corgi.dm +++ b/code/modules/mob/living/basic/pets/dog/corgi.dm @@ -62,7 +62,7 @@ update_appearance(UPDATE_OVERLAYS) return ..() -/mob/living/basic/pet/dog/corgi/gib() +/mob/living/basic/pet/dog/corgi/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) if(inventory_head) inventory_head.forceMove(drop_location()) inventory_head = null @@ -555,8 +555,8 @@ can_be_shaved = FALSE held_state = "void_puppy" unsuitable_atmos_damage = 0 - minimum_survivable_temperature = TCMB - maximum_survivable_temperature = T0C + 40 + bodytemp_cold_damage_limit = TCMB + bodytemp_heat_damage_limit = T0C + 40 /mob/living/basic/pet/dog/corgi/puppy/void/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/pets/pet.dm b/code/modules/mob/living/basic/pets/pet.dm index 6e8c87059e574f..6940513250f8b1 100644 --- a/code/modules/mob/living/basic/pets/pet.dm +++ b/code/modules/mob/living/basic/pets/pet.dm @@ -54,7 +54,7 @@ . += mutable_appearance(icon, "[collar_icon_state][stat_tag]collar") . += mutable_appearance(icon, "[collar_icon_state][stat_tag]tag") -/mob/living/basic/pet/gib() +/mob/living/basic/pet/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) remove_collar(drop_location(), update_visuals = FALSE) return ..() diff --git a/code/modules/mob/living/basic/space_fauna/ant.dm b/code/modules/mob/living/basic/space_fauna/ant.dm index 27aa66cb052178..1e244345f3090d 100644 --- a/code/modules/mob/living/basic/space_fauna/ant.dm +++ b/code/modules/mob/living/basic/space_fauna/ant.dm @@ -30,8 +30,8 @@ health = 100 maxHealth = 100 light_outer_range = 1.5 // Bioluminescence! - minimum_survivable_temperature = T20C - 100 - maximum_survivable_temperature = T20C + 120 + bodytemp_cold_damage_limit = T20C - 100 + bodytemp_heat_damage_limit = T20C + 120 light_color = "#d43229" // The ants that comprise the giant ant still glow red despite the sludge. ai_controller = /datum/ai_controller/basic_controller/ant diff --git a/code/modules/mob/living/basic/space_fauna/bear/_bear.dm b/code/modules/mob/living/basic/space_fauna/bear/_bear.dm index cc34f271cacaec..5995844362a0f1 100644 --- a/code/modules/mob/living/basic/space_fauna/bear/_bear.dm +++ b/code/modules/mob/living/basic/space_fauna/bear/_bear.dm @@ -34,8 +34,8 @@ faction = list(FACTION_RUSSIAN) habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = TCMB - maximum_survivable_temperature = T0C + 1500 + bodytemp_cold_damage_limit = TCMB + bodytemp_heat_damage_limit = T0C + 1500 ai_controller = /datum/ai_controller/basic_controller/bear /// is the bear wearing a armor? var/armored = FALSE diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp.dm b/code/modules/mob/living/basic/space_fauna/carp/carp.dm index b889305f811e1c..8e077ec4e8f453 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp.dm @@ -42,8 +42,8 @@ greyscale_config = /datum/greyscale_config/carp ai_controller = /datum/ai_controller/basic_controller/carp habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 /// Cytology cells you can swab from this creature var/cell_line = CELL_LINE_TABLE_CARP diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon.dm b/code/modules/mob/living/basic/space_fauna/demon/demon.dm index ece0e9d4ee726d..b2956424aa20a2 100644 --- a/code/modules/mob/living/basic/space_fauna/demon/demon.dm +++ b/code/modules/mob/living/basic/space_fauna/demon/demon.dm @@ -36,8 +36,8 @@ death_sound = 'sound/magic/demon_dies.ogg' habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = T0C - 25 //Weak to cold - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = T0C - 25 //Weak to cold + bodytemp_heat_damage_limit = INFINITY basic_mob_flags = DEL_ON_DEATH diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon_items.dm b/code/modules/mob/living/basic/space_fauna/demon/demon_items.dm index 8cdd7a6cf53fc2..804aba100d8b80 100644 --- a/code/modules/mob/living/basic/space_fauna/demon/demon_items.dm +++ b/code/modules/mob/living/basic/space_fauna/demon/demon_items.dm @@ -54,3 +54,9 @@ icon = 'icons/obj/medical/organs/organs.dmi' icon_state = "innards" random_icon_states = null + base_name = "" + can_dry = FALSE + +/obj/effect/decal/cleanable/blood/innards/Initialize(mapload, list/datum/disease/diseases) + . = ..() + add_blood_DNA(list("DEMON BLOOD" = /datum/blood_type/animal)) diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm b/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm index e52eb09ac0b750..4d606df4a54e0a 100644 --- a/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm +++ b/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm @@ -8,7 +8,7 @@ icon_state = "slaughter_demon" icon_living = "slaughter_demon" - minimum_survivable_temperature = TCMB + bodytemp_cold_damage_limit = TCMB // slaughter demons are specifically intended to have low melee damage, but as they hit and build up their killstreak // their wound bonuses grow and grow higher. this is how they're able to efficiently kill and slaughter their victims. diff --git a/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm b/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm index 51fd2162baa64c..ecf19bb392a44c 100644 --- a/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm +++ b/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm @@ -31,8 +31,8 @@ speak_emote = list("telepathically cries") habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = T0C - maximum_survivable_temperature = T0C + 1500 + bodytemp_cold_damage_limit = T0C + bodytemp_heat_damage_limit = T0C + 1500 sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS lighting_cutoff_red = 40 diff --git a/code/modules/mob/living/basic/space_fauna/garden_gnome.dm b/code/modules/mob/living/basic/space_fauna/garden_gnome.dm index 40debc7622bc43..485d74ab0c8dd4 100644 --- a/code/modules/mob/living/basic/space_fauna/garden_gnome.dm +++ b/code/modules/mob/living/basic/space_fauna/garden_gnome.dm @@ -22,8 +22,8 @@ speak_emote = list("announces") unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 500 faction = list(FACTION_GNOME) mob_size = MOB_SIZE_SMALL diff --git a/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm b/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm index 66191f7ccd9617..855145200f4ff1 100644 --- a/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm +++ b/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm @@ -30,7 +30,7 @@ death_message = "blows apart!" habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = TCMB + bodytemp_cold_damage_limit = TCMB ai_controller = /datum/ai_controller/basic_controller/hivebot ///does this type do range attacks? var/ranged_attacker = FALSE diff --git a/code/modules/mob/living/basic/space_fauna/killer_tomato.dm b/code/modules/mob/living/basic/space_fauna/killer_tomato.dm index c859289b56d7d0..5f11453e285796 100644 --- a/code/modules/mob/living/basic/space_fauna/killer_tomato.dm +++ b/code/modules/mob/living/basic/space_fauna/killer_tomato.dm @@ -30,8 +30,8 @@ faction = list(FACTION_PLANTS) habitable_atmos = list("min_oxy" = 5, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = T0C - 130 - maximum_survivable_temperature = T0C + 230 + bodytemp_cold_damage_limit = T0C - 130 + bodytemp_heat_damage_limit = T0C + 230 gold_core_spawnable = HOSTILE_SPAWN ai_controller = /datum/ai_controller/basic_controller/killer_tomato diff --git a/code/modules/mob/living/basic/space_fauna/lightgeist.dm b/code/modules/mob/living/basic/space_fauna/lightgeist.dm index 7fa070ea8a763d..fe83090c8c75dd 100644 --- a/code/modules/mob/living/basic/space_fauna/lightgeist.dm +++ b/code/modules/mob/living/basic/space_fauna/lightgeist.dm @@ -38,8 +38,8 @@ light_outer_range = 4 faction = list(FACTION_NEUTRAL) unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm index 7aa8efc2ecf23c..8b18f51e80c210 100644 --- a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm @@ -21,8 +21,8 @@ faction = list() ai_controller = /datum/ai_controller/basic_controller/meteor_heart habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 istate = ISTATE_HARM | ISTATE_BLOCKING move_resist = INFINITY // This mob IS the floor /// Action which sends a line of spikes chasing a player diff --git a/code/modules/mob/living/basic/space_fauna/morph.dm b/code/modules/mob/living/basic/space_fauna/morph.dm index 40d9a880221926..542f24b55df299 100644 --- a/code/modules/mob/living/basic/space_fauna/morph.dm +++ b/code/modules/mob/living/basic/space_fauna/morph.dm @@ -16,7 +16,7 @@ maxHealth = 150 health = 150 habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = TCMB + bodytemp_cold_damage_limit = TCMB obj_damage = 50 melee_damage_lower = 20 diff --git a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm index b3c6935c92efe4..4e8e6319640b9c 100644 --- a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm +++ b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm @@ -34,8 +34,8 @@ unsuitable_atmos_damage = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) //I don't know how you'd apply those, but revenants no-sell them anyway. habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY status_flags = NONE density = FALSE @@ -256,7 +256,7 @@ /mob/living/basic/revenant/dust(just_ash, drop_items, force) death() -/mob/living/basic/revenant/gib() +/mob/living/basic/revenant/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) death() /mob/living/basic/revenant/can_perform_action(atom/movable/target, action_bitflags) diff --git a/code/modules/mob/living/basic/space_fauna/robot_customer.dm b/code/modules/mob/living/basic/space_fauna/robot_customer.dm index e084e11f403c96..e5c4a7dd0eadf2 100644 --- a/code/modules/mob/living/basic/space_fauna/robot_customer.dm +++ b/code/modules/mob/living/basic/space_fauna/robot_customer.dm @@ -15,8 +15,8 @@ sentience_type = SENTIENCE_ARTIFICIAL unsuitable_atmos_damage = 0 - minimum_survivable_temperature = TCMB - maximum_survivable_temperature = T0C + 1000 + bodytemp_cold_damage_limit = TCMB + bodytemp_heat_damage_limit = T0C + 1000 ai_controller = /datum/ai_controller/robot_customer diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm index 92e27c4e3415b8..cb03409395735e 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm @@ -386,8 +386,8 @@ /mob/living/basic/spider/giant/ice name = "giant ice spider" habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 color = rgb(114,228,250) gold_core_spawnable = NO_SPAWN menu_description = "Versatile ice spider variant for frontline combat with high health and damage. Immune to temperature damage." @@ -400,8 +400,8 @@ /mob/living/basic/spider/giant/nurse/ice name = "giant ice spider" habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 poison_type = /datum/reagent/consumable/frostoil color = rgb(114,228,250) menu_description = "Support ice spider variant specializing in healing their brethren and placing webbings very swiftly, but has very low amount of health and deals low damage. Immune to temperature damage." @@ -414,8 +414,8 @@ /mob/living/basic/spider/giant/hunter/ice name = "giant ice spider" habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 poison_type = /datum/reagent/consumable/frostoil color = rgb(114,228,250) gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/basic/space_fauna/statue/statue.dm b/code/modules/mob/living/basic/space_fauna/statue/statue.dm index f906044cdab6f9..7e56808c7cdfdc 100644 --- a/code/modules/mob/living/basic/space_fauna/statue/statue.dm +++ b/code/modules/mob/living/basic/space_fauna/statue/statue.dm @@ -89,7 +89,7 @@ // Turn to dust when gibbed -/mob/living/basic/statue/gib() +/mob/living/basic/statue/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) dust() // Statue powers diff --git a/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm b/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm index 02fd9ed1bcf1ea..d4b1a79ffececa 100644 --- a/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm +++ b/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm @@ -20,8 +20,8 @@ maxHealth = 10 health = 10 - minimum_survivable_temperature = TCMB - maximum_survivable_temperature = T0C + 1250 + bodytemp_cold_damage_limit = TCMB + bodytemp_heat_damage_limit = T0C + 1250 habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) death_message = "falls to the ground, its shard dulling to a miserable grey!" diff --git a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm index d963bdf410161d..0c01693190f941 100644 --- a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm +++ b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm @@ -42,8 +42,8 @@ lighting_cutoff_green = 10 lighting_cutoff_blue = 40 habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY ai_controller = /datum/ai_controller/basic_controller/wumborian_fugu /// Ability used by the mob to become large, dangerous, and invulnerable var/datum/action/cooldown/fugu_expand/expand diff --git a/code/modules/mob/living/basic/tree.dm b/code/modules/mob/living/basic/tree.dm index 5d20a877e9f754..23a34a7c12647c 100644 --- a/code/modules/mob/living/basic/tree.dm +++ b/code/modules/mob/living/basic/tree.dm @@ -36,8 +36,8 @@ habitable_atmos = list("min_oxy" = 2, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 2.5 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1200 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1200 death_message = "is hacked into pieces!" diff --git a/code/modules/mob/living/basic/trooper/syndicate.dm b/code/modules/mob/living/basic/trooper/syndicate.dm index 2c6923a63f9a57..f838e7650603a0 100644 --- a/code/modules/mob/living/basic/trooper/syndicate.dm +++ b/code/modules/mob/living/basic/trooper/syndicate.dm @@ -15,7 +15,7 @@ health = 170 loot = list(/obj/effect/gibspawner/human) unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 mob_spawner = /obj/effect/mob_spawn/corpse/human/syndicatecommando /mob/living/basic/trooper/syndicate/space/Initialize(mapload) @@ -51,7 +51,7 @@ maxHealth = 170 health = 170 unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 mob_spawner = /obj/effect/mob_spawn/corpse/human/syndicatecommando /mob/living/basic/trooper/syndicate/melee/space/Initialize(mapload) @@ -84,7 +84,7 @@ maxHealth = 170 health = 170 unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 projectile_deflect_chance = 50 mob_spawner = /obj/effect/mob_spawn/corpse/human/syndicatecommando @@ -135,7 +135,7 @@ maxHealth = 170 health = 170 unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 mob_spawner = /obj/effect/mob_spawn/corpse/human/syndicatecommando /mob/living/basic/trooper/syndicate/ranged/space/Initialize(mapload) @@ -167,7 +167,7 @@ maxHealth = 170 health = 170 unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 mob_spawner = /obj/effect/mob_spawn/corpse/human/syndicatecommando /mob/living/basic/trooper/syndicate/ranged/smg/space/Initialize(mapload) @@ -193,7 +193,7 @@ maxHealth = 170 health = 170 unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 speed = 1 mob_spawner = /obj/effect/mob_spawn/corpse/human/syndicatecommando @@ -220,8 +220,8 @@ mob_biotypes = MOB_ROBOTIC basic_mob_flags = DEL_ON_DEATH unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 700 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 700 unsuitable_cold_damage = 0 health = 25 maxHealth = 25 diff --git a/code/modules/mob/living/basic/vermin/cockroach.dm b/code/modules/mob/living/basic/vermin/cockroach.dm index 51652ae179ae21..275c09243462ca 100644 --- a/code/modules/mob/living/basic/vermin/cockroach.dm +++ b/code/modules/mob/living/basic/vermin/cockroach.dm @@ -28,8 +28,8 @@ faction = list(FACTION_HOSTILE, FACTION_MAINT_CREATURES) unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 270 - maximum_survivable_temperature = INFINITY + bodytemp_cold_damage_limit = 270 + bodytemp_heat_damage_limit = INFINITY ai_controller = /datum/ai_controller/basic_controller/cockroach diff --git a/code/modules/mob/living/basic/vermin/lizard.dm b/code/modules/mob/living/basic/vermin/lizard.dm index 780ed6ee981e80..350fca5c004694 100644 --- a/code/modules/mob/living/basic/vermin/lizard.dm +++ b/code/modules/mob/living/basic/vermin/lizard.dm @@ -71,8 +71,8 @@ icon_state = "lizard_space" icon_living = "lizard_space" unsuitable_atmos_damage = 0 - minimum_survivable_temperature = TCMB - maximum_survivable_temperature = T0C + 40 + bodytemp_cold_damage_limit = TCMB + bodytemp_heat_damage_limit = T0C + 40 /// Janitor's pet lizard. /mob/living/basic/lizard/wags_his_tail diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 4cccc6c6ba6378..945ef89af5c026 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -7,46 +7,53 @@ // Takes care blood loss and regeneration /mob/living/carbon/human/handle_blood(seconds_per_tick, times_fired) - if(HAS_TRAIT(src, TRAIT_NOBLOOD) || (HAS_TRAIT(src, TRAIT_FAKEDEATH))) + if(HAS_TRAIT(src, TRAIT_NOBLOOD) || HAS_TRAIT(src, TRAIT_FAKEDEATH)) return - if(bodytemperature < BLOOD_STOP_TEMP || (HAS_TRAIT(src, TRAIT_HUSK))) //cold or husked people do not pump the blood. + if(bodytemperature < BLOOD_STOP_TEMP || HAS_TRAIT(src, TRAIT_HUSK)) //cold or husked people do not pump the blood. return - //Blood regeneration if there is some space - if(blood_volume < BLOOD_VOLUME_NORMAL && !HAS_TRAIT(src, TRAIT_NOHUNGER)) - var/nutrition_ratio = 0 - switch(nutrition) - if(0 to NUTRITION_LEVEL_STARVING) - nutrition_ratio = 0.2 - if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) - nutrition_ratio = 0.4 - if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED) - nutrition_ratio = 0.6 - if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) - nutrition_ratio = 0.8 - else - nutrition_ratio = 1 - if(satiety > 80) - nutrition_ratio *= 1.25 - adjust_nutrition(-nutrition_ratio * HUNGER_FACTOR * seconds_per_tick) - blood_volume = min(blood_volume + (BLOOD_REGEN_FACTOR * nutrition_ratio * seconds_per_tick), BLOOD_VOLUME_NORMAL) - - // we call lose_blood() here rather than quirk/process() to make sure that the blood loss happens in sync with life() - if(HAS_TRAIT(src, TRAIT_BLOOD_DEFICIENCY)) - var/datum/quirk/blooddeficiency/blooddeficiency = get_quirk(/datum/quirk/blooddeficiency) - if(!isnull(blooddeficiency)) - blooddeficiency.lose_blood(seconds_per_tick) + var/sigreturn = SEND_SIGNAL(src, COMSIG_HUMAN_ON_HANDLE_BLOOD, seconds_per_tick, times_fired) + if(sigreturn & HANDLE_BLOOD_HANDLED) + return + + if(!(sigreturn & HANDLE_BLOOD_NO_NUTRITION_DRAIN)) + if(blood_volume < BLOOD_VOLUME_NORMAL && !HAS_TRAIT(src, TRAIT_NOHUNGER)) + var/nutrition_ratio = 0 + switch(nutrition) + if(0 to NUTRITION_LEVEL_STARVING) + nutrition_ratio = 0.2 + if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) + nutrition_ratio = 0.4 + if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED) + nutrition_ratio = 0.6 + if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) + nutrition_ratio = 0.8 + else + nutrition_ratio = 1 + if(satiety > 80) + nutrition_ratio *= 1.25 + adjust_nutrition(-nutrition_ratio * HUNGER_FACTOR * seconds_per_tick) + blood_volume = min(blood_volume + (BLOOD_REGEN_FACTOR * nutrition_ratio * seconds_per_tick), BLOOD_VOLUME_NORMAL) + + // // we call lose_blood() here rather than quirk/process() to make sure that the blood loss happens in sync with life() + // if(HAS_TRAIT(src, TRAIT_BLOOD_DEFICIENCY)) + // var/datum/quirk/blooddeficiency/blooddeficiency = get_quirk(/datum/quirk/blooddeficiency) + // if(!isnull(blooddeficiency)) + // blooddeficiency.lose_blood(seconds_per_tick) //Effects of bloodloss - var/word = pick("dizzy","woozy","faint") - if(!HAS_TRAIT(src, TRAIT_NO_BLOODLOSS_DAMAGE)) //monkestation addition + if(!(sigreturn & HANDLE_BLOOD_NO_EFFECTS)) + var/word = pick("dizzy","woozy","faint") switch(blood_volume) - if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL) + if(BLOOD_VOLUME_MAX_LETHAL to INFINITY) if(SPT_PROB(7.5, seconds_per_tick)) to_chat(src, span_userdanger("Blood starts to tear your skin apart. You're going to burst!")) investigate_log("has been gibbed by having too much blood.", INVESTIGATE_DEATHS) inflate_gib() + if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL) + if(SPT_PROB(5, seconds_per_tick)) + to_chat(src, span_warning("You feel your skin swelling.")) if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS) if(SPT_PROB(5, seconds_per_tick)) to_chat(src, span_warning("You feel terribly bloated.")) @@ -93,7 +100,7 @@ //Makes a blood drop, leaking amt units of blood from the mob /mob/living/carbon/proc/bleed(amt, no_visual = FALSE) - if(!blood_volume || (status_flags & GODMODE) || HAS_TRAIT(src, TRAIT_NOBLOOD)) + if((status_flags & GODMODE) || HAS_TRAIT(src, TRAIT_NOBLOOD)) return blood_volume = max(blood_volume - amt, 0) @@ -107,7 +114,7 @@ /// A helper to see how much blood we're losing per tick /mob/living/carbon/proc/get_bleed_rate() - if(!blood_volume || HAS_TRAIT(src, TRAIT_NOBLOOD)) + if(HAS_TRAIT(src, TRAIT_NOBLOOD)) return 0 var/bleed_amt = 0 for(var/X in bodyparts) @@ -116,7 +123,8 @@ return bleed_amt /mob/living/carbon/human/get_bleed_rate() - return ..() * physiology.bleed_mod + . = ..() + . *= physiology.bleed_mod /** * bleed_warn() is used to for carbons with an active client to occasionally receive messages warning them about their bleeding status (if applicable) @@ -126,7 +134,7 @@ * * forced- */ /mob/living/carbon/proc/bleed_warn(bleed_amt = 0, forced = FALSE) - if(!blood_volume || !client) + if(!client || HAS_TRAIT(src, TRAIT_NOBLOOD)) return if(!COOLDOWN_FINISHED(src, bleeding_message_cd) && !forced) return @@ -177,10 +185,6 @@ to_chat(src, span_warning("[bleeding_severity][rate_of_change]")) COOLDOWN_START(src, bleeding_message_cd, next_cooldown) -/mob/living/carbon/human/bleed_warn(bleed_amt = 0, forced = FALSE) - if(!HAS_TRAIT(src, TRAIT_NOBLOOD)) - return ..() - /mob/living/proc/restore_blood() blood_volume = initial(blood_volume) @@ -196,7 +200,8 @@ //Gets blood from mob to a container or other mob, preserving all data in it. /mob/living/proc/transfer_blood_to(atom/movable/AM, amount, forced) - if(!blood_volume || !AM.reagents) + var/datum/blood_type/blood = get_blood_type() + if(isnull(blood) || !AM.reagents) return FALSE if(blood_volume < BLOOD_VOLUME_BAD && !forced) return FALSE @@ -204,35 +209,12 @@ if(blood_volume < amount) amount = blood_volume - var/blood_id = get_blood_id() - if(!blood_id) - return FALSE - blood_volume -= amount - var/list/blood_data = get_blood_data(blood_id) - - if(iscarbon(AM)) - var/mob/living/carbon/C = AM - if(blood_id == C.get_blood_id())//both mobs have the same blood substance - if(blood_id == /datum/reagent/blood) //normal blood - if(blood_data["viruses"]) - for(var/thing in blood_data["viruses"]) - var/datum/disease/advanced/D = thing - if((D.spread_flags & DISEASE_SPREAD_SPECIAL) || (D.spread_flags & DISEASE_SPREAD_NON_CONTAGIOUS)) - continue - C.infect_disease(D, TRUE, "Infected [key_name(C)] (Infected Blood 100% Infection)") - if(!(blood_data["blood_type"] in get_safe_blood(C.dna.blood_type))) - C.reagents.add_reagent(/datum/reagent/toxin, amount * 0.5) - return TRUE - - C.blood_volume = min(C.blood_volume + round(amount, 0.1), BLOOD_VOLUME_MAX_LETHAL) - return TRUE - - AM.reagents.add_reagent(blood_id, amount, blood_data, bodytemperature) + AM.reagents.add_reagent(blood.reagent_type, amount, blood.get_blood_data(src), bodytemperature) return TRUE - +/* /mob/living/proc/get_blood_data(blood_id) return @@ -276,129 +258,46 @@ var/datum/quirk/T = V blood_data["quirks"] += T.type return blood_data +*/ -//get the id of the substance this mob use as blood. -/mob/proc/get_blood_id() - return +/mob/living/proc/get_blood_type() + RETURN_TYPE(/datum/blood_type) + if(HAS_TRAIT(src, TRAIT_NOBLOOD)) + return null + return GLOB.blood_types[/datum/blood_type/animal] -/mob/living/simple_animal/get_blood_id() - if(blood_volume) - return /datum/reagent/blood +/mob/living/silicon/get_blood_type() + return GLOB.blood_types[/datum/blood_type/oil] -/mob/living/carbon/human/get_blood_id() - if(HAS_TRAIT(src, TRAIT_HUSK)) - return - if(check_holidays(APRIL_FOOLS) && is_clown_job(mind?.assigned_role)) - return /datum/reagent/colorful_reagent - if(dna.species.exotic_blood) - return dna.species.exotic_blood - else if(HAS_TRAIT(src, TRAIT_NOBLOOD)) - return - return /datum/reagent/blood +/mob/living/simple_animal/bot/get_blood_type() + return GLOB.blood_types[/datum/blood_type/oil] -// This is has more potential uses, and is probably faster than the old proc. -/proc/get_safe_blood(bloodtype) - . = list() - if(!bloodtype) - return - - var/static/list/bloodtypes_safe = list( - "A-" = list("A-", "O-"), - "A+" = list("A-", "A+", "O-", "O+"), - "B-" = list("B-", "O-"), - "B+" = list("B-", "B+", "O-", "O+"), - "AB-" = list("A-", "B-", "O-", "AB-"), - "AB+" = list("A-", "A+", "B-", "B+", "O-", "O+", "AB-", "AB+"), - "O-" = list("O-"), - "O+" = list("O-", "O+"), - "L" = list("L"), - "U" = list("A-", "A+", "B-", "B+", "O-", "O+", "AB-", "AB+", "L", "U") - ) - - var/safe = bloodtypes_safe[bloodtype] - if(safe) - . = safe +/mob/living/basic/bot/get_blood_type() + return GLOB.blood_types[/datum/blood_type/oil] -//to add a splatter of blood or other mob liquid. -/mob/living/proc/add_splatter_floor(turf/splattered, small_drip) - if((get_blood_id() != /datum/reagent/blood) || HAS_TRAIT(src, TRAIT_NOBLOOD)) - return - if(!splattered) - splattered = get_turf(src) - if(isclosedturf(splattered) || (isgroundlessturf(splattered) && !GET_TURF_BELOW(splattered))) - return +/mob/living/carbon/alien/get_blood_type() + if(HAS_TRAIT(src, TRAIT_HUSK) || HAS_TRAIT(src, TRAIT_NOBLOOD)) + return null + return GLOB.blood_types[/datum/blood_type/xenomorph] - var/datum/reagent/blood_type = get_blood_id() - var/list/temp_blood_DNA - if(small_drip) - if(!QDELETED(splattered.liquids)) - var/list/blood_drop = list(get_blood_id() = 0.1) - splattered.add_liquid_list(blood_drop, FALSE, 300) - return - // Only a certain number of drips (or one large splatter) can be on a given turf. - var/obj/effect/decal/cleanable/blood/drip/drop = locate() in splattered - if(drop) - if(drop.drips < 5) - splattered?.pollute_turf(/datum/pollutant/metallic_scent, 5) - drop.drips++ - drop.add_overlay(pick(drop.random_icon_states)) - drop.transfer_mob_blood_dna(src) - return - else - temp_blood_DNA = GET_ATOM_BLOOD_DNA(drop) //we transfer the dna from the drip to the splatter - qdel(drop)//the drip is replaced by a bigger splatter - else - splattered?.pollute_turf(/datum/pollutant/metallic_scent, 5) - drop = new(splattered, get_static_viruses()) - drop.transfer_mob_blood_dna(src) - return +/mob/living/carbon/human/get_blood_type() + if(HAS_TRAIT(src, TRAIT_HUSK) || isnull(dna) || HAS_TRAIT(src, TRAIT_NOBLOOD)) + return null + if(check_holidays(APRIL_FOOLS) && is_clown_job(mind?.assigned_role)) + return GLOB.blood_types[/datum/blood_type/clown] + if(dna.species.exotic_bloodtype) + return GLOB.blood_types[dna.species.exotic_bloodtype] + return GLOB.blood_types[dna.human_blood_type] +//to add a splatter of blood or other mob liquid. +/mob/living/proc/add_splatter_floor(turf/blood_turf = get_turf(src), small_drip) // Create a bit of metallic pollution, as that's how blood smells - splattered.pollute_turf(/datum/pollutant/metallic_scent, 30) + blood_turf?.pollute_turf(/datum/pollutant/metallic_scent, 30) // TODO Move to blood_datum + return get_blood_type()?.make_blood_splatter(src, blood_turf, small_drip) - // Find a blood decal or create a new one. - var/obj/effect/decal/cleanable/blood/B = locate() in splattered - if(!B) - B = new /obj/effect/decal/cleanable/blood/splatter(splattered, get_static_viruses()) - if(QDELETED(B)) //Give it up - return - B.bloodiness = min((B.bloodiness + BLOOD_AMOUNT_PER_DECAL), BLOOD_POOL_MAX) - B.transfer_mob_blood_dna(src) //give blood info to the blood decal. - if(temp_blood_DNA) - B.add_blood_DNA(temp_blood_DNA) - - if(B.count < 10 ) - if(blood_type) - B.color = initial(blood_type.color) - B.count ++ - B.transfer_mob_blood_dna(src) - B.transfer_mob_blood_dna(src) //give blood info to the blood decal. - if(temp_blood_DNA) - B.add_blood_DNA(temp_blood_DNA) - - if(B.count > 9) - qdel(B) - var/list/blood_large = list(get_blood_id() = 20) - splattered.add_liquid_list(blood_large, FALSE, 300) - -/mob/living/carbon/human/add_splatter_floor(turf/T, small_drip) - if(!HAS_TRAIT(src, TRAIT_NOBLOOD)) - ..() - -/mob/living/carbon/alien/add_splatter_floor(turf/T, small_drip) - if(!T) - T = get_turf(src) - var/obj/effect/decal/cleanable/xenoblood/B = locate() in T.contents - if(!B) - B = new(T) - B.add_blood_DNA(list("UNKNOWN DNA" = "X*")) - -/mob/living/silicon/robot/add_splatter_floor(turf/T, small_drip) - if(!T) - T = get_turf(src) - var/obj/effect/decal/cleanable/oil/B = locate() in T.contents - if(!B) - B = new(T) +/mob/living/proc/do_splatter_effect(splat_dir = pick(GLOB.cardinals)) + var/obj/effect/temp_visual/dir_setting/bloodsplatter/splatter = new(get_turf(src), splat_dir, get_blood_type()?.color) + splatter.color = get_blood_type()?.color /** * This proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment. @@ -410,10 +309,12 @@ * * splatter_strength: How many tiles it can go, and how many items it can pass over and dirty */ /mob/living/proc/spray_blood(splatter_direction, splatter_strength = 3) - if(!isturf(loc) || !blood_volume || HAS_TRAIT(src, TRAIT_NOBLOOD)) + if(QDELETED(src) || !isturf(loc) || QDELING(loc) || !blood_volume || HAS_TRAIT(src, TRAIT_NOBLOOD)) return var/obj/effect/decal/cleanable/blood/hitsplatter/our_splatter = new(loc) - our_splatter.add_blood_DNA(GET_ATOM_BLOOD_DNA(src)) + if(QDELETED(our_splatter)) + return + our_splatter.add_mob_blood(src) var/turf/targ = get_ranged_target_turf(src, splatter_direction, splatter_strength) our_splatter.fly_towards(targ, splatter_strength) @@ -421,11 +322,14 @@ * Helper proc for throwing blood particles around, similar to the spray_blood proc. */ /mob/living/proc/blood_particles(amount = rand(1, 3), angle = rand(0,360), min_deviation = -30, max_deviation = 30, min_pixel_z = 0, max_pixel_z = 6) - if(QDELETED(src) || QDELETED(loc) || !isturf(loc) || !blood_volume || HAS_TRAIT(src, TRAIT_NOBLOOD)) + if(QDELETED(src) || !isturf(loc) || QDELING(loc) || !blood_volume || HAS_TRAIT(src, TRAIT_NOBLOOD)) return for(var/i in 1 to amount) var/obj/effect/decal/cleanable/blood/particle/droplet = new(loc) - droplet.add_blood_DNA(GET_ATOM_BLOOD_DNA(src)) + if(QDELETED(droplet)) // if they're deleting upon init, let's not waste any more time, any others will prolly just do the same thing + return + droplet.color = get_blood_type()?.color + droplet.add_mob_blood(src) droplet.pixel_z = rand(min_pixel_z, max_pixel_z) droplet.start_movement(angle + rand(min_deviation, max_deviation)) diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm index 3dc911e206f9e7..3b4b834e67d94d 100644 --- a/code/modules/mob/living/brain/brain.dm +++ b/code/modules/mob/living/brain/brain.dm @@ -10,7 +10,7 @@ /mob/living/brain/Initialize(mapload) . = ..() create_dna(src) - stored_dna.initialize_dna(random_blood_type()) + stored_dna.initialize_dna() if(isturf(loc)) //not spawned in an MMI or brain organ (most likely adminspawned) var/obj/item/organ/internal/brain/OB = new(loc) //we create a new brain organ for it. OB.brainmob = src diff --git a/code/modules/mob/living/brain/death.dm b/code/modules/mob/living/brain/death.dm index 60487aa0c3599b..6de222060c82da 100644 --- a/code/modules/mob/living/brain/death.dm +++ b/code/modules/mob/living/brain/death.dm @@ -11,7 +11,7 @@ return ..() -/mob/living/brain/gib() +/mob/living/brain/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) if(container) qdel(container)//Gets rid of the MMI if there is one if(loc) diff --git a/code/modules/mob/living/carbon/alien/adult/life.dm b/code/modules/mob/living/carbon/alien/adult/life.dm deleted file mode 100644 index 8aeb32ed657f6a..00000000000000 --- a/code/modules/mob/living/carbon/alien/adult/life.dm +++ /dev/null @@ -1,18 +0,0 @@ - - -/mob/living/carbon/alien/adult/proc/adjust_body_temperature(current, loc_temp, boost) - var/temperature = current - var/difference = abs(current-loc_temp) //get difference - var/increments// = difference/10 //find how many increments apart they are - if(difference > 50) - increments = difference/5 - else - increments = difference/10 - var/change = increments*boost // Get the amount to change by (x per increment) - var/temp_change - if(current < loc_temp) - temperature = min(loc_temp, temperature+change) - else if(current > loc_temp) - temperature = max(loc_temp, temperature-change) - temp_change = (temperature - current) - return temp_change diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 44d0d4322f8b30..497223b575ad3e 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -13,7 +13,8 @@ status_flags = CANUNCONSCIOUS|CANPUSH - heat_protection = 0.5 // minor heat insulation + temperature_insulation = 0.5 // minor heat insulation + bodytemp_heat_damage_limit = CELCIUS_TO_KELVIN(85 CELCIUS) var/leaping = FALSE gib_type = /obj/effect/decal/cleanable/xenoblood/xgibs @@ -45,30 +46,12 @@ /mob/living/carbon/alien/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) // beepsky won't hunt aliums return -10 -/mob/living/carbon/alien/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) - // Run base mob body temperature proc before taking damage - // this balances body temp to the environment and natural stabilization - . = ..() - - if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) - //Body temperature is too hot. +/mob/living/carbon/alien/body_temperature_alerts() + if(bodytemperature > bodytemp_heat_damage_limit) throw_alert(ALERT_XENO_FIRE, /atom/movable/screen/alert/alien_fire) - switch(bodytemperature) - if(360 to 400) - apply_damage(HEAT_DAMAGE_LEVEL_1 * seconds_per_tick, BURN) - if(400 to 460) - apply_damage(HEAT_DAMAGE_LEVEL_2 * seconds_per_tick, BURN) - if(460 to INFINITY) - if(on_fire) - apply_damage(HEAT_DAMAGE_LEVEL_3 * seconds_per_tick, BURN) - else - apply_damage(HEAT_DAMAGE_LEVEL_2 * seconds_per_tick, BURN) else clear_alert(ALERT_XENO_FIRE) -/mob/living/carbon/alien/reagent_check(datum/reagent/R, seconds_per_tick, times_fired) //can metabolize all reagents - return FALSE - /mob/living/carbon/alien/getTrail() if(getBruteLoss() < 200) return pick (list("xltrails_1", "xltrails2")) diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index c7c65f4d684cf1..4172767adb3c2c 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -117,6 +117,3 @@ In all, this is a lot like the monkey code. /N /mob/living/carbon/alien/acid_act(acidpwr, acid_volume) return FALSE//aliens are immune to acid. - -/mob/living/carbon/alien/on_fire_stack(seconds_per_tick, times_fired, datum/status_effect/fire_handler/fire_stacks/fire_handler) - adjust_bodytemperature((BODYTEMP_HEATING_MAX + (fire_handler.stacks * 12)) * 0.5 * seconds_per_tick) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0dcd336ffe1e1b..f70e7b2cfb9372 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -78,8 +78,10 @@ take_bodypart_damage(10 + 5 * extra_speed, check_armor = TRUE, wound_bonus = extra_speed * 5) victim.Paralyze(2 SECONDS) Paralyze(2 SECONDS) - visible_message(span_danger("[src] crashes into [victim][extra_speed ? " really hard" : ""], knocking them both over!"),\ - span_userdanger("You violently crash into [victim][extra_speed ? " extra hard" : ""]!")) + visible_message( + span_danger("[src] crashes into [hit_atom][extra_speed ? " really hard" : ""]!"), + span_userdanger("You[extra_speed ? " violently" : ""] crash into [hit_atom][extra_speed ? " extra hard" : ""]!"), + ) playsound(src,'sound/weapons/punch1.ogg',50,TRUE) log_combat(src, victim, "crashed into") @@ -884,7 +886,7 @@ return FALSE // And we can't heal them if they're missing their liver - if(!HAS_TRAIT(src, TRAIT_NOMETABOLISM) && !isnull(dna?.species.mutantliver) && !get_organ_slot(ORGAN_SLOT_LIVER)) + if(!HAS_TRAIT(src, TRAIT_LIVERLESS_METABOLISM) && !isnull(dna?.species.mutantliver) && !get_organ_slot(ORGAN_SLOT_LIVER)) return FALSE return ..() @@ -1039,6 +1041,13 @@ set_usable_hands(usable_hands - 1) +///Updates the bodypart speed modifier based on our bodyparts. +/mob/living/carbon/proc/update_bodypart_speed_modifier() + var/final_modification = 0 + for(var/obj/item/bodypart/bodypart as anything in bodyparts) + final_modification += bodypart.speed_modifier + add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/bodypart, TRUE, final_modification) + /mob/living/carbon/proc/create_internal_organs() for(var/obj/item/organ/internal/internal_organ in organs) internal_organ.Insert(src) @@ -1224,12 +1233,16 @@ /// if any of our bodyparts are bleeding /mob/living/carbon/proc/is_bleeding() + if(HAS_TRAIT(src, TRAIT_NOBLOOD)) + return FALSE for(var/obj/item/bodypart/part as anything in bodyparts) if(part.get_modified_bleed_rate()) return TRUE /// get our total bleedrate /mob/living/carbon/proc/get_total_bleed_rate() + if(HAS_TRAIT(src, TRAIT_NOBLOOD)) + return 0 var/total_bleed_rate = 0 for(var/obj/item/bodypart/part as anything in bodyparts) total_bleed_rate += part.get_modified_bleed_rate() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 3b21192da75d7b..0d50efac626b28 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -139,15 +139,13 @@ var/exterior_ready_to_dismember = (!has_exterior || ((mangled_state & BODYPART_MANGLED_EXTERIOR))) var/interior_ready_to_dismember = (!has_interior || ((mangled_state & BODYPART_MANGLED_INTERIOR))) - var/dismemberable = ((hit_bodypart.dismemberable_by_wound()) || hit_bodypart.dismemberable_by_total_damage()) + var/dismemberable = hit_bodypart.dismemberable_by_wound() || hit_bodypart.dismemberable_by_total_damage() if (dismemberable) - extra_wound_details = ", threatening to sever it entirely" - else if((has_interior && (has_exterior && exterior_ready_to_dismember) && I.get_sharpness())) - var/bone_text = hit_bodypart.get_internal_description() - extra_wound_details = ", [I.get_sharpness() == SHARP_EDGED ? "slicing" : "piercing"] through to the [bone_text]" - else if(has_exterior && ((has_interior && interior_ready_to_dismember) && I.get_sharpness())) - var/tissue_text = hit_bodypart.get_external_description() - extra_wound_details = ", [I.get_sharpness() == SHARP_EDGED ? "slicing" : "piercing"] at the remaining [tissue_text]" + extra_wound_details = hit_bodypart.get_soon_dismember_message() + else if(has_interior && (has_exterior && exterior_ready_to_dismember) && I.get_sharpness()) + extra_wound_details = ", [I.get_sharpness() == SHARP_EDGED ? "slicing" : "piercing"] through to the [hit_bodypart.get_internal_description()]" + else if(has_exterior && (has_interior && interior_ready_to_dismember) && I.get_sharpness()) + extra_wound_details = ", [I.get_sharpness() == SHARP_EDGED ? "slicing" : "piercing"] at the remaining [hit_bodypart.get_external_description()]" var/message_hit_area = "" if(hit_area) @@ -166,6 +164,18 @@ to_chat(user, span_danger("[attack_message_attacker]")) return TRUE +/mob/living/carbon/attack_animal(mob/living/simple_animal/user, list/modifiers) + . = ..() + if(. <= 0) + return + if(user.wound_bonus != CANT_WOUND) + return + // Snowflake mcsnowflake but mobs which can't wound should still capable of causing IB + var/obj/item/bodypart/affecting = get_bodypart(user.zone_selected) || get_bodypart(BODY_ZONE_CHEST) + var/ib_prob = . + rand(-10, 40) - getarmor(affecting, WOUND) + if(ib_prob < 45) + return + affecting.force_wound_upwards(/datum/wound/bleed_internal, wound_source = user) /mob/living/carbon/attack_drone(mob/living/basic/drone/user) return //so we don't call the carbon's attack_hand(). @@ -519,14 +529,14 @@ add_mood_event("hug", /datum/mood_event/bad_touch_bear_hug) // Let people know if they hugged someone really warm or really cold - if(helper.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT || helper.has_status_effect(/datum/status_effect/bloodsucker_sol)) // monkestation edit: bloodsucker sol + if(helper.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !HAS_TRAIT(src, TRAIT_RESISTHEAT)) to_chat(src, span_warning("It feels like [helper] is over heating as [helper.p_they()] hug[helper.p_s()] you.")) - else if(helper.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + else if(helper.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(src, TRAIT_RESISTCOLD)) to_chat(src, span_warning("It feels like [helper] is freezing as [helper.p_they()] hug[helper.p_s()] you.")) - if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT || has_status_effect(/datum/status_effect/bloodsucker_sol)) // monkestation edit: bloodsucker sol + if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !HAS_TRAIT(src, TRAIT_RESISTHEAT)) to_chat(helper, span_warning("It feels like [src] is over heating as you hug [p_them()].")) - else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(src, TRAIT_RESISTCOLD)) to_chat(helper, span_warning("It feels like [src] is freezing as you hug [p_them()].")) if(HAS_TRAIT(helper, TRAIT_FRIENDLY)) diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index af129ce55802b1..3bafd1b07cb589 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -88,11 +88,6 @@ /// This number is also reset to 0 every tick of carbon Life(). Pain. var/damageoverlaytemp = 0 - /// Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection - var/heat_protection = 0 // No heat protection - /// Protection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection - var/cold_protection = 0 // No cold protection - /// Timer id of any transformation var/transformation_timer diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index b6e0615ab77f2e..5e3d48a5758317 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -15,21 +15,8 @@ adjust_nutrition(-(HUNGER_FACTOR) * 0.05) if(m_intent == MOVE_INTENT_RUN) adjust_nutrition(-(HUNGER_FACTOR) * 0.1) - - -/mob/living/carbon/set_usable_legs(new_value) - . = ..() - if(isnull(.)) - return - if(. == 0) - if(usable_legs != 0) //From having no usable legs to having some. - REMOVE_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - else if(usable_legs == 0 && !(movement_type & (FLYING | FLOATING))) //From having usable legs to no longer having them. - ADD_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - if(!usable_hands) - ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - + if(!moving_diagonally) + SEND_SIGNAL(src, COMSIG_CARBON_STEP, NewLoc, direct) /mob/living/carbon/set_usable_hands(new_value) . = ..() @@ -37,32 +24,17 @@ return if(. == 0) REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, LACKING_MANIPULATION_APPENDAGES_TRAIT) - if(usable_hands != 0) //From having no usable hands to having some. - REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) else if(usable_hands == 0 && default_num_hands > 0) //From having usable hands to no longer having them. ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, LACKING_MANIPULATION_APPENDAGES_TRAIT) - if(!usable_legs && !(movement_type & (FLYING | FLOATING))) - ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) /mob/living/carbon/on_movement_type_flag_enabled(datum/source, flag, old_movement_type) . = ..() if(movement_type & (FLYING | FLOATING) && !(old_movement_type & (FLYING | FLOATING))) - remove_movespeed_modifier(/datum/movespeed_modifier/limbless) - remove_traits(list(TRAIT_FLOORED, TRAIT_IMMOBILIZED), LACKING_LOCOMOTION_APPENDAGES_TRAIT) + update_limbless_locomotion() + update_limbless_movespeed_mod() /mob/living/carbon/on_movement_type_flag_disabled(datum/source, flag, old_movement_type) . = ..() if(old_movement_type & (FLYING | FLOATING) && !(movement_type & (FLYING | FLOATING))) - var/limbless_slowdown = 0 - if(usable_legs < default_num_legs) - limbless_slowdown += (default_num_legs - usable_legs) * 3 - if(!usable_legs) - ADD_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - if(usable_hands < default_num_hands) - limbless_slowdown += (default_num_hands - usable_hands) * 3 - if(!usable_hands) - ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - if(limbless_slowdown) - add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/limbless, multiplicative_slowdown = limbless_slowdown) - else - remove_movespeed_modifier(/datum/movespeed_modifier/limbless) + update_limbless_locomotion() + update_limbless_movespeed_mod() diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index 2485d23eabef8c..3ba6279e862cf0 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -277,13 +277,13 @@ return hands /mob/living/carbon/get_fire_overlay(stacks, on_fire) - var/fire_icon = "[dna?.species.fire_overlay || "human"]_[stacks > MOB_BIG_FIRE_STACK_THRESHOLD ? "big_fire" : "small_fire"]" + var/fire_icon = "[dna?.species?.fire_overlay || "human"]_[stacks > MOB_BIG_FIRE_STACK_THRESHOLD ? "big_fire" : "small_fire"]" if(!GLOB.fire_appearances[fire_icon]) GLOB.fire_appearances[fire_icon] = mutable_appearance( - 'icons/mob/effects/onfire.dmi', - fire_icon, - -HIGHEST_LAYER, + icon = dna?.species?.fire_dmi || 'icons/mob/effects/onfire.dmi', + icon_state = fire_icon, + layer = -HIGHEST_LAYER, appearance_flags = RESET_COLOR, ) @@ -299,7 +299,9 @@ if(isnull(damage_overlay) && (iter_part.brutestate || iter_part.burnstate)) damage_overlay = mutable_appearance('icons/mob/effects/dam_mob.dmi', "blank", -DAMAGE_LAYER, appearance_flags = KEEP_TOGETHER) if(iter_part.brutestate) - damage_overlay.add_overlay("[iter_part.dmg_overlay_type]_[iter_part.body_zone]_[iter_part.brutestate]0") //we're adding icon_states of the base image as overlays + var/image/brute_overlay = image('icons/mob/effects/dam_mob.dmi', "[iter_part.dmg_overlay_type]_[iter_part.body_zone]_[iter_part.brutestate]0") + brute_overlay.color = iter_part.damage_color + damage_overlay.add_overlay(brute_overlay) //we're adding icon_states of the base image as overlays //we're adding icon_states of the base image as overlays if(iter_part.burnstate) damage_overlay.add_overlay("[iter_part.dmg_overlay_type]_[iter_part.body_zone]_0[iter_part.burnstate]") diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index ba629ae60144fa..e192ff2d40466a 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -24,17 +24,17 @@ M.Scale(1.8, 1.2) animate(src, time = 40, transform = M, easing = SINE_EASING) -/mob/living/carbon/gib(no_brain, no_organs, no_bodyparts, safe_gib = FALSE) +/mob/living/carbon/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) add_memory_in_range(src, 7, /datum/memory/witness_gib, protagonist = src) - // if(safe_gib) // If you want to keep all the mob's items and not have them deleted MONKESTATION EDIT - for(var/obj/item/W in src) - dropItemToGround(W, violent = TRUE) - if(prob(50)) - step(W, pick(GLOB.alldirs)) - var/atom/Tsec = drop_location() - for(var/mob/M in src) - M.forceMove(Tsec) - visible_message(span_danger("[M] bursts out of [src]!")) + if(safe_gib) // If you want to keep all the mob's items and not have them deleted MONKESTATION EDIT + for(var/obj/item/W in src) + dropItemToGround(W, violent = TRUE) + if(prob(50)) + step(W, pick(GLOB.alldirs)) + var/atom/Tsec = drop_location() + for(var/mob/M in src) + M.forceMove(Tsec) + visible_message(span_danger("[M] bursts out of [src]!")) return ..() /mob/living/carbon/spill_organs(no_brain, no_organs, no_bodyparts) @@ -45,27 +45,27 @@ if(no_brain || !istype(organ, /obj/item/organ/internal/brain)) qdel(organ) else //we're going to drop all bodyparts except chest, so the only organs that needs spilling are those inside it. - for(var/obj/item/organ/organs as anything in organs) - if(no_brain && istype(organs, /obj/item/organ/internal/brain)) - qdel(organs) //so the brain isn't transfered to the head when the head drops. + for(var/obj/item/organ/organ as anything in organs) + if(no_brain && istype(organ, /obj/item/organ/internal/brain)) + qdel(organ) //so the brain isn't transfered to the head when the head drops. continue - var/org_zone = check_zone(organs.zone) //both groin and chest organs. + var/org_zone = check_zone(organ.zone) //both groin and chest organs. if(org_zone != BODY_ZONE_CHEST) continue - organs.Remove(src) - organs.forceMove(Tsec) - organs.fly_away(Tsec, horizontal_multiplier = 2, vertical_multiplier = 1.2) + organs.Remove(organ) + organ.forceMove(Tsec) + organ.fly_away(Tsec, horizontal_multiplier = 2, vertical_multiplier = 1.2) else - for(var/obj/item/organ/organs as anything in organs) - if(no_brain && istype(organs, /obj/item/organ/internal/brain)) - qdel(organs) + for(var/obj/item/organ/organ as anything in organs) + if(no_brain && istype(organ, /obj/item/organ/internal/brain)) + qdel(organ) continue - if(no_organs && !istype(organs, /obj/item/organ/internal/brain)) - qdel(organs) + if(no_organs && !istype(organ, /obj/item/organ/internal/brain)) + qdel(organ) continue - organs.Remove(src) - organs.forceMove(Tsec) - organs.fly_away(Tsec, horizontal_multiplier = 2, vertical_multiplier = 1.2) + organs.Remove(organ) + organ.forceMove(Tsec) + organ.fly_away(Tsec, horizontal_multiplier = 2, vertical_multiplier = 1.2) /// Launches all bodyparts away from the mob. skip_head will keep the head attached. /mob/living/carbon/spread_bodyparts(skip_head = FALSE, skip_organ = FALSE, violent = FALSE) diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index a979550ce806f1..3da99d8426d161 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -63,24 +63,14 @@ GLOBAL_LIST_EMPTY(features_by_species) var/examine_limb_id ///Never, Optional, or Forced digi legs? var/digitigrade_customization = DIGITIGRADE_NEVER - ///Does the species use skintones or not? As of now only used by humans. - var/use_skintones = FALSE - ///If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity. - var/datum/reagent/exotic_blood - ///If your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood. - var/exotic_bloodtype = "" + /// If your race uses a non standard bloodtype (typepath) + var/datum/blood_type/exotic_bloodtype ///The rate at which blood is passively drained by having the blood deficiency quirk. Some races such as slimepeople can regen their blood at different rates so this is to account for that var/blood_deficiency_drain_rate = BLOOD_REGEN_FACTOR + BLOOD_DEFICIENCY_MODIFIER // slightly above the regen rate so it slowly drains instead of regenerates. ///What the species drops when gibbed by a gibber machine. var/meat = /obj/item/food/meat/slab/human ///What skin the species drops when gibbed by a gibber machine. var/skinned_type - ///Bitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example. - var/liked_food = NONE - ///Bitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example. - var/disliked_food = GROSS - ///Bitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example. - var/toxic_food = TOXIC ///flags for inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example. var/no_equip_flags ///What languages this species can understand and say. Use a [language holder datum][/datum/language_holder] in this var. @@ -110,8 +100,6 @@ GLOBAL_LIST_EMPTY(features_by_species) ///List of external organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP var/list/external_organs = list() - ///Multiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster. - var/speedmod = 0 ///Percentage modifier for overall defense of the race, or less defense, if it's negative. var/armor = 0 ///multiplier for brute damage @@ -121,22 +109,24 @@ GLOBAL_LIST_EMPTY(features_by_species) //Used for metabolizing reagents. We're going to assume you're a meatbag unless you say otherwise. var/reagent_tag = PROCESS_ORGANIC - //Dictates which wing icons are allowed for a given species. If count is >1 a radial menu is used to choose between all icons in list - var/list/wing_types = list(/obj/item/organ/external/wings/functional/angel) + // Do not READ these temperature related properties, use the living level ones instead + // These are deprecated and only exist to set in [/proc/on_species_gain] /// The natural temperature for a body - var/bodytemp_normal = BODYTEMP_NORMAL - /// Minimum amount of kelvin moved toward normal body temperature per tick. - var/bodytemp_autorecovery_min = BODYTEMP_AUTORECOVERY_MINIMUM + VAR_PROTECTED/bodytemp_normal = /mob/living/carbon/human::standard_body_temperature + /// Modifier to how fast/slow the body normalizes its temperature to the environment. + VAR_PROTECTED/temperature_normalization_speed = /mob/living/carbon/human::temperature_normalization_speed + /// Modifier to how fast/slow the body normalizes its temperature to standard temp + VAR_PROTECTED/temperature_homeostasis_speed = /mob/living/carbon/human::temperature_homeostasis_speed /// The body temperature limit the body can take before it starts taking damage from heat. - var/bodytemp_heat_damage_limit = BODYTEMP_HEAT_DAMAGE_LIMIT + VAR_PROTECTED/bodytemp_heat_damage_limit = /mob/living/carbon/human::bodytemp_heat_damage_limit /// The body temperature limit the body can take before it starts taking damage from cold. - var/bodytemp_cold_damage_limit = BODYTEMP_COLD_DAMAGE_LIMIT + VAR_PROTECTED/bodytemp_cold_damage_limit = /mob/living/carbon/human::bodytemp_cold_damage_limit /// The icon_state of the fire overlay added when sufficently ablaze and standing. see onfire.dmi - var/fire_overlay = "human" + var/fire_overlay + /// The icon of the fire overlay added when sufficently ablaze + var/fire_dmi - ///Species-only traits. Can be found in [code/__DEFINES/DNA.dm] - var/list/species_traits = list() ///Generic traits tied to having the species. var/list/inherent_traits = list() /// List of biotypes the mob belongs to. Used by diseases. @@ -148,8 +138,6 @@ GLOBAL_LIST_EMPTY(features_by_species) ///What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm] var/breathid = "o2" - ///are we a furry little guy? - var/uses_fur = FALSE ///What anim to use for dusting var/dust_anim = "dust-h" ///What anim to use for gibbing @@ -202,7 +190,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/payday_modifier = 1.0 ///Base electrocution coefficient. Basically a multiplier for damage from electrocutions. var/siemens_coeff = 1 - ///To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA. + ///To use TRAIT_MUTANT_COLORS with a fixed color that's independent of the mcolor feature in DNA. var/fixed_mut_color = "" ///A fixed hair color that's independent of the mcolor feature in DNA. var/fixed_hair_color = "" @@ -210,8 +198,6 @@ GLOBAL_LIST_EMPTY(features_by_species) var/inert_mutation = /datum/mutation/human/dwarfism ///Used to set the mob's death_sound upon species change var/death_sound - ///Sounds to override barefeet walking - var/list/special_step_sounds ///Special sound for grabbing var/grab_sound /// A path to an outfit that is important for species life e.g. plasmaman outfit @@ -223,9 +209,6 @@ GLOBAL_LIST_EMPTY(features_by_species) ///Unique cookie given by admins through prayers var/species_cookie = /obj/item/food/cookie - ///For custom overrides for species ass images - var/icon/ass_image - /// List of family heirlooms this species can get with the family heirloom quirk. List of types. var/list/family_heirlooms @@ -257,6 +240,8 @@ GLOBAL_LIST_EMPTY(features_by_species) var/list/custom_worn_icons = list() ///Override of the eyes icon file, used for Vox and maybe more in the future - The future is now, with Teshari using it too var/eyes_icon + ///our color palette + var/datum/color_palette/color_palette /////////// // PROCS // @@ -264,8 +249,6 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/New() - wing_types = string_list(wing_types) - if(!plural_form) plural_form = "[name]\s" @@ -517,12 +500,14 @@ GLOBAL_LIST_EMPTY(features_by_species) * * old_species - The species that the carbon used to be before becoming this race, used for regenerating organs. * * pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc. */ -/datum/species/proc/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) +/datum/species/proc/on_species_gain(mob/living/carbon/human/C, datum/species/old_species, pref_load) SHOULD_CALL_PARENT(TRUE) // Drop the items the new species can't wear SEND_SIGNAL(C, COMSIG_SPECIES_GAIN_PRE, src, old_species) - if((AGENDER in species_traits)) - C.gender = PLURAL + + if(C.dna.species.exotic_bloodtype) + C.dna.human_blood_type = exotic_bloodtype + if(C.hud_used) C.hud_used.update_locked_slots() @@ -531,6 +516,15 @@ GLOBAL_LIST_EMPTY(features_by_species) C.mob_biotypes = inherent_biotypes C.mob_respiration_type = inherent_respiration_type + C.standard_body_temperature = src.bodytemp_normal + C.bodytemperature = src.bodytemp_normal + C.bodytemp_heat_damage_limit = src.bodytemp_heat_damage_limit + C.bodytemp_cold_damage_limit = src.bodytemp_cold_damage_limit + C.temperature_normalization_speed = src.temperature_normalization_speed + C.temperature_homeostasis_speed = src.temperature_homeostasis_speed + + C.physiology?.cold_mod *= coldmod + C.physiology?.heat_mod *= heatmod if (old_species.type != type) replace_body(C, src) @@ -539,14 +533,6 @@ GLOBAL_LIST_EMPTY(features_by_species) INVOKE_ASYNC(src, PROC_REF(worn_items_fit_body_check), C, TRUE) - //Assigns exotic blood type if the species has one - if(exotic_bloodtype && C.dna.blood_type != exotic_bloodtype) - C.dna.blood_type = exotic_bloodtype - //Otherwise, check if the previous species had an exotic bloodtype and we do not have one and assign a random blood type - //(why the fuck is blood type not tied to a fucking DNA block?) - else if(old_species.exotic_bloodtype && !exotic_bloodtype) - C.dna.blood_type = random_blood_type() - if(ishuman(C)) var/mob/living/carbon/human/human = C for(var/obj/item/organ/external/organ_path as anything in external_organs) @@ -554,10 +540,6 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/organ/external/new_organ = SSwardrobe.provide_type(organ_path) new_organ.Insert(human, special=TRUE, drop_if_replaced=FALSE) - if(NOMOUTH in species_traits) - for(var/obj/item/bodypart/head/head in C.bodyparts) - head.mouth = FALSE - if(length(inherent_traits)) C.add_traits(inherent_traits, SPECIES_TRAIT) @@ -568,7 +550,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if(TRAIT_TOXIMMUNE in inherent_traits) C.setToxLoss(0, TRUE, TRUE) - if(TRAIT_NOMETABOLISM in inherent_traits) + if(TRAIT_LIVERLESS_METABOLISM in inherent_traits) C.reagents.end_metabolization(C, keep_liverless = TRUE) if(TRAIT_GENELESS in inherent_traits) @@ -578,7 +560,6 @@ GLOBAL_LIST_EMPTY(features_by_species) for(var/i in inherent_factions) C.faction += i //Using +=/-= for this in case you also gain the faction from a different source. - C.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/species, multiplicative_slowdown=speedmod) C.maxHealth = C.maxHealth * maxhealthmod SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) @@ -598,10 +579,7 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) SHOULD_CALL_PARENT(TRUE) if(C.dna.species.exotic_bloodtype) - C.dna.blood_type = random_blood_type() - if(NOMOUTH in species_traits) - for(var/obj/item/bodypart/head/head in C.bodyparts) - head.mouth = TRUE + C.dna.human_blood_type = random_human_blood_type() for(var/X in inherent_traits) REMOVE_TRAIT(C, X, SPECIES_TRAIT) for(var/obj/item/organ/external/organ in C.organs) @@ -624,50 +602,15 @@ GLOBAL_LIST_EMPTY(features_by_species) clear_tail_moodlets(C) - C.remove_movespeed_modifier(/datum/movespeed_modifier/species) + if(coldmod) + C.physiology?.cold_mod /= coldmod + if(heatmod) + C.physiology?.heat_mod /= heatmod + C.maxHealth = C.maxHealth / maxhealthmod SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src) -/** - * Proc called when mail goodies need to be updated for this species. - * - * Updates the mail goodies if that is required. e.g. for the blood deficiency quirk, which sends bloodbags to quirk holders, update the sent bloodpack to match the species' exotic blood. - * This is currently only used for the blood deficiency quirk but more can be added as needed. - * Arguments: - * * mob/living/carbon/human/recipient - the mob receiving the mail goodies - */ -/datum/species/proc/update_mail_goodies(mob/living/carbon/human/recipient) - update_quirk_mail_goodies(recipient, recipient.get_quirk(/datum/quirk/blooddeficiency)) - -/** - * Updates the mail goodies of a specific quirk. - * - * Updates the mail goodies belonging to a specific quirk. - * Add implementation as needed for each individual species. The base species proc should give the species the 'default' version of whatever mail goodies are required. - * Arguments: - * * mob/living/carbon/human/recipient - the mob receiving the mail goodies - * * datum/quirk/quirk - the quirk to update the mail goodies of. Use get_quirk(datum/quirk/some_quirk) to get the actual mob's quirk to pass. - * * list/mail_goodies - a list of mail goodies. Generally speaking you should not be using this argument on the initial function call. You should instead add to the species' implementation of this proc. - */ -/datum/species/proc/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies) - if(isnull(quirk)) - return - if(length(mail_goodies)) - quirk.mail_goodies = mail_goodies - return - if(istype(quirk, /datum/quirk/blooddeficiency)) - if(HAS_TRAIT(recipient, TRAIT_NOBLOOD) && isnull(recipient.dna.species.exotic_blood)) // no blood packs should be sent in this case (like if a mob transforms into a plasmaman) - quirk.mail_goodies = list() - return - - - // The default case if no species implementation exists. Set quirk's mail_goodies to initial. - var/datum/quirk/readable_quirk = new quirk.type - quirk.mail_goodies = readable_quirk.mail_goodies - qdel(readable_quirk) // We have to do it this way because initial will not work on lists in this version of DM - return - /** * Handles the body of a human * @@ -697,7 +640,7 @@ GLOBAL_LIST_EMPTY(features_by_species) standing += eye_overlay // organic body markings - if(HAS_MARKINGS in species_traits) + if(HAS_TRAIT(species_human, TRAIT_HAS_MARKINGS)) var/obj/item/bodypart/chest/chest = species_human.get_bodypart(BODY_ZONE_CHEST) var/obj/item/bodypart/arm/right/right_arm = species_human.get_bodypart(BODY_ZONE_R_ARM) var/obj/item/bodypart/arm/left/left_arm = species_human.get_bodypart(BODY_ZONE_L_ARM) @@ -735,7 +678,7 @@ GLOBAL_LIST_EMPTY(features_by_species) standing += markings_l_leg_overlay //Underwear, Undershirts & Socks - if(!(NO_UNDERWEAR in species_traits)) + if(!HAS_TRAIT(species_human, TRAIT_NO_UNDERWEAR)) if(species_human.underwear && !(src.bodytype & BODYTYPE_DIGITIGRADE)) //MONKESTATION EDIT var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[species_human.underwear] var/mutable_appearance/underwear_overlay @@ -856,32 +799,26 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!(HAS_TRAIT(source, TRAIT_HUSK))) if(!forced_colour) - switch(accessory.color_src) - if(SKINTONES) - accessory_overlay.color = skintone2hex(source.skin_tone) - if(MUTCOLORS) - if(fixed_mut_color) - accessory_overlay.color = fixed_mut_color - else - accessory_overlay.color = source.dna.features["mcolor"] - if(MUTCOLORS_SECONDARY) - if(fixed_mut_color) - accessory_overlay.color = fixed_mut_color - else - accessory_overlay.color = source.dna.features["mcolor_secondary"] - if(HAIR_COLOR) + if(accessory.palette) + var/key = accessory.palette_key + var/datum/color_palette/located = source.dna.color_palettes[accessory.palette] + if(accessory.palette_key == HAIR_COLOR) if(hair_color == "mutcolor") - accessory_overlay.color = source.dna.features["mcolor"] - else if(hair_color == "fixedmutcolor") - accessory_overlay.color = fixed_mut_color - else - accessory_overlay.color = source.hair_color - if(FACIAL_HAIR_COLOR) - accessory_overlay.color = source.facial_hair_color - if(EYE_COLOR) - accessory_overlay.color = source.eye_color_left - if(ANIME) - accessory_overlay.color = source.dna.features["animecolor"] + key = MUTANT_COLOR + if(!located) + accessory_overlay.color = initial(accessory.palette.default_color) + else + accessory_overlay.color = located.return_color(key, accessory.fallback_key) + else + switch(accessory.color_src) + if(SKIN_COLOR) + accessory_overlay.color = skintone2hex(source.skin_tone) + if(FACIAL_HAIR_COLOR) + accessory_overlay.color = source.facial_hair_color + if(EYE_COLOR) + accessory_overlay.color = source.eye_color_left + if(ANIME_COLOR) + accessory_overlay.color = source.dna.features["animecolor"] else accessory_overlay.color = forced_colour standing += accessory_overlay @@ -955,7 +892,10 @@ GLOBAL_LIST_EMPTY(features_by_species) return /datum/species/proc/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) - if(HAS_TRAIT(H, TRAIT_NOBREATH)) + SHOULD_CALL_PARENT(TRUE) + if(H.stat == DEAD) + return + if(HAS_TRAIT(H, TRAIT_NOBREATH) && (H.health < H.crit_threshold) && !HAS_TRAIT(H, TRAIT_NOCRITDAMAGE)) H.setOxyLoss(0) H.losebreath = 0 @@ -1137,18 +1077,26 @@ GLOBAL_LIST_EMPTY(features_by_species) * Return True to not run the normal metabolism effects. * NOTE: If you return TRUE, that reagent will not be removed liike normal! You must handle it manually. */ -/datum/species/proc/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/proc/handle_chemical(datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired) SHOULD_CALL_PARENT(TRUE) - if(chem.type == exotic_blood) - H.blood_volume = min(H.blood_volume + round(chem.volume, 0.1), BLOOD_VOLUME_MAXIMUM) - H.reagents.del_reagent(chem.type) - return TRUE + // Cringe but blood handles this on its own + // This also has problems of its own but that's better fixed later I think + if(!istype(chem, /datum/reagent/blood)) + var/datum/blood_type/blood = affected.get_blood_type() + if(chem.type == blood?.reagent_type) + affected.blood_volume = min(affected.blood_volume + round(chem.volume, 0.1), BLOOD_VOLUME_MAXIMUM) + affected.reagents.del_reagent(chem.type) + return TRUE + if(chem.type == blood?.restoration_chem && affected.blood_volume < BLOOD_VOLUME_NORMAL) + affected.blood_volume += 0.25 * seconds_per_tick + affected.reagents.remove_reagent(chem.type, chem.metabolization_rate * seconds_per_tick) + return TRUE //This handles dumping unprocessable reagents. var/dump_reagent = TRUE - if((chem.process_flags & SYNTHETIC) && (H.dna.species.reagent_tag & PROCESS_SYNTHETIC)) //SYNTHETIC-oriented reagents require PROCESS_SYNTHETIC + if((chem.process_flags & SYNTHETIC) && (affected.dna.species.reagent_tag & PROCESS_SYNTHETIC)) //SYNTHETIC-oriented reagents require PROCESS_SYNTHETIC dump_reagent = FALSE - if((chem.process_flags & ORGANIC) && (H.dna.species.reagent_tag & PROCESS_ORGANIC)) //ORGANIC-oriented reagents require PROCESS_ORGANIC + if((chem.process_flags & ORGANIC) && (affected.dna.species.reagent_tag & PROCESS_ORGANIC)) //ORGANIC-oriented reagents require PROCESS_ORGANIC dump_reagent = FALSE if(dump_reagent) chem.holder.remove_reagent(chem.type, chem.metabolization_rate) @@ -1156,8 +1104,9 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!chem.overdosed && chem.overdose_threshold && chem.volume >= chem.overdose_threshold) chem.overdosed = TRUE - chem.overdose_start(H) - H.log_message("has started overdosing on [chem.name] at [chem.volume] units.", LOG_GAME) + chem.overdose_start(affected) + affected.log_message("has started overdosing on [chem.name] at [chem.volume] units.", LOG_GAME) + return SEND_SIGNAL(affected, COMSIG_SPECIES_HANDLE_CHEMICAL, chem, affected, seconds_per_tick, times_fired) /** * Equip the outfit required for life. Replaces items currently worn. @@ -1508,326 +1457,6 @@ GLOBAL_LIST_EMPTY(features_by_species) return TRUE -////////////////////////// -// ENVIRONMENT HANDLERS // -////////////////////////// - -/** - * Environment handler for species - * - * vars: - * * environment (required) The environment gas mix - * * humi (required)(type: /mob/living/carbon/human) The mob we will target - */ -/datum/species/proc/handle_environment(mob/living/carbon/human/humi, datum/gas_mixture/environment, seconds_per_tick, times_fired) - handle_environment_pressure(humi, environment, seconds_per_tick, times_fired) - -/** - * Body temperature handler for species - * - * These procs manage body temp, bamage, and alerts - * Some of these will still fire when not alive to balance body temp to the room temp. - * vars: - * * humi (required)(type: /mob/living/carbon/human) The mob we will target - */ -/datum/species/proc/handle_body_temperature(mob/living/carbon/human/humi, seconds_per_tick, times_fired) - //when in a cryo unit we suspend all natural body regulation - if(istype(humi.loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) - return - - //Only stabilise core temp when alive and not in statis - if(humi.stat < DEAD && !HAS_TRAIT(humi, TRAIT_STASIS)) - body_temperature_core(humi, seconds_per_tick, times_fired) - - //These do run in statis - body_temperature_skin(humi, seconds_per_tick, times_fired) - body_temperature_alerts(humi, seconds_per_tick, times_fired) - - //Do not cause more damage in statis - if(!HAS_TRAIT(humi, TRAIT_STASIS)) - body_temperature_damage(humi, seconds_per_tick, times_fired) - -/** - * Used to stabilize the core temperature back to normal on living mobs - * - * The metabolisim heats up the core of the mob trying to keep it at the normal body temp - * vars: - * * humi (required) The mob we will stabilize - */ -/datum/species/proc/body_temperature_core(mob/living/carbon/human/humi, seconds_per_tick, times_fired) - var/natural_change = get_temp_change_amount(humi.get_body_temp_normal() - humi.coretemperature, 0.06 * seconds_per_tick) - humi.adjust_coretemperature(humi.metabolism_efficiency * natural_change) - -/** - * Used to normalize the skin temperature on living mobs - * - * The core temp effects the skin, then the enviroment effects the skin, then we refect that back to the core. - * This happens even when dead so bodies revert to room temp over time. - * vars: - * * humi (required) The mob we will targeting - * - seconds_per_tick: The amount of time that is considered as elapsing - * - times_fired: The number of times SSmobs has fired - */ -/datum/species/proc/body_temperature_skin(mob/living/carbon/human/humi, seconds_per_tick, times_fired) - - // change the core based on the skin temp - var/skin_core_diff = humi.bodytemperature - humi.coretemperature - // change rate of 0.04 per second to be slightly below area to skin change rate and still have a solid curve - var/skin_core_change = get_temp_change_amount(skin_core_diff, 0.04 * seconds_per_tick) - - humi.adjust_coretemperature(skin_core_change) - - // get the enviroment details of where the mob is standing - var/datum/gas_mixture/environment = humi.loc.return_air() - if(!environment) // if there is no environment (nullspace) drop out here. - return - - // Get the temperature of the environment for area - var/area_temp = humi.get_temperature(environment) - - // Get the insulation value based on the area's temp - var/thermal_protection = humi.get_insulation_protection(area_temp) - - // Changes to the skin temperature based on the area - var/area_skin_diff = area_temp - humi.bodytemperature - if(!humi.on_fire || area_skin_diff > 0) - // change rate of 0.05 as area temp has large impact on the surface - var/area_skin_change = get_temp_change_amount(area_skin_diff, 0.05 * seconds_per_tick) - - // We need to apply the thermal protection of the clothing when applying area to surface change - // If the core bodytemp goes over the normal body temp you are overheating and becom sweaty - // This will cause the insulation value of any clothing to reduced in effect (70% normal rating) - // we add 10 degree over normal body temp before triggering as thick insulation raises body temp - if(humi.get_body_temp_normal(apply_change=FALSE) + 10 < humi.coretemperature) - // we are overheating and sweaty insulation is not as good reducing thermal protection - area_skin_change = (1 - (thermal_protection * 0.7)) * area_skin_change - else - area_skin_change = (1 - thermal_protection) * area_skin_change - - humi.adjust_bodytemperature(area_skin_change) - - // Core to skin temp transfer, when not on fire - if(!humi.on_fire) - // Get the changes to the skin from the core temp - var/core_skin_diff = humi.coretemperature - humi.bodytemperature - // change rate of 0.045 to reflect temp back to the skin at the slight higher rate then core to skin - var/core_skin_change = (1 + thermal_protection) * get_temp_change_amount(core_skin_diff, 0.045 * seconds_per_tick) - - // We do not want to over shoot after using protection - if(core_skin_diff > 0) - core_skin_change = min(core_skin_change, core_skin_diff) - else - core_skin_change = max(core_skin_change, core_skin_diff) - - humi.adjust_bodytemperature(core_skin_change) - - -/** - * Used to set alerts and debuffs based on body temperature - * vars: - * * humi (required) The mob we will targeting - */ -/datum/species/proc/body_temperature_alerts(mob/living/carbon/human/humi) - var/old_bodytemp = humi.old_bodytemperature - var/bodytemp = humi.bodytemperature - // Body temperature is too hot, and we do not have resist traits - if(bodytemp > bodytemp_heat_damage_limit && !HAS_TRAIT(humi, TRAIT_RESISTHEAT)) - // Clear cold mood and apply hot mood - humi.clear_mood_event("cold") - humi.add_mood_event("hot", /datum/mood_event/hot) - - //Remove any slowdown from the cold. - humi.remove_movespeed_modifier(/datum/movespeed_modifier/cold) - // display alerts based on how hot it is - // Can't be a switch due to http://www.byond.com/forum/post/2750423 - if(bodytemp in bodytemp_heat_damage_limit to BODYTEMP_HEAT_WARNING_2) - humi.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) - else if(bodytemp in BODYTEMP_HEAT_WARNING_2 to BODYTEMP_HEAT_WARNING_3) - humi.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) - else - humi.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) - - // Body temperature is too cold, and we do not have resist traits - else if(bodytemp < bodytemp_cold_damage_limit && !HAS_TRAIT(humi, TRAIT_RESISTCOLD)) - // clear any hot moods and apply cold mood - humi.clear_mood_event("hot") - humi.add_mood_event("cold", /datum/mood_event/cold) - // Apply cold slow down - humi.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/cold, multiplicative_slowdown = ((bodytemp_cold_damage_limit - humi.bodytemperature) / COLD_SLOWDOWN_FACTOR)) - // Display alerts based how cold it is - // Can't be a switch due to http://www.byond.com/forum/post/2750423 - if(bodytemp in BODYTEMP_COLD_WARNING_2 to bodytemp_cold_damage_limit) - humi.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) - else if(bodytemp in BODYTEMP_COLD_WARNING_3 to BODYTEMP_COLD_WARNING_2) - humi.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) - else - humi.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) - - // We are not to hot or cold, remove status and moods - // Optimization here, we check these things based off the old temperature to avoid unneeded work - // We're not perfect about this, because it'd just add more work to the base case, and resistances are rare - else if (old_bodytemp > bodytemp_heat_damage_limit || old_bodytemp < bodytemp_cold_damage_limit) - humi.clear_alert(ALERT_TEMPERATURE) - humi.remove_movespeed_modifier(/datum/movespeed_modifier/cold) - humi.clear_mood_event("cold") - humi.clear_mood_event("hot") - - // Store the old bodytemp for future checking - humi.old_bodytemperature = bodytemp - -/** - * Used to apply wounds and damage based on core/body temp - * vars: - * * humi (required) The mob we will targeting - */ -/datum/species/proc/body_temperature_damage(mob/living/carbon/human/humi, seconds_per_tick, times_fired) - - //If the body temp is above the wound limit start adding exposure stacks - if(humi.bodytemperature > BODYTEMP_HEAT_WOUND_LIMIT) - humi.heat_exposure_stacks = min(humi.heat_exposure_stacks + (0.5 * seconds_per_tick), 40) - else //When below the wound limit, reduce the exposure stacks fast. - humi.heat_exposure_stacks = max(humi.heat_exposure_stacks - (2 * seconds_per_tick), 0) - - //when exposure stacks are greater then 10 + rand20 try to apply wounds and reset stacks - if(humi.heat_exposure_stacks > (10 + rand(0, 20))) - apply_burn_wounds(humi, seconds_per_tick, times_fired) - humi.heat_exposure_stacks = 0 - - // Body temperature is too hot, and we do not have resist traits - // Apply some burn damage to the body - if(humi.coretemperature > bodytemp_heat_damage_limit && !HAS_TRAIT(humi, TRAIT_RESISTHEAT)) - var/firemodifier = humi.fire_stacks / 50 - if (!humi.on_fire) // We are not on fire, reduce the modifier - firemodifier = min(firemodifier, 0) - - // this can go below 5 at log 2.5 - var/burn_damage = max(log(2 - firemodifier, (humi.coretemperature - humi.get_body_temp_normal(apply_change=FALSE))) - 5, 0) - - // Apply species and physiology modifiers to heat damage - burn_damage = burn_damage * heatmod * humi.physiology.heat_mod * 0.5 * seconds_per_tick - - // 40% for level 3 damage on humans to scream in pain - if (humi.stat < UNCONSCIOUS && (prob(burn_damage) * 10) / 4) - humi.emote("scream") - - // Apply the damage to all body parts - humi.apply_damage(burn_damage, BURN, spread_damage = TRUE) - - // Apply some burn / brute damage to the body (Dependent if the person is hulk or not) - var/is_hulk = HAS_TRAIT(humi, TRAIT_HULK) - - var/cold_damage_limit = bodytemp_cold_damage_limit + (is_hulk ? BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER : 0) - - if(humi.coretemperature < cold_damage_limit && !HAS_TRAIT(humi, TRAIT_RESISTCOLD)) - var/damage_type = is_hulk ? BRUTE : BURN // Why? - var/damage_mod = coldmod * humi.physiology.cold_mod * (is_hulk ? HULK_COLD_DAMAGE_MOD : 1) - // Can't be a switch due to http://www.byond.com/forum/post/2750423 - if(humi.coretemperature in 201 to cold_damage_limit) - humi.apply_damage(COLD_DAMAGE_LEVEL_1 * damage_mod * seconds_per_tick, damage_type) - else if(humi.coretemperature in 120 to 200) - humi.apply_damage(COLD_DAMAGE_LEVEL_2 * damage_mod * seconds_per_tick, damage_type) - else - humi.apply_damage(COLD_DAMAGE_LEVEL_3 * damage_mod * seconds_per_tick, damage_type) - -/** - * Used to apply burn wounds on random limbs - * - * This is called from body_temperature_damage when exposure to extream heat adds up and causes a wound. - * The wounds will increase in severity as the temperature increases. - * vars: - * * humi (required) The mob we will targeting - */ -/datum/species/proc/apply_burn_wounds(mob/living/carbon/human/humi, seconds_per_tick, times_fired) - // If we are resistant to heat exit - if(HAS_TRAIT(humi, TRAIT_RESISTHEAT)) - return - - // If our body temp is to low for a wound exit - if(humi.bodytemperature < BODYTEMP_HEAT_WOUND_LIMIT) - return - - // Lets pick a random body part and check for an existing burn - var/obj/item/bodypart/bodypart = pick(humi.bodyparts) - var/datum/wound/existing_burn - for (var/datum/wound/iterated_wound as anything in bodypart.wounds) - var/datum/wound_pregen_data/pregen_data = iterated_wound.get_pregen_data() - if (pregen_data.wound_series in GLOB.wounding_types_to_series[WOUND_BURN]) - existing_burn = iterated_wound - break - // If we have an existing burn try to upgrade it - var/severity - if(existing_burn) - switch(existing_burn.severity) - if(WOUND_SEVERITY_MODERATE) - if(humi.bodytemperature > BODYTEMP_HEAT_WOUND_LIMIT + 400) // 800k - severity = WOUND_SEVERITY_SEVERE - if(WOUND_SEVERITY_SEVERE) - if(humi.bodytemperature > BODYTEMP_HEAT_WOUND_LIMIT + 2800) // 3200k - severity = WOUND_SEVERITY_CRITICAL - else // If we have no burn apply the lowest level burn - severity = WOUND_SEVERITY_MODERATE - - humi.cause_wound_of_type_and_severity(WOUND_BURN, bodypart, severity, wound_source = "hot temperatures") - - // always take some burn damage - var/burn_damage = HEAT_DAMAGE_LEVEL_1 - if(humi.bodytemperature > BODYTEMP_HEAT_WOUND_LIMIT + 400) - burn_damage = HEAT_DAMAGE_LEVEL_2 - if(humi.bodytemperature > BODYTEMP_HEAT_WOUND_LIMIT + 2800) - burn_damage = HEAT_DAMAGE_LEVEL_3 - - humi.apply_damage(burn_damage * seconds_per_tick, BURN, bodypart) - -/// Handle the air pressure of the environment -/datum/species/proc/handle_environment_pressure(mob/living/carbon/human/H, datum/gas_mixture/environment, seconds_per_tick, times_fired) - var/pressure = environment.return_pressure() - var/adjusted_pressure = H.calculate_affecting_pressure(pressure) - - // Set alerts and apply damage based on the amount of pressure - switch(adjusted_pressure) - // Very high pressure, show an alert and take damage - if(HAZARD_HIGH_PRESSURE to INFINITY) - if(HAS_TRAIT(H, TRAIT_RESISTHIGHPRESSURE)) - H.clear_alert(ALERT_PRESSURE) - else - var/pressure_damage = min(((adjusted_pressure / HAZARD_HIGH_PRESSURE) - 1) * PRESSURE_DAMAGE_COEFFICIENT, MAX_HIGH_PRESSURE_DAMAGE) * H.physiology.pressure_mod * H.physiology.brute_mod * seconds_per_tick - H.adjustBruteLoss(pressure_damage, required_bodytype = BODYTYPE_ORGANIC) - H.throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/highpressure, 2) - - // High pressure, show an alert - if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) - H.throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/highpressure, 1) - - // No pressure issues here clear pressure alerts - if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) - H.clear_alert(ALERT_PRESSURE) - - // Low pressure here, show an alert - if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - // We have low pressure resit trait, clear alerts - if(HAS_TRAIT(H, TRAIT_RESISTLOWPRESSURE)) - H.clear_alert(ALERT_PRESSURE) - else - H.throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/lowpressure, 1) - - // Very low pressure, show an alert and take damage - else - // We have low pressure resit trait, clear alerts - if(HAS_TRAIT(H, TRAIT_RESISTLOWPRESSURE)) - H.clear_alert(ALERT_PRESSURE) - else - var/pressure_damage = LOW_PRESSURE_DAMAGE * H.physiology.pressure_mod * H.physiology.brute_mod * seconds_per_tick - H.adjustBruteLoss(pressure_damage, required_bodytype = BODYTYPE_ORGANIC) - H.throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/lowpressure, 2) - - -////////// -// FIRE // -////////// - -/datum/species/proc/handle_fire(mob/living/carbon/human/H, seconds_per_tick, times_fired, no_protection = FALSE) - return no_protection - //////////// // Stun // //////////// @@ -1877,7 +1506,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if ( \ (preference.relevant_mutant_bodypart in mutant_bodyparts) \ - || (preference.relevant_species_trait in species_traits) \ + || (preference.relevant_inherent_trait in inherent_traits) \ || (preference.relevant_external_organ in external_organs) \ || (preference.relevant_head_flag && check_head_flags(preference.relevant_head_flag)) \ ) @@ -1897,10 +1526,6 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/prepare_human_for_preview(mob/living/carbon/human/human) return -/// Returns the species's scream sound. -/datum/species/proc/get_scream_sound(mob/living/carbon/human/human) - return - /datum/species/proc/get_types_to_preload() var/list/to_store = list() to_store += mutant_organs @@ -1954,21 +1579,16 @@ GLOBAL_LIST_EMPTY(features_by_species) * Returns a list, or null if they have no diet. */ /datum/species/proc/get_species_diet() - if(TRAIT_NOHUNGER in inherent_traits) + if((TRAIT_NOHUNGER in inherent_traits) || !mutanttongue) return null - var/list/food_flags = FOOD_FLAGS + var/static/list/food_flags = FOOD_FLAGS + var/obj/item/organ/internal/tongue/fake_tongue = mutanttongue - if(HAS_TRAIT(src, TRAIT_FLESH_DESIRE)) - return list( - "liked_food" = bitfield_to_list(GORE | MEAT, food_flags), - "disliked_food" = null, - "toxic_food" = bitfield_to_list(VEGETABLES | DAIRY | FRUIT | FRIED, food_flags), - ) return list( - "liked_food" = bitfield_to_list(liked_food, food_flags), - "disliked_food" = bitfield_to_list(disliked_food, food_flags), - "toxic_food" = bitfield_to_list(toxic_food, food_flags), + "liked_food" = bitfield_to_list(initial(fake_tongue.liked_foodtypes), food_flags), + "disliked_food" = bitfield_to_list(initial(fake_tongue.disliked_foodtypes), food_flags), + "toxic_food" = bitfield_to_list(initial(fake_tongue.toxic_foodtypes), food_flags), ) /** @@ -2158,35 +1778,32 @@ GLOBAL_LIST_EMPTY(features_by_species) SPECIES_PERK_DESC = "[plural_form] do not have blood.", )) - // Otherwise, check if their exotic blood is a valid typepath - else if(ispath(exotic_blood)) - to_add += list(list( - SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, - SPECIES_PERK_ICON = "tint", - SPECIES_PERK_NAME = initial(exotic_blood.name), - SPECIES_PERK_DESC = "[name] blood is [initial(exotic_blood.name)], which can make recieving medical treatment harder.", - )) - // Otherwise otherwise, see if they have an exotic bloodtype set else if(exotic_bloodtype) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, SPECIES_PERK_ICON = "tint", - SPECIES_PERK_NAME = "Exotic Blood", - SPECIES_PERK_DESC = "[plural_form] have \"[exotic_bloodtype]\" type blood, which can make recieving medical treatment harder.", + SPECIES_PERK_NAME = initial(exotic_bloodtype.name), + SPECIES_PERK_DESC = "[name] blood is [initial(exotic_bloodtype.name)], which can make recieving medical treatment", )) return to_add /** - * Adds adds any perks related to the species' inherent_traits list. + * Adds adds any perks related to the species' inherent_traits list or override body traits. * * Returns a list containing perks, or an empty list. */ /datum/species/proc/create_pref_traits_perks() var/list/to_add = list() - - if(TRAIT_LIMBATTACHMENT in inherent_traits) + var/list/trait_list = list() + trait_list |= inherent_traits.Copy() + for(var/type in bodypart_overrides) + var/obj/item/bodypart/bodypart = bodypart_overrides[type] + var/obj/item/bodypart/new_bodypart = new bodypart + trait_list |= new_bodypart.bodypart_traits.Copy() + + if(TRAIT_LIMBATTACHMENT in trait_list) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, SPECIES_PERK_ICON = "user-plus", @@ -2195,7 +1812,7 @@ GLOBAL_LIST_EMPTY(features_by_species) require surgery to restore. Simply pick it up and pop it back in, champ!", )) - if(TRAIT_EASYDISMEMBER in inherent_traits) + if(TRAIT_EASYDISMEMBER in trait_list) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "user-times", @@ -2203,7 +1820,7 @@ GLOBAL_LIST_EMPTY(features_by_species) SPECIES_PERK_DESC = "[plural_form] limbs are not secured well, and as such they are easily dismembered.", )) - if(TRAIT_EASILY_WOUNDED in inherent_traits) + if(TRAIT_EASILY_WOUNDED in trait_list) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "user-times", @@ -2211,7 +1828,7 @@ GLOBAL_LIST_EMPTY(features_by_species) SPECIES_PERK_DESC = "[plural_form] skin is very weak and fragile. They are much easier to apply serious wounds to.", )) - if(TRAIT_TOXINLOVER in inherent_traits) + if(TRAIT_TOXINLOVER in trait_list) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, SPECIES_PERK_ICON = "syringe", diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 656684c4e15fec..da1a93ed680275 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -21,7 +21,7 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift) else new /obj/effect/decal/remains/human(loc) -/mob/living/carbon/human/death(gibbed) +/mob/living/carbon/human/death(gibbed, cause_of_death = get_cause_of_death()) if(stat == DEAD) return stop_sound_channel(CHANNEL_HEARTBEAT) @@ -49,6 +49,67 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift) to_chat(src, span_warning("You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.")) to_chat(src, span_greentext("You can no longer recall who was responsible for your death.")) // MONKESTATION EDIT: making an explicit request that someone review DA RULEZ. + var/death_block = "" + death_block += span_danger("
You have succumbed to [cause_of_death].
") + death_block += "
" + death_block += span_danger("Barring complete bodyloss, you can (in most cases) be revived by other players. \ + If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.") + to_chat(src, examine_block(death_block)) + +/mob/living/carbon/human/proc/get_cause_of_death(probable_cause) + switch(probable_cause) + // This should all be refactored later it's a bit of a mess ngl + if(null, "revival_sickess", "anesthetics") + return "unknown causes" + + if(OXY_DAMAGE) + var/obj/item/organ/internal/lungs/lungs = get_organ_slot(ORGAN_SLOT_LUNGS) + if(isnull(lungs) || (lungs.organ_flags & ORGAN_FAILING)) + return "lung failure" + + if(!HAS_TRAIT(src, TRAIT_NOBLOOD) && blood_volume < BLOOD_VOLUME_BAD) + return BLOOD_LOSS + + if(TOX_DAMAGE) + var/obj/item/organ/internal/liver/liver = get_organ_slot(ORGAN_SLOT_LIVER) + if(isnull(liver) || (liver.organ_flags & ORGAN_FAILING)) + return "liver failure" + + var/datum/reagent/toxin/most_toxic + for(var/datum/reagent/toxin/poison in reagents?.reagent_list) + if(!most_toxic || most_toxic.toxpwr < poison.toxpwr) + most_toxic = poison + + if(most_toxic) + return "[lowertext(most_toxic.name)] poisoning" + + if("heart_attack") + return "cardiac arrest" + + if("drunk") + var/datum/reagent/consumable/ethanol/most_alcohol + for(var/datum/reagent/consumable/ethanol/alcohol in reagents?.reagent_list) + if(!most_alcohol || most_alcohol.boozepwr < alcohol.boozepwr) + most_alcohol = alcohol + + if(most_alcohol) + return "alcohol poisoning ([lowertext(most_alcohol.name)])" + + return "alcohol poisoning" + + if("thermia") + if(bodytemperature < standard_body_temperature) + return "hypothermia" + return "hyperthermia" + + else + if(findtext(probable_cause, "disease")) + return "disease" + if(findtext(probable_cause, "addiction")) + return "addiction" + + return probable_cause + /mob/living/carbon/human/proc/reagents_readout() var/readout = "Blood:" for(var/datum/reagent/reagent in reagents?.reagent_list) diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index fb6762f4863ff7..0a49e5957604c6 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -94,14 +94,11 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) return /proc/create_consistent_human_dna(mob/living/carbon/human/target) - target.dna.initialize_dna(skip_index = TRUE) + target.dna.initialize_dna(/datum/blood_type/crew/human/o_plus, skip_index = TRUE) target.dna.features["body_markings"] = "None" target.dna.features["ears"] = "None" - target.dna.features["ethcolor"] = COLOR_WHITE target.dna.features["frills"] = "None" target.dna.features["horns"] = "None" - target.dna.features["mcolor"] = COLOR_VIBRANT_LIME - target.dna.features["mcolor_secondary"] = COLOR_VIBRANT_LIME target.dna.features["moth_antennae"] = "Plain" target.dna.features["moth_markings"] = "None" target.dna.features["moth_wings"] = "Plain" @@ -127,6 +124,11 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) target.dna.features["satyr_tail"] = "Short" //Monkestation Addition target.dna.features["satyr_horns"] = "Back" //Monkestation Addition + var/datum/color_palette/generic_colors/palette = target.dna.color_palettes[/datum/color_palette/generic_colors] + palette.mutant_color = COLOR_VIBRANT_LIME + palette.mutant_color_secondary = COLOR_VIBRANT_LIME + palette.ethereal_color = COLOR_WHITE + /// Provides a dummy that is consistently bald, white, naked, etc. /mob/living/carbon/human/dummy/consistent diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 5b9cd941a31087..cc17b653c1829e 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -242,7 +242,7 @@ msg += "[t_He] look[p_s()] extremely disgusted.\n" var/apparent_blood_volume = blood_volume - if((dna.species.use_skintones)&& skin_tone == "albino") + if(HAS_TRAIT(src, TRAIT_USES_SKINTONES) && (skin_tone == "albino")) apparent_blood_volume -= 150 // enough to knock you down one tier if(isethereal(src))//Monkestation Changes Start: if(appears_dead) @@ -334,9 +334,9 @@ msg += "[t_He] appear[p_s()] to be staring off into space.\n" if (HAS_TRAIT(src, TRAIT_DEAF)) msg += "[t_He] appear[p_s()] to not be responding to noises.\n" - if (bodytemperature > dna.species.bodytemp_heat_damage_limit) + if (bodytemperature > bodytemp_heat_damage_limit) msg += "[t_He] [t_is] flushed and wheezing.\n" - if (bodytemperature < dna.species.bodytemp_cold_damage_limit) + if (bodytemperature < bodytemp_cold_damage_limit) msg += "[t_He] [t_is] shivering.\n" msg += "
" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c67ff29b4e13c2..423d1b817c3811 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -48,6 +48,8 @@ become_blind(NO_EYES) // Mobs cannot taste anything without a tongue; the tongue organ removes this on Insert ADD_TRAIT(src, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) + // No lungs until you get lungs + apply_status_effect(/datum/status_effect/lungless) /mob/living/carbon/human/proc/setup_human_dna() //initialize dna. for spawned humans; overwritten by other code @@ -713,11 +715,6 @@ for(var/datum/mutation/human/existing_mutation in dna.mutations) if(existing_mutation.quality != POSITIVE) dna.remove_mutation(existing_mutation.name) - - if(heal_flags & HEAL_TEMP) - set_coretemperature(get_body_temp_normal(apply_change = FALSE)) - heat_exposure_stacks = 0 - return ..() /mob/living/carbon/human/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, vomit_type = VOMIT_TOXIC, harm = TRUE, force = FALSE, purge_ratio = 0.1) @@ -898,24 +895,30 @@ return ..() + +/mob/living/carbon/human/reagent_check(datum/reagent/chem, seconds_per_tick, times_fired) + . = ..() + if(. & COMSIG_MOB_STOP_REAGENT_CHECK) + return + return dna.species.handle_chemical(chem, src, seconds_per_tick, times_fired) + /mob/living/carbon/human/updatehealth() . = ..() dna?.species.spec_updatehealth(src) - if(HAS_TRAIT(src, TRAIT_IGNOREDAMAGESLOWDOWN)) - remove_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown) - remove_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown_flying) - return + update_damage_movespeed() + +/mob/living/carbon/human/proc/update_damage_movespeed() var/health_deficiency = max((maxHealth - health), staminaloss) if(health_deficiency >= 40) add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown, TRUE, multiplicative_slowdown = health_deficiency / 75) add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown_flying, TRUE, multiplicative_slowdown = health_deficiency / 25) - else + else if(LAZYACCESS(movespeed_modification, "[/datum/movespeed_modifier/damage_slowdown]")) remove_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown) remove_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown_flying) /mob/living/carbon/human/pre_stamina_change(diff as num, forced) if(diff < 0) //Taking damage, not healing - return diff * physiology.stamina_mod + return diff * physiology.stamina_mod * physiology.temp_stamina_mod return diff /mob/living/carbon/human/adjust_nutrition(change) //Honestly FUCK the oldcoders for putting nutrition on /mob someone else can move it up because holy hell I'd have to fix SO many typechecks @@ -928,16 +931,6 @@ return FALSE return ..() -/mob/living/carbon/human/is_bleeding() - if(HAS_TRAIT(src, TRAIT_NOBLOOD)) - return FALSE - return ..() - -/mob/living/carbon/human/get_total_bleed_rate() - if(HAS_TRAIT(src, TRAIT_NOBLOOD)) - return FALSE - return ..() - /mob/living/carbon/human/get_exp_list(minutes) . = ..() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a51504d92cd9a7..8b91fd1e1ebd57 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -900,9 +900,19 @@ burning.fire_act((stacks * 25 * seconds_per_tick)) //damage taken is reduced to 2% of this value by fire_act() /mob/living/carbon/human/on_fire_stack(seconds_per_tick, times_fired, datum/status_effect/fire_handler/fire_stacks/fire_handler) - SEND_SIGNAL(src, COMSIG_HUMAN_BURNING) - burn_clothing(seconds_per_tick, times_fired, fire_handler.stacks) - var/no_protection = FALSE - if(dna && dna.species) - no_protection = dna.species.handle_fire(src, seconds_per_tick, times_fired, no_protection) - fire_handler.harm_human(seconds_per_tick, times_fired, no_protection) + var/sigreturn = SEND_SIGNAL(src, COMSIG_HUMAN_BURNING) + if(sigreturn & BURNING_HANDLED) + return 0 + + burn_clothing(seconds_per_tick, fire_handler.stacks) + if(!(sigreturn & BURNING_SKIP_PROTECTION)) + if(get_insulation(FIRE_IMMUNITY_MAX_TEMP_PROTECT) >= 0.9) + return 0 + if(get_insulation(FIRE_SUIT_MAX_TEMP_PROTECT) >= 0.9) + return adjust_bodytemperature(HEAT_PER_FIRE_STACK * 0.2 * fire_handler.stacks * seconds_per_tick) + + . = ..() + if(. && !HAS_TRAIT(src, TRAIT_RESISTHEAT)) + add_mood_event("on_fire", /datum/mood_event/on_fire) + add_mob_memory(/datum/memory/was_burning) + return . diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 13db05913a0e85..352d54dfa93332 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -13,6 +13,9 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID can_be_shoved_into = TRUE + bodytemp_cold_damage_limit = BODYTEMP_COLD_DAMAGE_LIMIT + bodytemp_heat_damage_limit = BODYTEMP_HEAT_DAMAGE_LIMIT + //Hair colour and style var/hair_color = "#000000" var/hairstyle = "Bald" @@ -80,12 +83,6 @@ /// How many "units of blood" we have on our hands var/blood_in_hands = 0 - /// The core temperature of the human compaired to the skin temp of the body - var/coretemperature = BODYTEMP_NORMAL - - ///Exposure to damaging heat levels increases stacks, stacks clean over time when temperatures are lower. Stack is consumed to add a wound. - var/heat_exposure_stacks = 0 - /// When an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds var/list/afk_thefts diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index de565725dbb6c2..df3f8a716b7ee9 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -110,25 +110,16 @@ //Check inventory slots return (wear_id?.GetID() || belt?.GetID()) -/mob/living/carbon/human/reagent_check(datum/reagent/R, seconds_per_tick, times_fired) - return dna.species.handle_chemicals(R, src, seconds_per_tick, times_fired) - // if it returns 0, it will run the usual on_mob_life for that reagent. otherwise, it will stop after running handle_chemicals for the species. - /mob/living/carbon/human/can_use_guns(obj/item/G) . = ..() if(G.trigger_guard == TRIGGER_GUARD_NORMAL) - if(check_chunky_fingers()) + if(HAS_TRAIT(src, TRAIT_CHUNKYFINGERS)) balloon_alert(src, "fingers are too big!") return FALSE if(HAS_TRAIT(src, TRAIT_NOGUNS)) to_chat(src, span_warning("You can't bring yourself to use a ranged weapon!")) return FALSE -/mob/living/carbon/human/proc/check_chunky_fingers() - if(HAS_TRAIT_NOT_FROM(src, TRAIT_CHUNKYFINGERS, RIGHT_ARM_TRAIT) && HAS_TRAIT_NOT_FROM(src, TRAIT_CHUNKYFINGERS, LEFT_ARM_TRAIT)) - return TRUE - return (active_hand_index % 2) ? HAS_TRAIT_FROM(src, TRAIT_CHUNKYFINGERS, LEFT_ARM_TRAIT) : HAS_TRAIT_FROM(src, TRAIT_CHUNKYFINGERS, RIGHT_ARM_TRAIT) - /mob/living/carbon/human/get_policy_keywords() . = ..() . += "[dna.species.type]" 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 ec7f482ae1d97a..c3ee8c1eda32f3 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -177,7 +177,8 @@ There are several things that need to be remembered: if(isnull(gloves)) if(blood_in_hands && num_hands > 0) // When byond gives us filters that respect dirs we can just use an alpha mask for this but until then, two icons weeeee - var/mutable_appearance/hands_combined = mutable_appearance(layer = -GLOVES_LAYER, appearance_flags = KEEP_TOGETHER) + var/mutable_appearance/hands_combined = mutable_appearance(layer = -GLOVES_LAYER) + hands_combined.color = get_blood_dna_color() if(has_left_hand(check_disabled = FALSE)) hands_combined.overlays += mutable_appearance('icons/effects/blood.dmi', "bloodyhands_left") if(has_right_hand(check_disabled = FALSE)) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index dba314b1842412..dd773b11ffeb44 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -1,7 +1,9 @@ /mob/living/carbon/human/can_equip(obj/item/equip_target, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE, ignore_equipped = FALSE) if(SEND_SIGNAL(src, COMSIG_HUMAN_EQUIPPING_ITEM, equip_target, slot) == COMPONENT_BLOCK_EQUIP) return FALSE - + if((slot & ITEM_SLOT_FEET) && HAS_TRAIT(src, TRAIT_NON_IMPORTANT_SHOE_BLOCK)) + if(!istype(equip_target, /obj/item/clothing/shoes/mod)) + return FALSE return dna.species.can_equip(equip_target, slot, disable_warning, src, bypass_equip_delay_self, ignore_equipped) /mob/living/carbon/human/get_item_by_slot(slot_id) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 6ed3dd27443376..9f9a27e6adcfe6 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1,22 +1,7 @@ - -//NOTE: Breathing happens once per FOUR TICKS, unless the last breath fails. In which case it happens once per ONE TICK! So oxyloss healing is done once per 4 ticks while oxyloss damage is applied once per tick! - -// bitflags for the percentual amount of protection a piece of clothing which covers the body part offers. -// Used with human/proc/get_heat_protection() and human/proc/get_cold_protection() -// The values here should add up to 1. -// Hands and feet have 2.5%, arms and legs 7.5%, each of the torso parts has 15% and the head has 30% -#define THERMAL_PROTECTION_HEAD 0.3 -#define THERMAL_PROTECTION_CHEST 0.15 -#define THERMAL_PROTECTION_GROIN 0.15 -#define THERMAL_PROTECTION_LEG_LEFT 0.075 -#define THERMAL_PROTECTION_LEG_RIGHT 0.075 -#define THERMAL_PROTECTION_FOOT_LEFT 0.025 -#define THERMAL_PROTECTION_FOOT_RIGHT 0.025 -#define THERMAL_PROTECTION_ARM_LEFT 0.075 -#define THERMAL_PROTECTION_ARM_RIGHT 0.075 -#define THERMAL_PROTECTION_HAND_LEFT 0.025 -#define THERMAL_PROTECTION_HAND_RIGHT 0.025 +// NOTE: Breathing happens once per FOUR TICKS, unless the last breath fails. +// In which case it happens once per ONE TICK! +// So oxyloss healing is done once per 4 ticks while oxyloss damage is applied once per tick! /mob/living/carbon/human/Life(seconds_per_tick = SSMOBS_DT, times_fired) if(HAS_TRAIT(src, TRAIT_NO_TRANSFORM)) @@ -26,9 +11,6 @@ if(QDELETED(src)) return FALSE - //Body temperature stability and damage - dna.species.handle_body_temperature(src, seconds_per_tick, times_fired) - if(!HAS_TRAIT(src, TRAIT_STASIS)) if(.) //not dead @@ -71,210 +53,25 @@ return (occupied_space.contents_pressure_protection * ONE_ATMOSPHERE + (1 - occupied_space.contents_pressure_protection) * pressure) return pressure -/mob/living/carbon/human/breathe() - if(!HAS_TRAIT(src, TRAIT_NOBREATH)) - return ..() - -/mob/living/carbon/human/check_breath(datum/gas_mixture/breath) - var/L = get_organ_slot(ORGAN_SLOT_LUNGS) +/mob/living/carbon/human/check_breath(datum/gas_mixture/breath, skip_breath = FALSE) + var/obj/item/organ/internal/lungs/human_lungs = get_organ_slot(ORGAN_SLOT_LUNGS) + if(human_lungs) + return human_lungs.check_breath(breath, src, skip_breath) - if(!L) - if(health >= crit_threshold) - adjustOxyLoss(HUMAN_MAX_OXYLOSS + 1) - else if(!HAS_TRAIT(src, TRAIT_NOCRITDAMAGE)) - adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS) + failed_last_breath = TRUE - failed_last_breath = TRUE + var/datum/species/human_species = dna.species - var/datum/species/S = dna.species - - if(S.breathid == "o2") + switch(human_species.breathid) + if("o2") throw_alert(ALERT_NOT_ENOUGH_OXYGEN, /atom/movable/screen/alert/not_enough_oxy) - else if(S.breathid == "plas") + if("plas") throw_alert(ALERT_NOT_ENOUGH_PLASMA, /atom/movable/screen/alert/not_enough_plas) - else if(S.breathid == "co2") + if("co2") throw_alert(ALERT_NOT_ENOUGH_CO2, /atom/movable/screen/alert/not_enough_co2) - else if(S.breathid == "n2") + if("n2") throw_alert(ALERT_NOT_ENOUGH_NITRO, /atom/movable/screen/alert/not_enough_nitro) - - return FALSE - else - if(istype(L, /obj/item/organ/internal/lungs)) - var/obj/item/organ/internal/lungs/lun = L - lun.check_breath(breath,src) - -/// Environment handlers for species -/mob/living/carbon/human/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) - // If we are in a cryo bed do not process life functions - if(istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) - return - - dna.species.handle_environment(src, environment, seconds_per_tick, times_fired) - -/** - * Adjust the core temperature of a mob - * - * vars: - * * amount The amount of degrees to change body temperature by - * * min_temp (optional) The minimum body temperature after adjustment - * * max_temp (optional) The maximum body temperature after adjustment - */ -/mob/living/carbon/human/proc/adjust_coretemperature(amount, min_temp=0, max_temp=INFINITY) - set_coretemperature(clamp(coretemperature + amount, min_temp, max_temp)) - -/mob/living/carbon/human/proc/set_coretemperature(value) - SEND_SIGNAL(src, COMSIG_HUMAN_CORETEMP_CHANGE, coretemperature, value) - coretemperature = value - -/** - * get_body_temperature Returns the body temperature with any modifications applied - * - * This applies the result from proc/get_body_temp_normal_change() against the bodytemp_normal - * for the species and returns the result - * - * arguments: - * * apply_change (optional) Default True This applies the changes to body temperature normal - */ -/mob/living/carbon/human/get_body_temp_normal(apply_change=TRUE) - if(!apply_change) - return dna.species.bodytemp_normal - return dna.species.bodytemp_normal + get_body_temp_normal_change() - -/mob/living/carbon/human/get_body_temp_heat_damage_limit() - return dna.species.bodytemp_heat_damage_limit - -/mob/living/carbon/human/get_body_temp_cold_damage_limit() - return dna.species.bodytemp_cold_damage_limit - -/mob/living/carbon/human/proc/get_thermal_protection() - var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures - if(wear_suit) - if((wear_suit.heat_protection & CHEST) && (wear_suit.max_heat_protection_temperature >= FIRE_SUIT_MAX_TEMP_PROTECT)) - thermal_protection += (wear_suit.max_heat_protection_temperature * 0.7) - if(head) - if((head.heat_protection & HEAD) && (head.max_heat_protection_temperature >= FIRE_HELM_MAX_TEMP_PROTECT)) - thermal_protection += (head.max_heat_protection_temperature * THERMAL_PROTECTION_HEAD) - thermal_protection = round(thermal_protection) - return thermal_protection - -//END FIRE CODE - -//This proc returns a number made up of the flags for body parts which you are protected on. (such as HEAD, CHEST, GROIN, etc. See setup.dm for the full list) -/mob/living/carbon/human/proc/get_heat_protection_flags(temperature) //Temperature is the temperature you're being exposed to. - var/thermal_protection_flags = 0 - //Handle normal clothing - if(head) - if(head.max_heat_protection_temperature && head.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= head.heat_protection - if(wear_suit) - if(wear_suit.max_heat_protection_temperature && wear_suit.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= wear_suit.heat_protection - if(w_uniform) - if(w_uniform.max_heat_protection_temperature && w_uniform.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= w_uniform.heat_protection - if(shoes) - if(shoes.max_heat_protection_temperature && shoes.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= shoes.heat_protection - if(gloves) - if(gloves.max_heat_protection_temperature && gloves.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= gloves.heat_protection - if(wear_mask) - if(wear_mask.max_heat_protection_temperature && wear_mask.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= wear_mask.heat_protection - - return thermal_protection_flags - -/mob/living/carbon/human/get_heat_protection(temperature) - var/thermal_protection_flags = get_heat_protection_flags(temperature) - var/thermal_protection = heat_protection - - // Apply clothing items protection - if(thermal_protection_flags) - if(thermal_protection_flags & HEAD) - thermal_protection += THERMAL_PROTECTION_HEAD - if(thermal_protection_flags & CHEST) - thermal_protection += THERMAL_PROTECTION_CHEST - if(thermal_protection_flags & GROIN) - thermal_protection += THERMAL_PROTECTION_GROIN - if(thermal_protection_flags & LEG_LEFT) - thermal_protection += THERMAL_PROTECTION_LEG_LEFT - if(thermal_protection_flags & LEG_RIGHT) - thermal_protection += THERMAL_PROTECTION_LEG_RIGHT - if(thermal_protection_flags & FOOT_LEFT) - thermal_protection += THERMAL_PROTECTION_FOOT_LEFT - if(thermal_protection_flags & FOOT_RIGHT) - thermal_protection += THERMAL_PROTECTION_FOOT_RIGHT - if(thermal_protection_flags & ARM_LEFT) - thermal_protection += THERMAL_PROTECTION_ARM_LEFT - if(thermal_protection_flags & ARM_RIGHT) - thermal_protection += THERMAL_PROTECTION_ARM_RIGHT - if(thermal_protection_flags & HAND_LEFT) - thermal_protection += THERMAL_PROTECTION_HAND_LEFT - if(thermal_protection_flags & HAND_RIGHT) - thermal_protection += THERMAL_PROTECTION_HAND_RIGHT - - return min(1, thermal_protection) - -//See proc/get_heat_protection_flags(temperature) for the description of this proc. -/mob/living/carbon/human/proc/get_cold_protection_flags(temperature) - var/thermal_protection_flags = 0 - //Handle normal clothing - - if(head) - if(head.min_cold_protection_temperature && head.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= head.cold_protection - if(wear_suit) - if(wear_suit.min_cold_protection_temperature && wear_suit.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= wear_suit.cold_protection - if(w_uniform) - if(w_uniform.min_cold_protection_temperature && w_uniform.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= w_uniform.cold_protection - if(shoes) - if(shoes.min_cold_protection_temperature && shoes.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= shoes.cold_protection - if(gloves) - if(gloves.min_cold_protection_temperature && gloves.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= gloves.cold_protection - if(wear_mask) - if(wear_mask.min_cold_protection_temperature && wear_mask.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= wear_mask.cold_protection - - return thermal_protection_flags - -/mob/living/carbon/human/get_cold_protection(temperature) - // There is an occasional bug where the temperature is miscalculated in areas with small amounts of gas. - // This is necessary to ensure that does not affect this calculation. - // Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K. - temperature = max(temperature, 2.7) - var/thermal_protection_flags = get_cold_protection_flags(temperature) - var/thermal_protection = cold_protection - - // Apply clothing items protection - if(thermal_protection_flags) - if(thermal_protection_flags & HEAD) - thermal_protection += THERMAL_PROTECTION_HEAD - if(thermal_protection_flags & CHEST) - thermal_protection += THERMAL_PROTECTION_CHEST - if(thermal_protection_flags & GROIN) - thermal_protection += THERMAL_PROTECTION_GROIN - if(thermal_protection_flags & LEG_LEFT) - thermal_protection += THERMAL_PROTECTION_LEG_LEFT - if(thermal_protection_flags & LEG_RIGHT) - thermal_protection += THERMAL_PROTECTION_LEG_RIGHT - if(thermal_protection_flags & FOOT_LEFT) - thermal_protection += THERMAL_PROTECTION_FOOT_LEFT - if(thermal_protection_flags & FOOT_RIGHT) - thermal_protection += THERMAL_PROTECTION_FOOT_RIGHT - if(thermal_protection_flags & ARM_LEFT) - thermal_protection += THERMAL_PROTECTION_ARM_LEFT - if(thermal_protection_flags & ARM_RIGHT) - thermal_protection += THERMAL_PROTECTION_ARM_RIGHT - if(thermal_protection_flags & HAND_LEFT) - thermal_protection += THERMAL_PROTECTION_HAND_LEFT - if(thermal_protection_flags & HAND_RIGHT) - thermal_protection += THERMAL_PROTECTION_HAND_RIGHT - - return min(1, thermal_protection) + return FALSE /mob/living/carbon/human/handle_random_events(seconds_per_tick, times_fired) //Puke if toxloss is too high @@ -314,14 +111,3 @@ // Tissues die without blood circulation adjustBruteLoss(1 * seconds_per_tick) -#undef THERMAL_PROTECTION_HEAD -#undef THERMAL_PROTECTION_CHEST -#undef THERMAL_PROTECTION_GROIN -#undef THERMAL_PROTECTION_LEG_LEFT -#undef THERMAL_PROTECTION_LEG_RIGHT -#undef THERMAL_PROTECTION_FOOT_LEFT -#undef THERMAL_PROTECTION_FOOT_RIGHT -#undef THERMAL_PROTECTION_ARM_LEFT -#undef THERMAL_PROTECTION_ARM_RIGHT -#undef THERMAL_PROTECTION_HAND_LEFT -#undef THERMAL_PROTECTION_HAND_RIGHT diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm index 7987df7b7fefad..910e75df43da48 100644 --- a/code/modules/mob/living/carbon/human/species_types/abductors.dm +++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm @@ -2,24 +2,20 @@ name = "Abductor" id = SPECIES_ABDUCTOR sexes = FALSE - species_traits = list( - NO_UNDERWEAR, - ) inherent_traits = list( + TRAIT_NO_UNDERWEAR, TRAIT_NOBREATH, TRAIT_NOHUNGER, TRAIT_VIRUSIMMUNE, TRAIT_NOBLOOD, TRAIT_NODISMEMBER, TRAIT_NEVER_WOUNDED, - TRAIT_CHUNKYFINGERS_IGNORE_BATON, ) mutanttongue = /obj/item/organ/internal/tongue/abductor mutantstomach = null mutantheart = null mutantlungs = null changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT - ass_image = 'icons/ass/assgrey.png' bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/abductor, diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm index 99a3a852fc7a8d..b93500f0f52c89 100644 --- a/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/code/modules/mob/living/carbon/human/species_types/android.dm @@ -1,16 +1,12 @@ /datum/species/android name = "Android" id = SPECIES_ANDROID - species_traits = list( - NO_DNA_COPY, - NOTRANSSTING, - NO_UNDERWEAR, - NOHUSK, - ) inherent_traits = list( - TRAIT_CAN_USE_FLIGHT_POTION, + TRAIT_NO_UNDERWEAR, + TRAIT_NO_DNA_COPY, + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NO_HUSK, TRAIT_GENELESS, - TRAIT_LIMBATTACHMENT, TRAIT_NOBREATH, TRAIT_NOCLONELOSS, TRAIT_NOFIRE, @@ -49,11 +45,8 @@ mutantears = /obj/item/organ/internal/ears/cybernetic mutantbutt = /obj/item/organ/internal/butt/cyber species_language_holder = /datum/language_holder/synthetic - wing_types = list(/obj/item/organ/external/wings/functional/robotic) changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT reagent_tag = PROCESS_SYNTHETIC // They don't HAVE a liver, but if they did, they'd have synthetic chem processing. - special_step_sounds = list('sound/effects/servostep.ogg') - bodypart_overrides = list( diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 5e1d4530228f67..f378218437069d 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -1,14 +1,13 @@ /datum/species/dullahan name = "Dullahan" id = SPECIES_DULLAHAN - species_traits = list() inherent_traits = list( TRAIT_NOBREATH, TRAIT_NOHUNGER, + TRAIT_USES_SKINTONES, ) inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutant_bodyparts = list("wings" = "None") - use_skintones = TRUE mutantbrain = /obj/item/organ/internal/brain/dullahan mutanteyes = /obj/item/organ/internal/eyes/dullahan mutanttongue = /obj/item/organ/internal/tongue/dullahan @@ -71,6 +70,7 @@ human.reset_perspective(human) /datum/species/dullahan/spec_life(mob/living/carbon/human/human, seconds_per_tick, times_fired) + . = ..() if(QDELETED(my_head)) my_head = null human.investigate_log("has been gibbed by the loss of [human.p_their()] head.", INVESTIGATE_DEATHS) diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 49ddfc889e2c4f..eeaec4a7f0962b 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -265,14 +265,8 @@ BODY_ZONE_CHEST = /obj/item/bodypart/chest/ethereal, ) -/datum/species/ethereal/lustrous/get_scream_sound(mob/living/carbon/human/ethereal) - return pick( - 'sound/voice/ethereal/lustrous_scream_1.ogg', - 'sound/voice/ethereal/lustrous_scream_2.ogg', - 'sound/voice/ethereal/lustrous_scream_3.ogg', - ) - /datum/species/ethereal/lustrous/on_species_gain(mob/living/carbon/new_lustrous, datum/species/old_species, pref_load) ..() - default_color = new_lustrous.dna.features["ethcolor"] - new_lustrous.dna.features["ethcolor"] = GLOB.color_list_lustrous[pick(GLOB.color_list_lustrous)] //Picks one of 5 lustrous-specific colors. + var/datum/color_palette/generic_colors/palette = new_lustrous.dna.color_palettes[/datum/color_palette/generic_colors] + default_color = palette.ethereal_color + palette.ethereal_color = GLOB.color_list_lustrous[pick(GLOB.color_list_lustrous)] //Picks one of 5 lustrous-specific colors. diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 86897dec5cfb4d..f50449e7091b86 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -3,19 +3,14 @@ plural_form = "Flypeople" id = SPECIES_FLYPERSON inherent_traits = list( - TRAIT_CAN_USE_FLIGHT_POTION, TRAIT_TACKLING_FRAIL_ATTACKER, TRAIT_ANTENNAE, ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG meat = /obj/item/food/meat/slab/human/mutant/fly mutanteyes = /obj/item/organ/internal/eyes/fly - liked_food = GROSS | GORE - disliked_food = NONE - toxic_food = NONE changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_language_holder = /datum/language_holder/fly - wing_types = list(/obj/item/organ/external/wings/functional/fly) payday_modifier = 0.75 mutanttongue = /obj/item/organ/internal/tongue/fly @@ -43,6 +38,14 @@ . = ..() UnregisterSignal(C, COMSIG_MOB_APPLY_DAMAGE_MODIFIERS) + +/datum/species/fly/handle_chemical(datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired) + . = ..() + if(. & COMSIG_MOB_STOP_REAGENT_CHECK) + return + if(chem.type == /datum/reagent/toxin/pestkiller) + affected.adjustToxLoss(3 * REM * seconds_per_tick) + /datum/species/fly/proc/damage_weakness(datum/source, list/damage_mods, damage_amount, damagetype, def_zone, sharpness, attack_direction, obj/item/attacking_item) SIGNAL_HANDLER diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index f82fdd44d8b501..bbc71792002e88 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -2,13 +2,12 @@ // Animated beings of stone. They have increased defenses, and do not need to breathe. They're also slow as fuuuck. name = "Golem" id = SPECIES_GOLEM - species_traits = list( - NOTRANSSTING, - MUTCOLORS, - NO_UNDERWEAR, - NO_DNA_COPY, - ) inherent_traits = list( + TRAIT_MUTANT_COLORS, + TRAIT_NO_UNDERWEAR, + TRAIT_NO_DNA_COPY, + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NO_AUGMENTS, TRAIT_GENELESS, TRAIT_NOBREATH, TRAIT_NOBLOOD, @@ -23,7 +22,6 @@ mutantlungs = null inherent_biotypes = MOB_HUMANOID|MOB_MINERAL mutant_organs = list(/obj/item/organ/internal/adamantine_resonator) - speedmod = 2 payday_modifier = 0.75 armor = 55 siemens_coeff = 0 @@ -187,7 +185,6 @@ name = "Gold Golem" id = SPECIES_GOLEM_GOLD fixed_mut_color = "#cccc00" - speedmod = 1 armor = 25 //down from 55 meat = /obj/item/stack/ore/gold info_text = "As a Gold Golem, you are faster but less resistant than the average golem." @@ -220,7 +217,6 @@ id = SPECIES_GOLEM_PLASTEEL fixed_mut_color = "#bbbbbb" stunmod = 0.4 - speedmod = 4 //pretty fucking slow meat = /obj/item/stack/ore/iron info_text = "As a Plasteel Golem, you are slower, but harder to stun, and hit very hard when punching. You also magnetically attach to surfaces and so don't float without gravity and cannot have positions swapped with other beings." prefix = "Plasteel" @@ -293,7 +289,6 @@ fixed_mut_color = "#333333" meat = /obj/item/stack/sheet/mineral/abductor mutanttongue = /obj/item/organ/internal/tongue/abductor - speedmod = 1 //faster info_text = "As an Alloy Golem, you are made of advanced alien materials: you are faster and regenerate over time. You are, however, only able to be heard by other alloy golems." prefix = "Alien" special_names = list("Outsider", "Technology", "Watcher", "Stranger") //ominous and unknown @@ -301,6 +296,7 @@ //Regenerates because self-repairing super-advanced alien tech /datum/species/golem/alloy/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) + SHOULD_CALL_PARENT(FALSE) if(H.stat == DEAD) return H.heal_overall_damage(brute = 1 * seconds_per_tick, burn = 1 * seconds_per_tick, required_bodytype = BODYTYPE_ORGANIC) @@ -337,6 +333,7 @@ examine_limb_id = SPECIES_GOLEM /datum/species/golem/wood/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) + SHOULD_CALL_PARENT(FALSE) if(H.stat == DEAD) return var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing @@ -354,7 +351,7 @@ if(H.nutrition < NUTRITION_LEVEL_STARVING + 50) H.take_overall_damage(brute = 2, required_bodytype = BODYTYPE_ORGANIC) -/datum/species/golem/wood/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/golem/wood/handle_chemical(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) if(chem.type == /datum/reagent/toxin/plantbgone) H.adjustToxLoss(3 * REM * seconds_per_tick) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) @@ -658,8 +655,8 @@ id = SPECIES_GOLEM_CULT sexes = FALSE info_text = "As a Runic Golem, you possess eldritch powers granted by the Elder Goddess Nar'Sie." - species_traits = list(NO_UNDERWEAR,NOEYESPRITES) //no mutcolors inherent_traits = list( + TRAIT_NO_UNDERWEAR, TRAIT_GENELESS, TRAIT_NOBREATH, TRAIT_NODISMEMBER, @@ -725,7 +722,7 @@ QDEL_NULL(dominate) return ..() -/datum/species/golem/runic/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/golem/runic/handle_chemical(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) . = ..() if(istype(chem, /datum/reagent/water/holywater)) H.adjustFireLoss(4 * REM * seconds_per_tick) @@ -742,8 +739,8 @@ sexes = FALSE info_text = "As a Cloth Golem, you are able to reform yourself after death, provided your remains aren't burned or destroyed. You are, of course, very flammable. \ Being made of cloth, your body is immune to spirits of the damned and runic golems. You are faster than that of other golems, but weaker and less resilient." - species_traits = list(NO_UNDERWEAR) //no mutcolors, and can burn inherent_traits = list( + TRAIT_NO_UNDERWEAR, TRAIT_ADVANCEDTOOLUSER, TRAIT_CAN_STRIP, TRAIT_GENELESS, @@ -760,7 +757,6 @@ inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID armor = 15 //feels no pain, but not too resistant burnmod = 2 // don't get burned - speedmod = 1 // not as heavy as stone prefix = "Cloth" special_names = null bodypart_overrides = list( @@ -942,7 +938,6 @@ special_names = list("Bell") fixed_mut_color = "#cd7f32" info_text = "As a Bronze Golem, you are very resistant to loud noises, and make loud noises if something hard hits you, however this ability does hurt your hearing." - special_step_sounds = list('sound/machines/clockcult/integration_cog_install.ogg', 'sound/magic/clockwork/fellowship_armory.ogg' ) mutantears = /obj/item/organ/internal/ears/bronze examine_limb_id = SPECIES_GOLEM var/last_gong_time = 0 @@ -1009,8 +1004,8 @@ prefix = "Cardboard" special_names = list("Box") info_text = "As a Cardboard Golem, you aren't very strong, but you are a bit quicker and can easily create more brethren by using cardboard on yourself. Cardboard makes a poor building material for tongues, so you'll have difficulty speaking." - species_traits = list(NO_UNDERWEAR,NOEYESPRITES) inherent_traits = list( + TRAIT_NO_UNDERWEAR, TRAIT_ADVANCEDTOOLUSER, TRAIT_CAN_STRIP, TRAIT_GENELESS, @@ -1030,7 +1025,6 @@ armor = 25 burnmod = 1.25 heatmod = 2 - speedmod = 1.5 bodypart_overrides = list( BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/golem/cardboard, BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/golem/cardboard, @@ -1101,9 +1095,9 @@ id = SPECIES_GOLEM_DURATHREAD prefix = "Durathread" special_names = list("Boll","Weave") - species_traits = list(NO_UNDERWEAR,NOEYESPRITES) fixed_mut_color = null inherent_traits = list( + TRAIT_NO_UNDERWEAR, TRAIT_ADVANCEDTOOLUSER, TRAIT_CAN_STRIP, TRAIT_GENELESS, @@ -1137,18 +1131,13 @@ id = SPECIES_GOLEM_BONE prefix = "Bone" special_names = list("Head", "Broth", "Fracture", "Rattler", "Appetit") - liked_food = GROSS | MEAT | RAW | GORE - toxic_food = null inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutanttongue = /obj/item/organ/internal/tongue/bone mutantstomach = /obj/item/organ/internal/stomach/bone sexes = FALSE fixed_mut_color = null - species_traits = list( - NO_UNDERWEAR, - NOEYESPRITES, - ) inherent_traits = list( + TRAIT_NO_UNDERWEAR, TRAIT_ADVANCEDTOOLUSER, TRAIT_CAN_STRIP, TRAIT_FAKEDEATH, @@ -1189,7 +1178,7 @@ bonechill.Remove(C) ..() -/datum/species/golem/bone/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/golem/bone/handle_chemical(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) . = ..() if(chem.type == /datum/reagent/toxin/bonehurtingjuice) H.stamina.adjust(-7.5 * REM * seconds_per_tick, 0) @@ -1261,8 +1250,8 @@ info_text = "As a Snow Golem, you are extremely vulnerable to burn damage, but you can generate snowballs and shoot cryokinetic beams. You will also turn to snow when dying, preventing any form of recovery." prefix = "Snow" special_names = list("Flake", "Blizzard", "Storm") - species_traits = list(NO_UNDERWEAR,NOEYESPRITES) //no mutcolors, no eye sprites inherent_traits = list( + TRAIT_NO_UNDERWEAR, TRAIT_ADVANCEDTOOLUSER, TRAIT_CAN_STRIP, TRAIT_GENELESS, diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index caeecface3f73f..61162604715cee 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -1,15 +1,11 @@ /datum/species/human name = "\improper Human" id = SPECIES_HUMAN - species_traits = list() + mutant_bodyparts = list("wings" = "None") inherent_traits = list( - TRAIT_CAN_USE_FLIGHT_POTION, + TRAIT_USES_SKINTONES, ) - mutant_bodyparts = list("wings" = "None") - use_skintones = TRUE skinned_type = /obj/item/stack/sheet/animalhide/human - disliked_food = GROSS | RAW | CLOTH | BUGS | GORE - liked_food = JUNKFOOD | FRIED changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 1 @@ -21,27 +17,6 @@ /datum/species/human/randomize_features(mob/living/carbon/human/human_mob) human_mob.skin_tone = random_skin_tone() -/datum/species/human/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) - /datum/species/human/get_species_description() return "Humans are the dominant species in the known galaxy. \ Their kind extend from old Earth to the edges of known space." diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 3fb5d55cf93a55..c59ca37b37e15f 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -1,33 +1,20 @@ -///The rate at which slimes regenerate their jelly normally -#define JELLY_REGEN_RATE 1.5 -///The rate at which slimes regenerate their jelly when they completely run out of it and start taking damage, usually after having cannibalized all their limbs already -#define JELLY_REGEN_RATE_EMPTY 2.5 -///The blood volume at which slimes begin to start losing nutrition -- so that IV drips can work for blood deficient slimes -#define BLOOD_VOLUME_LOSE_NUTRITION 550 - /datum/species/jelly // Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them. name = "\improper Jellyperson" plural_form = "Jellypeople" id = SPECIES_JELLYPERSON - species_traits = list( - MUTCOLORS, - ) inherent_traits = list( - TRAIT_CAN_USE_FLIGHT_POTION, - TRAIT_TOXINLOVER, - TRAIT_NOBLOOD, + TRAIT_MUTANT_COLORS, ) mutanttongue = /obj/item/organ/internal/tongue/jelly mutantlungs = /obj/item/organ/internal/lungs/slime mutanteyes = /obj/item/organ/internal/eyes/jelly - mutantheart = null + mutantheart = /obj/item/organ/internal/heart/slime + mutantliver = /obj/item/organ/internal/liver/slime + meat = /obj/item/food/meat/slab/human/mutant/slime - exotic_blood = /datum/reagent/toxin/slimejelly - blood_deficiency_drain_rate = JELLY_REGEN_RATE + BLOOD_DEFICIENCY_MODIFIER - var/datum/action/innate/regenerate_limbs/regenerate_limbs - liked_food = MEAT | BUGS - toxic_food = NONE + exotic_bloodtype = /datum/blood_type/slime + blood_deficiency_drain_rate = 1.5 + BLOOD_DEFICIENCY_MODIFIER coldmod = 6 // = 3x cold damage heatmod = 0.5 // = 1/4x heat damage burnmod = 0.5 // = 1/2x generic burn damage @@ -35,9 +22,7 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT inherent_factions = list(FACTION_SLIME) species_language_holder = /datum/language_holder/jelly - ass_image = 'icons/ass/assslime.png' - wing_types = list(/obj/item/organ/external/wings/functional/slime) - hair_color = "mutcolor" + hair_color = "mutant_color" hair_alpha = 150 facial_hair_alpha = 150 @@ -50,73 +35,6 @@ BODY_ZONE_CHEST = /obj/item/bodypart/chest/jelly, ) -/datum/species/jelly/on_species_gain(mob/living/carbon/new_jellyperson, datum/species/old_species, pref_load) - . = ..() - if(ishuman(new_jellyperson)) - regenerate_limbs = new - regenerate_limbs.Grant(new_jellyperson) - update_mail_goodies(new_jellyperson) - new_jellyperson.AddElement(/datum/element/soft_landing) - -/datum/species/jelly/on_species_loss(mob/living/carbon/former_jellyperson, datum/species/new_species, pref_load) - if(regenerate_limbs) - regenerate_limbs.Remove(former_jellyperson) - former_jellyperson.RemoveElement(/datum/element/soft_landing) - - return ..() - -/datum/species/jelly/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies = list()) - if(istype(quirk, /datum/quirk/blooddeficiency)) - mail_goodies += list( - /obj/item/reagent_containers/blood/toxin - ) - return ..() - -/datum/species/jelly/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) - if(H.stat == DEAD) //can't farm slime jelly from a dead slime/jelly person indefinitely - return - - if(!H.blood_volume) - H.blood_volume += JELLY_REGEN_RATE_EMPTY * seconds_per_tick - H.adjustBruteLoss(2.5 * seconds_per_tick) - to_chat(H, span_danger("You feel empty!")) - - if(H.blood_volume < BLOOD_VOLUME_NORMAL) - if(H.nutrition >= NUTRITION_LEVEL_STARVING) - H.blood_volume += JELLY_REGEN_RATE * seconds_per_tick - if(H.blood_volume <= BLOOD_VOLUME_LOSE_NUTRITION) // don't lose nutrition if we are above a certain threshold, otherwise slimes on IV drips will still lose nutrition - H.adjust_nutrition(-1.25 * seconds_per_tick) - - // we call lose_blood() here rather than quirk/process() to make sure that the blood loss happens in sync with life() - if(HAS_TRAIT(H, TRAIT_BLOOD_DEFICIENCY)) - var/datum/quirk/blooddeficiency/blooddeficiency = H.get_quirk(/datum/quirk/blooddeficiency) - if(!isnull(blooddeficiency)) - blooddeficiency.lose_blood(seconds_per_tick) - - if(H.blood_volume < BLOOD_VOLUME_OKAY) - if(SPT_PROB(2.5, seconds_per_tick)) - to_chat(H, span_danger("You feel drained!")) - - if(H.blood_volume < BLOOD_VOLUME_BAD) - Cannibalize_Body(H) - - if(regenerate_limbs) - regenerate_limbs.build_all_button_icons() - -/datum/species/jelly/proc/Cannibalize_Body(mob/living/carbon/human/H) - var/list/limbs_to_consume = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) - H.get_missing_limbs() - var/obj/item/bodypart/consumed_limb - if(!length(limbs_to_consume)) - H.losebreath++ - return - if(H.num_legs) //Legs go before arms - limbs_to_consume -= list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM) - consumed_limb = H.get_bodypart(pick(limbs_to_consume)) - consumed_limb.drop_limb() - to_chat(H, span_userdanger("Your [consumed_limb] is drawn back into your body, unable to maintain its shape!")) - qdel(consumed_limb) - H.blood_volume += 20 - // Slimes have both TRAIT_NOBLOOD and an exotic bloodtype set, so they need to be handled uniquely here. // They may not be roundstart but in the unlikely event they become one might as well not leave a glaring issue open. /datum/species/jelly/create_pref_blood_perks() @@ -126,53 +44,12 @@ SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, SPECIES_PERK_ICON = "tint", SPECIES_PERK_NAME = "Jelly Blood", - SPECIES_PERK_DESC = "[plural_form] don't have blood, but instead have toxic [initial(exotic_blood.name)]! \ + SPECIES_PERK_DESC = "[plural_form] don't have blood, but instead have toxic-to-humans Jelly! \ Jelly is extremely important, as losing it will cause you to lose limbs. Having low jelly will make medical treatment very difficult.", )) return to_add -/datum/action/innate/regenerate_limbs - name = "Regenerate Limbs" - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimeheal" - button_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - overlay_icon_state = "bg_alien_border" - -/datum/action/innate/regenerate_limbs/IsAvailable(feedback = FALSE) - . = ..() - if(!.) - return - var/mob/living/carbon/human/H = owner - var/list/limbs_to_heal = H.get_missing_limbs() - if(!length(limbs_to_heal)) - return FALSE - if(H.blood_volume >= BLOOD_VOLUME_OKAY+40) - return TRUE - -/datum/action/innate/regenerate_limbs/Activate() - var/mob/living/carbon/human/H = owner - var/list/limbs_to_heal = H.get_missing_limbs() - if(!length(limbs_to_heal)) - to_chat(H, span_notice("You feel intact enough as it is.")) - return - to_chat(H, span_notice("You focus intently on your missing [length(limbs_to_heal) >= 2 ? "limbs" : "limb"]...")) - if(H.blood_volume >= 40*length(limbs_to_heal)+BLOOD_VOLUME_OKAY) - H.regenerate_limbs() - H.blood_volume -= 40*length(limbs_to_heal) - to_chat(H, span_notice("...and after a moment you finish reforming!")) - return - else if(H.blood_volume >= 40)//We can partially heal some limbs - while(H.blood_volume >= BLOOD_VOLUME_OKAY+40) - var/healed_limb = pick(limbs_to_heal) - H.regenerate_limb(healed_limb) - limbs_to_heal -= healed_limb - H.blood_volume -= 40 - to_chat(H, span_warning("...but there is not enough of you to fix everything! You must attain more mass to heal completely!")) - return - to_chat(H, span_warning("...but there is not enough of you to go around! You must attain more mass to heal!")) - ////////////////////////////////////////////////////////SLIMEPEOPLE/////////////////////////////////////////////////////////////////// //Slime people are able to split like slimes, retaining a single mind that can swap between bodies at will, even after death. @@ -181,7 +58,9 @@ name = "\improper Slimeperson" plural_form = "Slimepeople" id = SPECIES_SLIMEPERSON - species_traits = list(MUTCOLORS,) + inherent_traits = list( + TRAIT_MUTANT_COLORS, + ) hair_color = "mutcolor" hair_alpha = 150 facial_hair_alpha = 150 @@ -250,7 +129,7 @@ else if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) H.blood_volume += 1.5 * seconds_per_tick - if(H.blood_volume <= BLOOD_VOLUME_LOSE_NUTRITION) + if(H.blood_volume <= 550) H.adjust_nutrition(-1.25 * seconds_per_tick) ..() @@ -302,8 +181,8 @@ spare.underwear = "Nude" H.dna.transfer_identity(spare, transfer_SE=1) - spare.dna.features["mcolor"] = "#[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]" - spare.dna.update_uf_block(DNA_MUTANT_COLOR_BLOCK) + var/datum/color_palette/generic_colors/palette = spare.dna.color_palettes[/datum/color_palette/generic_colors] + palette.mutant_color = "#[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]" spare.real_name = spare.dna.real_name spare.name = spare.dna.real_name spare.updateappearance(mutcolor_update=1) @@ -377,7 +256,8 @@ continue var/list/L = list() - L["htmlcolor"] = body.dna.features["mcolor"] + var/datum/color_palette/generic_colors/palette = body.dna.color_palettes[/datum/color_palette/generic_colors] + L["htmlcolor"] = palette?.mutant_color L["area"] = get_area_name(body, TRUE) var/stat = "error" switch(body.stat) @@ -546,7 +426,8 @@ /datum/species/jelly/luminescent/proc/update_glow(mob/living/carbon/human/glowie, intensity) if(intensity) glow_intensity = intensity - glow.set_light_range_power_color(glow_intensity, glow_intensity, glowie.dna.features["mcolor"]) + var/datum/color_palette/generic_colors/palette = glowie.dna.color_palettes[/datum/color_palette/generic_colors] + glow.set_light_range_power_color(glow_intensity, glow_intensity, palette.return_color(MUTANT_COLOR)) /datum/action/innate/integrate_extract name = "Integrate Extract" @@ -810,7 +691,3 @@ return FALSE return TRUE - -#undef JELLY_REGEN_RATE -#undef JELLY_REGEN_RATE_EMPTY -#undef BLOOD_VOLUME_LOSE_NUTRITION diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 117ff8257afdd4..9140e6d16d87eb 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -4,11 +4,10 @@ plural_form = "Lizardfolk" id = SPECIES_LIZARD visual_gender = FALSE - species_traits = list( - MUTCOLORS, - MUTCOLORS_SECONDARY, - ) inherent_traits = list( + TRAIT_MUTANT_COLORS, + TRAIT_MUTANT_COLORS_SECONDARY, + TRAIT_NO_UNDERWEAR, TRAIT_CAN_USE_FLIGHT_POTION, TRAIT_TACKLING_TAILED_DEFENDER, ) @@ -22,6 +21,8 @@ /obj/item/organ/external/tail/lizard = "Smooth", ) mutanttongue = /obj/item/organ/internal/tongue/lizard + mutantstomach = /obj/item/organ/internal/stomach/lizard + mutantheart = /obj/item/organ/internal/heart/lizard coldmod = 1.5 heatmod = 0.67 payday_modifier = 0.75 @@ -29,22 +30,18 @@ species_cookie = /obj/item/food/meat/slab meat = /obj/item/food/meat/slab/human/mutant/lizard skinned_type = /obj/item/stack/sheet/animalhide/lizard - exotic_bloodtype = "L" - disliked_food = GRAIN | DAIRY | CLOTH | GROSS - liked_food = GORE | MEAT | SEAFOOD | NUTS | BUGS + exotic_bloodtype = /datum/blood_type/crew/lizard inert_mutation = /datum/mutation/human/firebreath death_sound = 'sound/voice/lizard/deathsound.ogg' - wing_types = list(/obj/item/organ/external/wings/functional/dragon) species_language_holder = /datum/language_holder/lizard digitigrade_customization = DIGITIGRADE_FORCED //Monkestation Edit: OPTIONAL > FORCED mutanteyes = /obj/item/organ/internal/eyes/lizard // Lizards are coldblooded and can stand a greater temperature range than humans - bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT + 20) // This puts lizards 10 above lavaland max heat for ash lizards. + bodytemp_normal = (BODYTEMP_NORMAL - 7.5) + bodytemp_heat_damage_limit = BODYTEMP_HEAT_LAVALAND_SAFE + 5 KELVIN // This puts lizards 10 above lavaland max heat for ash lizards. bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT - 10) - ass_image = 'icons/ass/asslizard.png' - bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/lizard, BODY_ZONE_CHEST = /obj/item/bodypart/chest/lizard, @@ -54,21 +51,12 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/lizard, ) -/datum/species/lizard/on_species_gain(mob/living/carbon/new_lizard, datum/species/old_species, pref_load) +/datum/species/lizard/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..() - if(ishuman(new_lizard)) - update_mail_goodies(new_lizard) - -/datum/species/lizard/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies = list()) - if(istype(quirk, /datum/quirk/blooddeficiency)) - mail_goodies += list( - /obj/item/reagent_containers/blood/lizard - ) - return ..() - -/// Lizards are cold blooded and do not stabilize body temperature naturally -/datum/species/lizard/body_temperature_core(mob/living/carbon/human/humi, seconds_per_tick, times_fired) - return + // melbert todo : temp / integrate this into the coldblooded trait + // if you spawn on station is is expected you have already acclimated to the room temp (20c) (but give a little bit of leeway) + if(is_station_level(C.z)) + C.bodytemperature = CELCIUS_TO_KELVIN(22.5 CELCIUS) /datum/species/lizard/random_name(gender,unique,lastname) if(unique) @@ -86,13 +74,6 @@ human_mob.dna.features["body_markings"] = pick(GLOB.body_markings_list) randomize_external_organs(human_mob) -/datum/species/lizard/get_scream_sound(mob/living/carbon/human/lizard) - return pick( - 'sound/voice/lizard/lizard_scream_1.ogg', - 'sound/voice/lizard/lizard_scream_2.ogg', - 'sound/voice/lizard/lizard_scream_3.ogg', - ) - /datum/species/lizard/get_species_description() return "The militaristic Lizardpeople hail originally from Tizira, but have grown \ throughout their centuries in the stars to possess a large spacefaring \ @@ -122,16 +103,12 @@ Lizard subspecies: ASHWALKERS id = SPECIES_LIZARD_ASH mutantlungs = /obj/item/organ/internal/lungs/lavaland mutantbrain = /obj/item/organ/internal/brain/primitive - wing_types = list(/obj/item/organ/external/wings/functional/dragon) - species_traits = list( - MUTCOLORS, - MUTCOLORS_SECONDARY, - NO_UNDERWEAR, //MONKESTATION ADDITION: no more flesh clothes lol - ) inherent_traits = list( + TRAIT_MUTANT_COLORS, + TRAIT_MUTANT_COLORS_SECONDARY, + TRAIT_NO_UNDERWEAR, //TRAIT_LITERATE, TRAIT_VIRUSIMMUNE, - TRAIT_HARD_SOLES, //MONKESTATION ADDITION TRAIT_CAN_USE_FLIGHT_POTION, ) species_language_holder = /datum/language_holder/lizard/ash @@ -142,8 +119,8 @@ Lizard subspecies: ASHWALKERS BODY_ZONE_CHEST = /obj/item/bodypart/chest/lizard, BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/lizard/ashwalker, BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/lizard/ashwalker, - BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/lizard, - BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/lizard, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/lizard/ashwalker, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/lizard/ashwalker, ) /* @@ -165,6 +142,7 @@ Lizard subspecies: SILVER SCALED mutantlungs = null species_language_holder = /datum/language_holder/lizard/silver mutanttongue = /obj/item/organ/internal/tongue/lizard/silver + exotic_bloodtype = /datum/blood_type/crew/lizard/silver armor = 10 //very light silvery scales soften blows changesource_flags = MIRROR_BADMIN | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN examine_limb_id = SPECIES_LIZARD @@ -177,10 +155,11 @@ Lizard subspecies: SILVER SCALED /datum/species/lizard/silverscale/on_species_gain(mob/living/carbon/new_silverscale, datum/species/old_species, pref_load) var/mob/living/carbon/human/silverscale = new_silverscale - old_mutcolor = new_silverscale.dna.features["mcolor"] + var/datum/color_palette/generic_colors/palette = new_silverscale.dna.color_palettes[/datum/color_palette/generic_colors] + old_mutcolor = palette.return_color(MUTANT_COLOR) old_eye_color_left = silverscale.eye_color_left old_eye_color_right = silverscale.eye_color_right - new_silverscale.dna.features["mcolor"] = "#eeeeee" + palette.mutant_color = "#eeeeee" silverscale.eye_color_left = "#0000a0" silverscale.eye_color_right = "#0000a0" ..() @@ -188,7 +167,8 @@ Lizard subspecies: SILVER SCALED /datum/species/lizard/silverscale/on_species_loss(mob/living/carbon/old_silverscale, datum/species/new_species, pref_load) var/mob/living/carbon/human/was_silverscale = old_silverscale - was_silverscale.dna.features["mcolor"] = old_mutcolor + var/datum/color_palette/generic_colors/palette = was_silverscale.dna.color_palettes[/datum/color_palette/generic_colors] + palette.mutant_color = old_mutcolor was_silverscale.eye_color_left = old_eye_color_left was_silverscale.eye_color_right = old_eye_color_right diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm index 4810b185a43f77..4cf01b8a4d79f8 100644 --- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -12,21 +12,17 @@ skinned_type = /obj/item/stack/sheet/animalhide/monkey meat = /obj/item/food/meat/slab/monkey knife_butcher_results = list(/obj/item/food/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1) - species_traits = list( - NO_UNDERWEAR, - NOBLOODOVERLAY, - NOTRANSSTING, - NOAUGMENTS, - ) inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_NO_BLOOD_OVERLAY, + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NO_AUGMENTS, TRAIT_GUN_NATURAL, TRAIT_VENTCRAWLER_NUDE, TRAIT_WEAK_SOUL, ) no_equip_flags = ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_SUITSTORE changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | ERT_SPAWN | SLIME_EXTRACT - liked_food = MEAT | FRUIT | BUGS - disliked_food = CLOTH sexes = FALSE species_language_holder = /datum/language_holder/monkey @@ -130,17 +126,6 @@ return TRUE return ..() -/datum/species/monkey/get_scream_sound(mob/living/carbon/human/monkey) - return pick( - 'sound/creatures/monkey/monkey_screech_1.ogg', - 'sound/creatures/monkey/monkey_screech_2.ogg', - 'sound/creatures/monkey/monkey_screech_3.ogg', - 'sound/creatures/monkey/monkey_screech_4.ogg', - 'sound/creatures/monkey/monkey_screech_5.ogg', - 'sound/creatures/monkey/monkey_screech_6.ogg', - 'sound/creatures/monkey/monkey_screech_7.ogg', - ) - /datum/species/monkey/get_species_description() return "Monkeys are a type of primate that exist between humans and animals on the evolutionary chain. \ Every year, on Monkey Day, Nanotrasen shows their respect for the little guys by allowing them to roam the station freely." diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 90cd1774596c9b..3ef1b71a6f1dc7 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -2,11 +2,8 @@ name = "\improper Mothman" plural_form = "Mothmen" id = SPECIES_MOTH - species_traits = list( - HAS_MARKINGS, - ) inherent_traits = list( - TRAIT_CAN_USE_FLIGHT_POTION, + TRAIT_HAS_MARKINGS, TRAIT_TACKLING_WINGED_ATTACKER, TRAIT_ANTENNAE, ) @@ -14,15 +11,11 @@ mutant_bodyparts = list("moth_markings" = "None") external_organs = list(/obj/item/organ/external/wings/moth = "Plain", /obj/item/organ/external/antennae = "Plain") meat = /obj/item/food/meat/slab/human/mutant/moth - liked_food = VEGETABLES | DAIRY | CLOTH - disliked_food = FRUIT | GROSS | BUGS | GORE - toxic_food = MEAT | RAW | SEAFOOD mutanttongue = /obj/item/organ/internal/tongue/moth mutanteyes = /obj/item/organ/internal/eyes/moth changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT species_language_holder = /datum/language_holder/moth death_sound = 'sound/voice/moth/moth_death.ogg' - wing_types = list(/obj/item/organ/external/wings/functional/moth/megamoth, /obj/item/organ/external/wings/functional/moth/mothra) family_heirlooms = list(/obj/item/flashlight/lantern/heirloom_moth) bodypart_overrides = list( @@ -69,9 +62,6 @@ human_mob.dna.features["moth_markings"] = pick(GLOB.moth_markings_list) randomize_external_organs(human_mob) -/datum/species/moth/get_scream_sound(mob/living/carbon/human/human) - return 'sound/voice/moth/scream_moth.ogg' - /datum/species/moth/get_species_description() return "Hailing from a planet that was lost long ago, the moths travel \ the galaxy as a nomadic people aboard a colossal fleet of ships, seeking a new homeland." diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index 73c3657abae01b..e5e1bf25872ca4 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -8,16 +8,13 @@ fixed_mut_color = "#DBBF92" hair_color = "#FF4B19" //cap color, spot color uses eye color - species_traits = list( - MUTCOLORS, - NO_UNDERWEAR, - ) inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_MUTANT_COLORS, TRAIT_NOBREATH, TRAIT_NOFLASH, ) inherent_factions = list(FACTION_MUSHROOM) - speedmod = 1.5 //faster than golems but not by much no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING @@ -27,7 +24,6 @@ mutanttongue = /obj/item/organ/internal/tongue/mush mutanteyes = /obj/item/organ/internal/eyes/night_vision/mushroom mutantlungs = null - use_skintones = FALSE var/datum/martial_art/mushpunch/mush species_language_holder = /datum/language_holder/mushroom @@ -58,13 +54,13 @@ mush.remove(C) QDEL_NULL(mush) -/datum/species/mush/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/mush/handle_chemical(datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired) + . = ..() + if(. & COMSIG_MOB_STOP_REAGENT_CHECK) + return if(chem.type == /datum/reagent/toxin/plantbgone/weedkiller) - H.adjustToxLoss(3 * REM * seconds_per_tick) - H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) - return TRUE - return ..() + affected.adjustToxLoss(3 * REM * seconds_per_tick) /datum/species/mush/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) forced_colour = FALSE - ..() + return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 46e772a71fcd4f..f956bedb2f2001 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -4,24 +4,23 @@ id = SPECIES_PLASMAMAN sexes = 0 meat = /obj/item/stack/sheet/mineral/plasma - species_traits = list( - NOTRANSSTING, - ) // plasmemes get hard to wound since they only need a severe bone wound to dismember, but unlike skellies, they can't pop their bones back into place inherent_traits = list( + TRAIT_NO_TRANSFORMATION_STING, TRAIT_GENELESS, TRAIT_HARDLY_WOUNDED, TRAIT_RADIMMUNE, TRAIT_RESISTCOLD, TRAIT_NOBLOOD, TRAIT_NO_DNA_COPY, + TRAIT_RESISTLOWPRESSURE, ) inherent_biotypes = MOB_HUMANOID|MOB_MINERAL inherent_respiration_type = RESPIRATION_PLASMA mutantlungs = /obj/item/organ/internal/lungs/plasmaman mutanttongue = /obj/item/organ/internal/tongue/bone/plasmaman - mutantliver = /obj/item/organ/internal/liver/plasmaman + mutantliver = /obj/item/organ/internal/liver/bone/plasmaman mutantstomach = /obj/item/organ/internal/stomach/bone/plasmaman mutantappendix = null mutantheart = null @@ -30,8 +29,6 @@ brutemod = 1.5 payday_modifier = 0.75 breathid = "plas" - disliked_food = FRUIT | CLOTH - liked_food = VEGETABLES changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC species_cookie = /obj/item/reagent_containers/condiment/milk outfit_important_for_life = /datum/outfit/plasmaman @@ -49,14 +46,12 @@ // Body temperature for Plasmen is much lower human as they can handle colder environments bodytemp_normal = (BODYTEMP_NORMAL - 40) // The minimum amount they stabilize per tick is reduced making hot areas harder to deal with - bodytemp_autorecovery_min = 2 + temperature_normalization_speed = /mob/living/carbon/human::temperature_normalization_speed * 0.5 // They are hurt at hot temps faster as it is harder to hold their form bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT - 20) // about 40C // This effects how fast body temp stabilizes, also if cold resit is lost on the mob bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT - 50) // about -50c - ass_image = 'icons/ass/assplasma.png' - outfit_override_registry = list( /datum/outfit/syndicate = /datum/outfit/syndicate/plasmaman, /datum/outfit/syndicate/full = /datum/outfit/syndicate/full/plasmaman, @@ -72,6 +67,7 @@ C.set_safe_hunger_level() /datum/species/plasmaman/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) + . = ..() var/atmos_sealed = TRUE if(HAS_TRAIT(H, TRAIT_NOFIRE)) atmos_sealed = FALSE @@ -121,10 +117,18 @@ H.update_appearance(UPDATE_OVERLAYS) -/datum/species/plasmaman/handle_fire(mob/living/carbon/human/H, seconds_per_tick, times_fired, no_protection = FALSE) - if(internal_fire) - no_protection = TRUE +/datum/species/plasmaman/proc/handle_fire(mob/living/carbon/human/H, seconds_per_tick) + SIGNAL_HANDLER + + return internal_fire ? BURNING_SKIP_PROTECTION : NONE + +/datum/species/plasmaman/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..() + RegisterSignal(C, COMSIG_HUMAN_BURNING, PROC_REF(handle_fire)) + +/datum/species/plasmaman/on_species_loss(mob/living/carbon/C, datum/species/new_species, pref_save) + . = ..() + UnregisterSignal(C, COMSIG_HUMAN_BURNING) /datum/species/plasmaman/pre_equip_species_outfit(datum/job/job, mob/living/carbon/human/equipping, visuals_only = FALSE) if(job?.plasmaman_outfit) @@ -143,54 +147,6 @@ return randname -/datum/species/plasmaman/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) - . = ..() - if(istype(chem, /datum/reagent/toxin/plasma) || istype(chem, /datum/reagent/toxin/hot_ice)) - for(var/i in H.all_wounds) - var/datum/wound/iter_wound = i - iter_wound.on_xadone(4 * REM * seconds_per_tick) // plasmamen use plasma to reform their bones or whatever - return FALSE // do normal metabolism - - if(istype(chem, /datum/reagent/toxin/bonehurtingjuice)) - H.stamina.adjust(-7.5 * REM * seconds_per_tick, 0) - H.adjustBruteLoss(0.5 * REM * seconds_per_tick, 0) - if(SPT_PROB(10, seconds_per_tick)) - switch(rand(1, 3)) - if(1) - H.say(pick("oof.", "ouch.", "my bones.", "oof ouch.", "oof ouch my bones."), forced = /datum/reagent/toxin/bonehurtingjuice) - if(2) - H.manual_emote(pick("oofs silently.", "looks like [H.p_their()] bones hurt.", "grimaces, as though [H.p_their()] bones hurt.")) - if(3) - to_chat(H, span_warning("Your bones hurt!")) - if(chem.overdosed) - if(SPT_PROB(2, seconds_per_tick) && iscarbon(H)) //big oof - var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly. - var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood - if(bp) - playsound(H, get_sfx(SFX_DESECRATION), 50, TRUE, -1) //You just want to socialize - H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!")) - H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice) - bp.receive_damage(200, 0, 0) //But I don't think we should - else - to_chat(H, span_warning("Your missing arm aches from wherever you left it.")) - H.emote("sigh") - H.reagents.remove_reagent(chem.type, chem.metabolization_rate * seconds_per_tick) - return TRUE - - if(istype(chem, /datum/reagent/gunpowder)) - H.set_timed_status_effect(15 SECONDS * seconds_per_tick, /datum/status_effect/drugginess) - if(H.get_timed_status_effect_duration(/datum/status_effect/hallucination) / 10 < chem.volume) - H.adjust_hallucinations(2.5 SECONDS * seconds_per_tick) - // Do normal metabolism - return FALSE - -/datum/species/plasmaman/get_scream_sound(mob/living/carbon/human) - return pick( - 'sound/voice/plasmaman/plasmeme_scream_1.ogg', - 'sound/voice/plasmaman/plasmeme_scream_2.ogg', - 'sound/voice/plasmaman/plasmeme_scream_3.ogg', - ) - /datum/species/plasmaman/get_species_description() return "Found on the Icemoon of Freyja, plasmamen consist of colonial \ fungal organisms which together form a sentient being. In human space, \ diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index c451d48110b0a7..1980497b6c688e 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -3,15 +3,14 @@ name = "\improper Podperson" plural_form = "Podpeople" id = SPECIES_PODPERSON - species_traits = list( - MUTCOLORS, - ) inherent_traits = list( - TRAIT_PLANT_SAFE, + TRAIT_MUTANT_COLORS, ) external_organs = list( /obj/item/organ/external/pod_hair = "None", ) + mutanttongue = /obj/item/organ/internal/tongue/pod + mutantheart = /obj/item/organ/internal/heart/pod inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_PLANT inherent_factions = list(FACTION_PLANTS, FACTION_VINES) @@ -19,9 +18,7 @@ heatmod = 1.5 payday_modifier = 0.75 meat = /obj/item/food/meat/slab/human/mutant/plant - exotic_blood = /datum/reagent/water - disliked_food = MEAT | DAIRY | SEAFOOD | BUGS - liked_food = VEGETABLES | FRUIT | GRAIN + exotic_bloodtype = /datum/blood_type/water changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_language_holder = /datum/language_holder/plant @@ -34,21 +31,8 @@ BODY_ZONE_CHEST = /obj/item/bodypart/chest/pod, ) - ass_image = 'icons/ass/asspodperson.png' - -/datum/species/pod/on_species_gain(mob/living/carbon/new_podperson, datum/species/old_species, pref_load) - . = ..() - if(ishuman(new_podperson)) - update_mail_goodies(new_podperson) - -/datum/species/pod/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies = list()) - if(istype(quirk, /datum/quirk/blooddeficiency)) - mail_goodies += list( - /obj/item/reagent_containers/blood/podperson - ) - return ..() - /datum/species/pod/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) + . = ..() if(H.stat == DEAD) return @@ -69,7 +53,7 @@ H.take_overall_damage(brute = 1 * seconds_per_tick, required_bodytype = BODYTYPE_ORGANIC) ..() -/datum/species/pod/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/pod/handle_chemical(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) if(chem.type == /datum/reagent/toxin/plantbgone) H.adjustToxLoss(3 * REM * seconds_per_tick) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index e7f1d9658e2f6b..d0ea71dac8378e 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -5,7 +5,6 @@ id = SPECIES_SHADOW sexes = 0 meat = /obj/item/food/meat/slab/human/mutant/shadow - species_traits = list() inherent_traits = list( TRAIT_NOBREATH, TRAIT_RADIMMUNE, diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index 1c294c2579ffaa..50b94040c8144b 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -4,21 +4,17 @@ id = SPECIES_SKELETON sexes = 0 meat = /obj/item/food/meat/slab/human/mutant/skeleton - species_traits = list( - NOTRANSSTING, - NO_DNA_COPY, - NO_UNDERWEAR, - NOHUSK, - ) inherent_traits = list( - TRAIT_CAN_USE_FLIGHT_POTION, + TRAIT_NO_HUSK, + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NO_UNDERWEAR, + TRAIT_NO_DNA_COPY, TRAIT_EASYDISMEMBER, TRAIT_FAKEDEATH, TRAIT_GENELESS, - TRAIT_LIMBATTACHMENT, TRAIT_NOBREATH, TRAIT_NOCLONELOSS, - TRAIT_NOMETABOLISM, + TRAIT_LIVERLESS_METABOLISM, TRAIT_RADIMMUNE, TRAIT_PIERCEIMMUNE, TRAIT_RESISTCOLD, @@ -34,11 +30,8 @@ mutantstomach = /obj/item/organ/internal/stomach/bone mutantappendix = null mutantheart = null - mutantliver = null + mutantliver = /obj/item/organ/internal/liver/bone mutantlungs = null - disliked_food = NONE - liked_food = GROSS | MEAT | RAW | GORE - wing_types = list(/obj/item/organ/external/wings/functional/skeleton) //They can technically be in an ERT changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN species_cookie = /obj/item/reagent_containers/condiment/milk @@ -62,35 +55,6 @@ return TRUE return ..() -//Can still metabolize milk through meme magic -/datum/species/skeleton/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) - . = ..() - if(chem.type == /datum/reagent/toxin/bonehurtingjuice) - H.stamina.adjust(-7.5 * REM * seconds_per_tick, 0) - H.adjustBruteLoss(0.5 * REM * seconds_per_tick, 0) - if(SPT_PROB(10, seconds_per_tick)) - switch(rand(1, 3)) - if(1) - H.say(pick("oof.", "ouch.", "my bones.", "oof ouch.", "oof ouch my bones."), forced = /datum/reagent/toxin/bonehurtingjuice) - if(2) - H.manual_emote(pick("oofs silently.", "looks like [H.p_their()] bones hurt.", "grimaces, as though [H.p_their()] bones hurt.")) - if(3) - to_chat(H, span_warning("Your bones hurt!")) - if(chem.overdosed) - if(SPT_PROB(2, seconds_per_tick) && iscarbon(H)) //big oof - var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly. - var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood - if(bp) - playsound(H, get_sfx(SFX_DESECRATION), 50, TRUE, -1) //You just want to socialize - H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!")) - H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice) - bp.receive_damage(200, 0, 0) //But I don't think we should - else - to_chat(H, span_warning("Your missing arm aches from wherever you left it.")) - H.emote("sigh") - H.reagents.remove_reagent(chem.type, chem.metabolization_rate * seconds_per_tick) - return TRUE - /datum/species/skeleton/get_species_description() return "A rattling skeleton! They descend upon Space Station 13 \ Every year to spook the crew! \"I've got a BONE to pick with you!\"" diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index 6dc24addcf86b0..aa0e4d282bf6b7 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -1,24 +1,21 @@ /datum/species/snail name = "Snailperson" id = SPECIES_SNAIL - species_traits = list( - MUTCOLORS, - NO_UNDERWEAR, - ) inherent_traits = list( + TRAIT_MUTANT_COLORS, + TRAIT_NO_UNDERWEAR, TRAIT_NO_SLIP_ALL, ) coldmod = 0.5 //snails only come out when its cold and wet burnmod = 2 - speedmod = 6 siemens_coeff = 2 //snails are mostly water changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP sexes = FALSE //snails are hermaphrodites mutanteyes = /obj/item/organ/internal/eyes/snail mutanttongue = /obj/item/organ/internal/tongue/snail - exotic_blood = /datum/reagent/lube + exotic_bloodtype = /datum/blood_type/snail bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/snail, @@ -29,13 +26,15 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/snail ) -/datum/species/snail/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/snail/handle_chemical(datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired) . = ..() + if(. & COMSIG_MOB_STOP_REAGENT_CHECK) + return if(istype(chem,/datum/reagent/consumable/salt)) - H.adjustFireLoss(2 * REM * seconds_per_tick) - playsound(H, 'sound/weapons/sear.ogg', 30, TRUE) - H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) - return TRUE + //playsound(affected, SFX_SEAR, 30, TRUE) + affected.adjustFireLoss(2 * REM * seconds_per_tick) + affected.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) + return COMSIG_MOB_STOP_REAGENT_CHECK /datum/species/snail/on_species_gain(mob/living/carbon/new_snailperson, datum/species/old_species, pref_load) . = ..() @@ -44,8 +43,6 @@ if(new_snailperson.dropItemToGround(bag)) //returns TRUE even if its null new_snailperson.equip_to_slot_or_del(new /obj/item/storage/backpack/snail(new_snailperson), ITEM_SLOT_BACK) new_snailperson.AddElement(/datum/element/snailcrawl) - if(ishuman(new_snailperson)) - update_mail_goodies(new_snailperson) /datum/species/snail/on_species_loss(mob/living/carbon/former_snailperson, datum/species/new_species, pref_load) . = ..() @@ -56,13 +53,6 @@ former_snailperson.temporarilyRemoveItemFromInventory(bag, TRUE) qdel(bag) -/datum/species/snail/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies = list()) - if(istype(quirk, /datum/quirk/blooddeficiency)) - mail_goodies += list( - /obj/item/reagent_containers/blood/snail - ) - return ..() - /obj/item/storage/backpack/snail name = "snail shell" desc = "Worn by snails as armor and storage compartment." diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 72f06a970033e8..02fde964482e3d 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -7,22 +7,19 @@ /datum/species/vampire name = "Vampire" id = SPECIES_VAMPIRE - species_traits = list( - DRINKSBLOOD, - BLOOD_CLANS, - ) inherent_traits = list( + TRAIT_DRINKS_BLOOD, + TRAIT_BLOOD_CLANS, TRAIT_NOBREATH, TRAIT_NOHUNGER, TRAIT_NO_MIRROR_REFLECTION, - /*TRAIT_USES_SKINTONES,*/ //monkestation temp removal, we dont have this refactor yet + TRAIT_USES_SKINTONES ) inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutant_bodyparts = list("wings" = "None") changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN - exotic_bloodtype = "U" + exotic_bloodtype = /datum/blood_type/universal blood_deficiency_drain_rate = BLOOD_DEFICIENCY_MODIFIER // vampires already passively lose blood, so this just makes them lose it slightly more quickly when they have blood deficiency. - use_skintones = TRUE mutantheart = /obj/item/organ/internal/heart/vampire mutanttongue = /obj/item/organ/internal/tongue/vampire mutantstomach = null @@ -165,8 +162,8 @@ if(victim.stat == DEAD) to_chat(H, span_warning("You need a living victim!")) return - if(!victim.blood_volume || (victim.dna && (HAS_TRAIT(victim, TRAIT_NOBLOOD) || victim.dna.species.exotic_blood))) - to_chat(H, span_warning("[victim] doesn't have blood!")) + if(!istype(victim.get_blood_type(), /datum/blood_type/crew/human)) + to_chat(H, span_warning("[victim] doesn't have valid blood!")) return COOLDOWN_START(V, drain_cooldown, 3 SECONDS) if(victim.can_block_magic(MAGIC_RESISTANCE_HOLY, charge_cost = 0)) @@ -186,7 +183,7 @@ playsound(H, 'sound/items/drink.ogg', 30, TRUE, -2) victim.blood_volume = clamp(victim.blood_volume - drained_blood, 0, BLOOD_VOLUME_MAXIMUM) H.blood_volume = clamp(H.blood_volume + drained_blood, 0, BLOOD_VOLUME_MAXIMUM) - if(!victim.blood_volume) + if(victim.blood_volume <= 0) to_chat(H, span_notice("You finish off [victim]'s blood supply.")) /obj/item/organ/internal/heart/vampire diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index b7f9b81de523a8..31a43e752c52c8 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -4,24 +4,21 @@ // 1spooky name = "High-Functioning Zombie" id = SPECIES_ZOMBIE - sexes = 0 + sexes = FALSE meat = /obj/item/food/meat/slab/human/mutant/zombie mutanttongue = /obj/item/organ/internal/tongue/zombie - species_traits = list( - NOZOMBIE, - NOTRANSSTING, - ) inherent_traits = list( // SHARED WITH ALL ZOMBIES + TRAIT_NO_ZOMBIFY, + TRAIT_NO_TRANSFORMATION_STING, TRAIT_EASILY_WOUNDED, TRAIT_EASYDISMEMBER, TRAIT_FAKEDEATH, - TRAIT_LIMBATTACHMENT, TRAIT_NOBREATH, TRAIT_NOCLONELOSS, TRAIT_NODEATH, TRAIT_NOHUNGER, - TRAIT_NOMETABOLISM, + TRAIT_LIVERLESS_METABOLISM, TRAIT_RADIMMUNE, TRAIT_RESISTCOLD, TRAIT_RESISTHIGHPRESSURE, @@ -37,26 +34,21 @@ mutantlungs = null inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID var/static/list/spooks = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg') - disliked_food = NONE - liked_food = GROSS | MEAT | RAW | GORE changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | ERT_SPAWN bodytemp_normal = T0C // They have no natural body heat, the environment regulates body temp bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_EXIST // Take damage at fire temp bodytemp_cold_damage_limit = MINIMUM_TEMPERATURE_TO_MOVE // take damage below minimum movement temp + // Infectious zombies have slow legs bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/zombie, BODY_ZONE_CHEST = /obj/item/bodypart/chest/zombie, BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/zombie, BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/zombie, BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/zombie, - BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/zombie + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/zombie, ) -/// Zombies do not stabilize body temperature they are the walking dead and are cold blooded -/datum/species/zombie/body_temperature_core(mob/living/carbon/human/humi, seconds_per_tick, times_fired) - return - /datum/species/zombie/check_roundstart_eligible() if(check_holidays(HALLOWEEN)) return TRUE @@ -86,7 +78,6 @@ id = SPECIES_ZOMBIE_INFECTIOUS examine_limb_id = SPECIES_ZOMBIE armor = 20 // 120 damage to KO a zombie, which kills it - speedmod = 1.6 mutanteyes = /obj/item/organ/internal/eyes/zombie mutantbrain = /obj/item/organ/internal/brain/zombie mutanttongue = /obj/item/organ/internal/tongue/zombie @@ -101,12 +92,11 @@ TRAIT_EASILY_WOUNDED, TRAIT_EASYDISMEMBER, TRAIT_FAKEDEATH, - TRAIT_LIMBATTACHMENT, TRAIT_NOBREATH, TRAIT_NOCLONELOSS, TRAIT_NODEATH, TRAIT_NOHUNGER, - TRAIT_NOMETABOLISM, + TRAIT_LIVERLESS_METABOLISM, TRAIT_RADIMMUNE, TRAIT_RESISTCOLD, TRAIT_RESISTHIGHPRESSURE, @@ -116,6 +106,15 @@ TRAIT_STABLEHEART, // Replacement for noblood. Infectious zombies can bleed but don't need their heart. TRAIT_STABLELIVER, // Not necessary but for consistency with above ) + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/zombie, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/zombie, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/zombie, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/zombie, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/zombie/infectious, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/zombie/infectious, + ) + /datum/species/zombie/infectious/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() diff --git a/code/modules/mob/living/carbon/human/status_procs.dm b/code/modules/mob/living/carbon/human/status_procs.dm index acbb3c528c6f6f..238e434a2a8576 100644 --- a/code/modules/mob/living/carbon/human/status_procs.dm +++ b/code/modules/mob/living/carbon/human/status_procs.dm @@ -32,7 +32,7 @@ update_body_parts() /mob/living/carbon/human/become_husk(source) - if(NOHUSK in dna.species.species_traits) //skeletons shouldn't be husks. + if(HAS_TRAIT(src, TRAIT_NO_HUSK)) //skeletons shouldn't be husks. cure_husk() return . = ..() diff --git a/code/modules/mob/living/carbon/init_signals.dm b/code/modules/mob/living/carbon/init_signals.dm index e3cc487eeb7def..79c54fed41a0bf 100644 --- a/code/modules/mob/living/carbon/init_signals.dm +++ b/code/modules/mob/living/carbon/init_signals.dm @@ -1,9 +1,12 @@ //Called on /mob/living/carbon/Initialize(mapload), for the carbon mobs to register relevant signals. /mob/living/carbon/register_init_signals() . = ..() + //Traits that register add and remove + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_AGENDER), PROC_REF(on_agender_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_AGENDER), PROC_REF(on_agender_trait_loss)) RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_NOBREATH), PROC_REF(on_nobreath_trait_gain)) - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_NOMETABOLISM), PROC_REF(on_nometabolism_trait_gain)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_LIVERLESS_METABOLISM), PROC_REF(on_liverless_metabolism_trait_gain)) RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_VIRUSIMMUNE), PROC_REF(on_virusimmune_trait_gain)) RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_TOXIMMUNE), PROC_REF(on_toximmune_trait_gain)) RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_GENELESS), PROC_REF(on_geneless_trait_gain)) @@ -64,11 +67,11 @@ clear_mood_event("smell") clear_mood_event("suffocation") /** - * On gain of TRAIT_NOMETABOLISM + * On gain of TRAIT_LIVERLESS_METABOLISM * * This will clear all moods related to addictions and stop metabolization. */ -/mob/living/carbon/proc/on_nometabolism_trait_gain(datum/source) +/mob/living/carbon/proc/on_liverless_metabolism_trait_gain(datum/source) SIGNAL_HANDLER for(var/addiction_type in subtypesof(/datum/addiction)) mind?.remove_addiction_points(addiction_type, MAX_ADDICTION_POINTS) //Remove the addiction! diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index 3e462fc976f26a..a552c8a079749a 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -365,7 +365,7 @@ * * This handles creating an alert and adding an overlay to it */ -/mob/living/carbon/proc/give(mob/living/carbon/offered) +/mob/living/proc/give(mob/living/offered) if(has_status_effect(/datum/status_effect/offering)) to_chat(src, span_warning("You're already offering something!")) return @@ -400,7 +400,7 @@ to_chat(src, span_warning("You have to be beside [offered.p_them()]!")) return else - if(!(locate(/mob/living/carbon) in orange(1, src))) + if(!(locate(/mob/living) in orange(1, src))) to_chat(src, span_warning("There's nobody beside you to take it!")) return @@ -421,7 +421,7 @@ * * offerer - The person giving the original item * * I - The item being given by the offerer */ -/mob/living/carbon/proc/take(mob/living/carbon/offerer, obj/item/I) +/mob/living/proc/take(mob/living/carbon/offerer, obj/item/I, visible_message = TRUE) clear_alert("[offerer]") if(IS_DEAD_OR_INCAP(src)) to_chat(src, span_warning("You're unable to take anything in your current state!")) @@ -443,9 +443,13 @@ visible_message(span_notice("[offerer] tries to hand over [I] but it's stuck to them....")) return - visible_message(span_notice("[src] takes [I] from [offerer]."), \ - span_notice("You take [I] from [offerer].")) + if(visible_message) + visible_message(span_notice("[src] takes [I] from [offerer]."), \ + span_notice("You take [I] from [offerer].")) + else + to_chat(src, span_notice("You take [I] from [offerer].")) put_in_hands(I) + return TRUE ///Returns a list of all body_zones covered by clothing /mob/living/carbon/proc/get_covered_body_zones() diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 93f4391e3b3470..e5f43d825981a6 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -53,109 +53,84 @@ // Start of a breath chain, calls [carbon/proc/breathe()] /mob/living/carbon/handle_breathing(seconds_per_tick, times_fired) + if(HAS_TRAIT(src, TRAIT_NOBREATH)) + return + var/next_breath = 4 - var/obj/item/organ/internal/lungs/L = get_organ_slot(ORGAN_SLOT_LUNGS) - var/obj/item/organ/internal/heart/H = get_organ_slot(ORGAN_SLOT_HEART) - if(L) - if(L.damage > L.high_threshold) - next_breath-- - if(H) - if(H.damage > H.high_threshold) - next_breath-- + var/obj/item/organ/internal/lungs/lungs = get_organ_slot(ORGAN_SLOT_LUNGS) + var/obj/item/organ/internal/heart/heart = get_organ_slot(ORGAN_SLOT_HEART) + if(lungs?.damage > lungs?.high_threshold) + next_breath -= 1 + if(heart?.damage > heart?.high_threshold) + next_breath -= 1 if((times_fired % next_breath) == 0 || failed_last_breath) - breathe(seconds_per_tick, times_fired) //Breathe per 4 ticks if healthy, down to 2 if our lungs or heart are damaged, unless suffocating + // Breathe per 4 ticks if healthy, down to 2 if our lungs or heart are damaged, unless suffocating + breathe(seconds_per_tick, times_fired, failed_last_breath ? 1 : next_breath) if(failed_last_breath) add_mood_event("suffocation", /datum/mood_event/suffocation) else clear_mood_event("suffocation") - else - if(isobj(loc)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src,0) - -// Second link in a breath chain, calls [carbon/proc/check_breath()] -/mob/living/carbon/proc/breathe(seconds_per_tick, times_fired) - var/obj/item/organ/internal/lungs = get_organ_slot(ORGAN_SLOT_LUNGS) - if(SEND_SIGNAL(src, COMSIG_CARBON_ATTEMPT_BREATHE) & COMSIG_CARBON_BLOCK_BREATH) - return + else if(isobj(loc)) + var/obj/location_as_object = loc + location_as_object.handle_internal_lifeform(src, 0) - SEND_SIGNAL(src, COMSIG_CARBON_PRE_BREATHE) +/mob/living/carbon/proc/breathe(seconds_per_tick, times_fired, next_breath = 4) + var/datum/gas_mixture/environment = loc?.return_air() + var/datum/gas_mixture/breath - var/datum/gas_mixture/environment - if(loc) - environment = loc.return_air() + if(!HAS_TRAIT(src, TRAIT_ASSISTED_BREATHING)) + if(stat == HARD_CRIT) + losebreath = max(losebreath, 1) + else if(HAS_TRAIT(src, TRAIT_LABOURED_BREATHING)) + losebreath += (1 / next_breath) - var/datum/gas_mixture/breath - if(!get_organ_slot(ORGAN_SLOT_BREATHING_TUBE)) - if(health <= HEALTH_THRESHOLD_FULLCRIT || (pulledby?.grab_state >= GRAB_KILL) || (lungs?.organ_flags & ORGAN_FAILING)) - losebreath++ //You can't breath at all when in critical or when being choked, so you're going to miss a breath + if(losebreath < 1) + var/pre_sig_return = SEND_SIGNAL(src, COMSIG_CARBON_ATTEMPT_BREATHE, seconds_per_tick, times_fired) + if(pre_sig_return & BREATHE_BLOCK_BREATH) + return - else if(health <= crit_threshold) - losebreath += 0.25 //You're having trouble breathing in soft crit, so you'll miss a breath one in four times + if(pre_sig_return & BREATHE_SKIP_BREATH) + losebreath = max(losebreath, 1) - //Suffocate - if(losebreath >= 1) //You've missed a breath, take oxy damage - losebreath-- + // Suffocate + var/skip_breath = FALSE + if(losebreath >= 1) + losebreath -= 1 if(prob(10)) emote("gasp") if(isobj(loc)) var/obj/loc_as_obj = loc - loc_as_obj.handle_internal_lifeform(src,0) - else - //Breathe from internal + loc_as_obj.handle_internal_lifeform(src, 0) + skip_breath = TRUE + + // Breathe from internals or externals (name is misleading) + else if(internal || external) breath = get_breath_from_internal(BREATH_VOLUME) - if(isnull(breath)) //in case of 0 pressure internals - - if(isobj(loc)) //Breathe from loc as object - var/obj/loc_as_obj = loc - breath = loc_as_obj.handle_internal_lifeform(src, BREATH_VOLUME) - else if(isturf(loc)) //Breathe from loc as turf - breath_airborne_diseases() //monkestation edit - VIROLOGY - var/turf/our_turf = loc - if(our_turf.liquids && !HAS_TRAIT(src, TRAIT_NOBREATH) && ((body_position == LYING_DOWN && our_turf.liquids.liquid_state >= LIQUID_STATE_WAIST) || (body_position == STANDING_UP && our_turf.liquids.liquid_state >= LIQUID_STATE_FULLTILE))) - //Officially trying to breathe underwater - if(HAS_TRAIT(src, TRAIT_WATER_BREATHING)) - failed_last_breath = FALSE - clear_alert("not_enough_oxy") - return FALSE - adjustOxyLoss(3) - failed_last_breath = TRUE - if(oxyloss <= OXYGEN_DAMAGE_CHOKING_THRESHOLD && stat == CONSCIOUS) - to_chat(src, span_userdanger("You hold in your breath!")) - else - //Try and drink water - our_turf.liquids.liquid_group.transfer_to_atom(src, CHOKE_REAGENTS_INGEST_ON_BREATH_AMOUNT) - visible_message(span_warning("[src] chokes on water!"), span_userdanger("You're choking on water!")) - return FALSE - if(isopenturf(our_turf)) - var/turf/open/open_turf = our_turf - if(open_turf.pollution) - if(next_smell <= world.time) - next_smell = world.time + SMELL_COOLDOWN - open_turf.pollution.smell_act(src) - open_turf.pollution.breathe_act(src) - - var/breath_moles = 0 - if(environment) - breath_moles = environment.total_moles() * BREATH_PERCENTAGE - - breath = loc.remove_air(breath_moles) - else //Breathe from loc as obj again - if(isobj(loc)) - var/obj/loc_as_obj = loc - loc_as_obj.handle_internal_lifeform(src,0) - - check_breath(breath) + if(breath == SKIP_INTERNALS) //in case of 0 pressure internals + breath = get_breath_from_surroundings(environment, BREATH_VOLUME) + + else if(isobj(loc)) //Breathe from loc as obj again + var/obj/loc_as_obj = loc + loc_as_obj.handle_internal_lifeform(src, 0) + + // Breathe from air + else + breath = get_breath_from_surroundings(environment, BREATH_VOLUME) + + check_breath(breath, skip_breath) if(breath) - loc.assume_air(breath) + exhale_breath(breath) + +/mob/living/carbon/proc/exhale_breath(datum/gas_mixture/breath) + if(SEND_SIGNAL(src, COMSIG_CARBON_BREATH_EXHALE, breath) & BREATHE_EXHALE_HANDLED) + return + loc.assume_air(breath) /mob/living/carbon/proc/has_smoke_protection() - if(HAS_TRAIT(src, TRAIT_NOBREATH)) - return TRUE - return FALSE + return HAS_TRAIT(src, TRAIT_NOBREATH) /** * This proc tests if the lungs can breathe, if the mob can breathe a given gas mixture, and throws/clears gas alerts. @@ -166,276 +141,11 @@ * * Arguments: * * breath: A gas mixture to test, or null. + * * skip_breath: Used to differentiate between a failed breath and a lack of breath. + * A mob suffocating due to being in a vacuum may be treated differently than a mob suffocating due to lung failure. */ -/mob/living/carbon/proc/check_breath(datum/gas_mixture/breath) - . = TRUE - - if(status_flags & GODMODE) - failed_last_breath = FALSE - clear_alert(ALERT_NOT_ENOUGH_OXYGEN) - return - - if(HAS_TRAIT(src, TRAIT_NOBREATH)) - return - - // Breath may be null, so use a fallback "empty breath" for convenience. - if(!breath) - /// Fallback "empty breath" for convenience. - var/static/datum/gas_mixture/immutable/empty_breath = new(BREATH_VOLUME) - breath = empty_breath - - // Ensure gas volumes are present. - breath.assert_gases(/datum/gas/bz, /datum/gas/carbon_dioxide, /datum/gas/freon, /datum/gas/plasma, /datum/gas/pluoxium, /datum/gas/miasma, /datum/gas/nitrous_oxide, /datum/gas/nitrium, /datum/gas/oxygen) - - /// The list of gases in the breath. - var/list/breath_gases = breath.gases - /// Indicates if there are moles of gas in the breath. - var/has_moles = breath.total_moles() != 0 - - var/obj/item/organ/internal/lungs = get_organ_slot(ORGAN_SLOT_LUNGS) - // Indicates if lungs can breathe without gas. - var/can_breathe_vacuum = FALSE - if(lungs) - // Breathing with lungs. - // Check for vacuum-adapted lungs. - can_breathe_vacuum = HAS_TRAIT(lungs, TRAIT_SPACEBREATHING) - else - // Lungs are missing! Can't breathe. - // Simulates breathing zero moles of gas. - has_moles = FALSE - // Extra damage, let God sort ’em out! - adjustOxyLoss(2) - - /// Minimum O2 before suffocation. - var/safe_oxygen_min = 16 - /// Maximum CO2 before side-effects. - var/safe_co2_max = 10 - /// Maximum Plasma before side-effects. - var/safe_plas_max = 0.05 - /// Maximum Pluoxum before side-effects. - var/gas_stimulation_min = 0.002 // For Pluoxium - // Vars for N2O induced euphoria, stun, and sleep. - var/n2o_euphoria = EUPHORIA_LAST_FLAG - var/n2o_para_min = 1 - var/n2o_sleep_min = 5 - - // Partial pressures in our breath - // Main gases. - var/pluoxium_pp = 0 - var/o2_pp = 0 - var/plasma_pp = 0 - var/co2_pp = 0 - // Trace gases ordered alphabetically. - var/bz_pp = 0 - var/freon_pp = 0 - var/n2o_pp = 0 - var/nitrium_pp = 0 - var/miasma_pp = 0 - - // Check for moles of gas and handle partial pressures / special conditions. - if(has_moles) - // Breath has more than 0 moles of gas. - // Partial pressures of "main gases". - pluoxium_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/pluoxium][MOLES]) - o2_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/oxygen][MOLES] + (8 * pluoxium_pp)) - plasma_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/plasma][MOLES]) - co2_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/carbon_dioxide][MOLES]) - // Partial pressures of "trace" gases. - bz_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/bz][MOLES]) - freon_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/freon][MOLES]) - miasma_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/miasma][MOLES]) - n2o_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/nitrous_oxide][MOLES]) - nitrium_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/nitrium][MOLES]) - - // Breath has 0 moles of gas. - else if(can_breathe_vacuum) - // The mob can breathe anyways. What are you? Some bottom-feeding, scum-sucking algae eater? - failed_last_breath = FALSE - // Vacuum-adapted lungs regenerate oxyloss even when breathing nothing. - if(health >= crit_threshold) - adjustOxyLoss(-5) - else - // Can't breathe! Lungs are missing, and/or breath is empty. - . = FALSE - failed_last_breath = TRUE - - //-- PLUOXIUM --// - // Behaves like Oxygen with 8X efficacy, but metabolizes into a reagent. - if(pluoxium_pp) - // Inhale Pluoxium. Exhale nothing. - breath_gases[/datum/gas/pluoxium][MOLES] = 0 - // Metabolize to reagent. - if(pluoxium_pp > gas_stimulation_min) - var/existing = reagents.get_reagent_amount(/datum/reagent/pluoxium) - reagents.add_reagent(/datum/reagent/pluoxium, max(0, 1 - existing)) - - //-- OXYGEN --// - // Carbons need only Oxygen to breathe properly. - var/oxygen_used = 0 - // Minimum Oxygen effects. "Too little oxygen!" - if(!can_breathe_vacuum && (o2_pp < safe_oxygen_min)) - // Breathe insufficient amount of O2. - oxygen_used = handle_suffocation(o2_pp, safe_oxygen_min, breath_gases[/datum/gas/oxygen][MOLES]) - throw_alert(ALERT_NOT_ENOUGH_OXYGEN, /atom/movable/screen/alert/not_enough_oxy) - else - // Enough oxygen to breathe. - failed_last_breath = FALSE - clear_alert(ALERT_NOT_ENOUGH_OXYGEN) - if(o2_pp) - // Inhale O2. - oxygen_used = breath_gases[/datum/gas/oxygen][MOLES] - // Heal mob if not in crit. - if(health >= crit_threshold) - adjustOxyLoss(-5) - // Exhale equivalent amount of CO2. - if(o2_pp) - breath_gases[/datum/gas/oxygen][MOLES] -= oxygen_used - breath_gases[/datum/gas/carbon_dioxide][MOLES] += oxygen_used - - //-- CARBON DIOXIDE --// - // Maximum CO2 effects. "Too much CO2!" - if(co2_pp > safe_co2_max) - // CO2 side-effects. - // Give the mob a chance to notice. - if(prob(20)) - emote("cough") - // If it's the first breath with too much CO2 in it, lets start a counter, then have them pass out after 12s or so. - if(!co2overloadtime) - co2overloadtime = world.time - else if((world.time - co2overloadtime) > 12 SECONDS) - throw_alert(ALERT_TOO_MUCH_CO2, /atom/movable/screen/alert/too_much_co2) - Unconscious(6 SECONDS) - // Lets hurt em a little, let them know we mean business. - adjustOxyLoss(3) - // They've been in here 30s now, start to kill them for their own good! - if((world.time - co2overloadtime) > 30 SECONDS) - adjustOxyLoss(8) - else - // Reset side-effects. - co2overloadtime = 0 - clear_alert(ALERT_TOO_MUCH_CO2) - - //-- PLASMA --// - // Maximum Plasma effects. "Too much Plasma!" - if(plasma_pp > safe_plas_max) - // Plasma side-effects. - var/ratio = (breath_gases[/datum/gas/plasma][MOLES] / safe_plas_max) * 10 - adjustToxLoss(clamp(ratio, MIN_TOXIC_GAS_DAMAGE, MAX_TOXIC_GAS_DAMAGE)) - throw_alert(ALERT_TOO_MUCH_PLASMA, /atom/movable/screen/alert/too_much_plas) - else - // Reset side-effects. - clear_alert(ALERT_TOO_MUCH_PLASMA) - - //-- TRACES --// - // If there's some other funk in the air lets deal with it here. - - //-- BZ --// - // (Facepunch port of their Agent B) - if(bz_pp) - if(bz_pp > 1) - adjust_hallucinations(20 SECONDS) - else if(bz_pp > 0.01) - adjust_hallucinations(10 SECONDS) - - //-- FREON --// - if(freon_pp) - adjustFireLoss(freon_pp * 0.25) - - //-- MIASMA --// - if(!miasma_pp) - // Clear moodlet if no miasma at all. - clear_mood_event("smell") - else - // Miasma sickness - if(prob(1 * miasma_pp)) - var/virus_choice = pick(subtypesof(/datum/disease/advanced)- typesof(/datum/disease/advanced/premade)) - var/list/anti = list( - ANTIGEN_BLOOD = 1, - ANTIGEN_COMMON = 1, - ANTIGEN_RARE = 2, - ANTIGEN_ALIEN = 0, - ) - var/list/bad = list( - EFFECT_DANGER_HELPFUL = 0, - EFFECT_DANGER_FLAVOR = 1, - EFFECT_DANGER_ANNOYING = 2, - EFFECT_DANGER_HINDRANCE = 3, - EFFECT_DANGER_HARMFUL = 1, - EFFECT_DANGER_DEADLY = 0, - ) - var/datum/disease/advanced/new_disease = new virus_choice - new_disease.makerandom(list(50,90),list(50,100),anti,bad,src) - new_disease.carrier = TRUE - new_disease = new_disease.name - infect_disease(new_disease, TRUE, "Miasma Disease Infection [key_name(src)]") - // Miasma side-effects. - switch(miasma_pp) - if(0.25 to 5) - // At lower pp, give out a little warning - clear_mood_event("smell") - if(prob(5)) - to_chat(src, span_notice("There is an unpleasant smell in the air.")) - if(5 to 20) - //At somewhat higher pp, warning becomes more obvious - if(prob(15)) - to_chat(src, span_warning("You smell something horribly decayed inside this room.")) - add_mood_event("smell", /datum/mood_event/disgust/bad_smell) - if(15 to 30) - //Small chance to vomit. By now, people have internals on anyway - if(prob(5)) - to_chat(src, span_warning("The stench of rotting carcasses is unbearable!")) - add_mood_event("smell", /datum/mood_event/disgust/nauseating_stench) - vomit() - if(30 to INFINITY) - //Higher chance to vomit. Let the horror start - if(prob(25)) - to_chat(src, span_warning("The stench of rotting carcasses is unbearable!")) - add_mood_event("smell", /datum/mood_event/disgust/nauseating_stench) - vomit() - else - clear_mood_event("smell") - - //-- NITROUS OXIDE --// - if(n2o_pp > n2o_para_min) - // More N2O, more severe side-effects. Causes stun/sleep. - n2o_euphoria = EUPHORIA_ACTIVE - throw_alert(ALERT_TOO_MUCH_N2O, /atom/movable/screen/alert/too_much_n2o) - // give them one second of grace to wake up and run away a bit! - if(!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) - Unconscious(6 SECONDS) - // Enough to make the mob sleep. - if(n2o_pp > n2o_sleep_min) - Sleeping(max(AmountSleeping() + 40, 200)) - else if(n2o_pp > 0.01) - // No alert for small amounts, but the mob randomly feels euphoric. - if(prob(20)) - n2o_euphoria = EUPHORIA_ACTIVE - emote(pick("giggle","laugh")) - else - n2o_euphoria = EUPHORIA_INACTIVE - else - // Reset side-effects, for zero or extremely small amounts of N2O. - n2o_euphoria = EUPHORIA_INACTIVE - clear_alert(ALERT_TOO_MUCH_N2O) - - //-- NITRIUM --// - if(nitrium_pp) - if(nitrium_pp > 0.5) - adjustFireLoss(nitrium_pp * 0.15) - if(nitrium_pp > 5) - adjustToxLoss(nitrium_pp * 0.05) - - // Handle chemical euphoria mood event, caused by N2O. - if (n2o_euphoria == EUPHORIA_ACTIVE) - add_mood_event("chemical_euphoria", /datum/mood_event/chemical_euphoria) - else if (n2o_euphoria == EUPHORIA_INACTIVE) - clear_mood_event("chemical_euphoria") - // Activate mood on first flag, remove on second, do nothing on third. - - if(has_moles) - handle_breath_temperature(breath) - - breath.garbage_collect() +/mob/living/carbon/proc/check_breath(datum/gas_mixture/breath, skip_breath = FALSE) + return /// Applies suffocation side-effects to a given Human, scaling based on ratio of required pressure VS "true" pressure. /// If pressure is greater than 0, the return value will represent the amount of gas successfully breathed. @@ -473,21 +183,45 @@ // The air you breathe out should match your body temperature breath.temperature = bodytemperature -/// Attempts to take a breath from the external or internal air tank. +/** + * Attempts to take a breath from the external or internal air tank. + * + * Return a gas mixture datum if a breath was taken + * Return null if there was no gas inside the tank or no gas was distributed + * Return SKIP_INTERNALS to skip using internals entirely and get a normal breath + */ /mob/living/carbon/proc/get_breath_from_internal(volume_needed) if(invalid_internals()) // Unexpectely lost breathing apparatus and ability to breathe from the internal air tank. cutoff_internals() - return + return SKIP_INTERNALS + if (external) . = external.remove_air_volume(volume_needed) else if (internal) . = internal.remove_air_volume(volume_needed) else // Return without taking a breath if there is no air tank. - return - // To differentiate between no internals and active, but empty internals. - return . || FALSE + stack_trace("get_breath_from_internal called on a mob without internals or externals") + return SKIP_INTERNALS + + return . + +/** + * Attempts to take a breath from the surroundings. + * + * Returns a gas mixture datum if a breath was taken. + * Returns null if there was no gas in the surroundings or no gas was distributed. + */ +/mob/living/carbon/proc/get_breath_from_surroundings(datum/gas_mixture/environment, volume_needed) + if(isobj(loc)) //Breathe from loc as object + var/obj/loc_as_obj = loc + . = loc_as_obj.handle_internal_lifeform(src, volume_needed) + + else if(isturf(loc)) //Breathe from loc as turf + . = loc.remove_air((environment?.total_moles() * BREATH_PERCENTAGE) || 0) + + return . /mob/living/carbon/proc/handle_blood(seconds_per_tick, times_fired) return @@ -559,7 +293,7 @@ dna.unique_enzymes = dna.previous["UE"] dna.previous.Remove("UE") if(dna.previous["blood_type"]) - dna.blood_type = dna.previous["blood_type"] + dna.human_blood_type = blood_name_to_blood_type(dna.previous["blood_type"]) dna.previous.Remove("blood_type") dna.temporary_mutations.Remove(mut) continue @@ -581,92 +315,47 @@ reagents?.metabolize(src, seconds_per_tick, times_fired, can_overdose = TRUE, liverless = TRUE, dead = TRUE) // Your liver doesn't work while you're dead. /// Base carbon environment handler, adds natural stabilization -/mob/living/carbon/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) - var/areatemp = get_temperature(environment) - - if(stat != DEAD) // If you are dead your body does not stabilize naturally - natural_bodytemperature_stabilization(environment, seconds_per_tick, times_fired) - - if(!on_fire || areatemp > bodytemperature) // If we are not on fire or the area is hotter - adjust_bodytemperature((areatemp - bodytemperature), use_insulation=TRUE, use_steps=TRUE) +/mob/living/carbon/human/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) + . = ..() + var/pressure = environment.return_pressure() + var/adjusted_pressure = calculate_affecting_pressure(pressure) + + // Set alerts and apply damage based on the amount of pressure + switch(adjusted_pressure) + // Very high pressure, show an alert and take damage + if(HAZARD_HIGH_PRESSURE to INFINITY) + if(HAS_TRAIT(src, TRAIT_RESISTHIGHPRESSURE)) + clear_alert(ALERT_PRESSURE) + else + var/pressure_damage = min(((adjusted_pressure / HAZARD_HIGH_PRESSURE) - 1) * PRESSURE_DAMAGE_COEFFICIENT, MAX_HIGH_PRESSURE_DAMAGE) * physiology.pressure_mod * physiology.brute_mod * seconds_per_tick + adjustBruteLoss(pressure_damage, required_bodytype = BODYTYPE_ORGANIC) + throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/highpressure, 2) + + // High pressure, show an alert + if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) + throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/highpressure, 1) + + // No pressure issues here clear pressure alerts + if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) + clear_alert(ALERT_PRESSURE) + + // Low pressure here, show an alert + if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) + // We have low pressure resit trait, clear alerts + if(HAS_TRAIT(src, TRAIT_RESISTLOWPRESSURE)) + clear_alert(ALERT_PRESSURE) + else + throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/lowpressure, 1) -/** - * Used to stabilize the body temperature back to normal on living mobs - * - * Arguments: - * - [environemnt][/datum/gas_mixture]: The environment gas mix - * - seconds_per_tick: The amount of time that has elapsed since the last tick - * - times_fired: The number of times SSmobs has ticked - */ -/mob/living/carbon/proc/natural_bodytemperature_stabilization(datum/gas_mixture/environment, seconds_per_tick, times_fired) - var/areatemp = get_temperature(environment) - var/body_temperature_difference = get_body_temp_normal() - bodytemperature - var/natural_change = 0 - - // We are very cold, increase body temperature - if(bodytemperature <= BODYTEMP_COLD_DAMAGE_LIMIT) - natural_change = max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), \ - BODYTEMP_AUTORECOVERY_MINIMUM) - - // we are cold, reduce the minimum increment and do not jump over the difference - else if(bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT && bodytemperature < get_body_temp_normal()) - natural_change = max(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, \ - min(body_temperature_difference, BODYTEMP_AUTORECOVERY_MINIMUM / 4)) - - // We are hot, reduce the minimum increment and do not jump below the difference - else if(bodytemperature > get_body_temp_normal() && bodytemperature <= BODYTEMP_HEAT_DAMAGE_LIMIT) - natural_change = min(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, \ - max(body_temperature_difference, -(BODYTEMP_AUTORECOVERY_MINIMUM / 4))) - - // We are very hot, reduce the body temperature - else if(bodytemperature >= BODYTEMP_HEAT_DAMAGE_LIMIT) - natural_change = min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) - - var/thermal_protection = 1 - get_insulation_protection(areatemp) // invert the protection - if(areatemp > bodytemperature) // It is hot here - if(bodytemperature < get_body_temp_normal()) - // Our bodytemp is below normal we are cold, insulation helps us retain body heat - // and will reduce the heat we lose to the environment - natural_change = (thermal_protection + 1) * natural_change + // Very low pressure, show an alert and take damage else - // Our bodytemp is above normal and sweating, insulation hinders out ability to reduce heat - // but will reduce the amount of heat we get from the environment - natural_change = (1 / (thermal_protection + 1)) * natural_change - else // It is cold here - if(!on_fire) // If on fire ignore ignore local temperature in cold areas - if(bodytemperature < get_body_temp_normal()) - // Our bodytemp is below normal, insulation helps us retain body heat - // and will reduce the heat we lose to the environment - natural_change = (thermal_protection + 1) * natural_change + // We have low pressure resit trait, clear alerts + if(HAS_TRAIT(src, TRAIT_RESISTLOWPRESSURE)) + clear_alert(ALERT_PRESSURE) else - // Our bodytemp is above normal and sweating, insulation hinders out ability to reduce heat - // but will reduce the amount of heat we get from the environment - natural_change = (1 / (thermal_protection + 1)) * natural_change - - // Apply the natural stabilization changes - adjust_bodytemperature(natural_change * seconds_per_tick) - -/** - * Get the insulation that is appropriate to the temperature you're being exposed to. - * All clothing, natural insulation, and traits are combined returning a single value. - * - * required temperature The Temperature that you're being exposed to - * - * return the percentage of protection as a value from 0 - 1 -**/ -/mob/living/carbon/proc/get_insulation_protection(temperature) - return (temperature > bodytemperature) ? get_heat_protection(temperature) : get_cold_protection(temperature) - -/// This returns the percentage of protection from heat as a value from 0 - 1 -/// temperature is the temperature you're being exposed to -/mob/living/carbon/proc/get_heat_protection(temperature) - return heat_protection - -/// This returns the percentage of protection from cold as a value from 0 - 1 -/// temperature is the temperature you're being exposed to -/mob/living/carbon/proc/get_cold_protection(temperature) - return cold_protection - + var/pressure_damage = LOW_PRESSURE_DAMAGE * physiology.pressure_mod * physiology.brute_mod * seconds_per_tick + adjustBruteLoss(pressure_damage, required_bodytype = BODYTYPE_ORGANIC) + throw_alert(ALERT_PRESSURE, /atom/movable/screen/alert/lowpressure, 2) /** * Have two mobs share body heat between each other. * Account for the insulation and max temperature change range for the mob @@ -677,39 +366,12 @@ /mob/living/carbon/proc/share_bodytemperature(mob/living/carbon/M) var/temp_diff = bodytemperature - M.bodytemperature if(temp_diff > 0) // you are warm share the heat of life - M.adjust_bodytemperature((temp_diff * 0.5), use_insulation=TRUE, use_steps=TRUE) // warm up the giver - adjust_bodytemperature((temp_diff * -0.5), use_insulation=TRUE, use_steps=TRUE) // cool down the reciver + M.adjust_bodytemperature((temp_diff * 0.5) * 0.075 KELVIN, use_insulation = TRUE) // warm up the giver + adjust_bodytemperature((temp_diff * -0.5) * 0.075 KELVIN, use_insulation = TRUE) // cool down the reciver else // they are warmer leech from them - adjust_bodytemperature((temp_diff * -0.5) , use_insulation=TRUE, use_steps=TRUE) // warm up the reciver - M.adjust_bodytemperature((temp_diff * 0.5), use_insulation=TRUE, use_steps=TRUE) // cool down the giver - -/** - * Adjust the body temperature of a mob - * expanded for carbon mobs allowing the use of insulation and change steps - * - * vars: - * * amount The amount of degrees to change body temperature by - * * min_temp (optional) The minimum body temperature after adjustment - * * max_temp (optional) The maximum body temperature after adjustment - * * use_insulation (optional) modifies the amount based on the amount of insulation the mob has - * * use_steps (optional) Use the body temp divisors and max change rates - * * capped (optional) default True used to cap step mode - */ -/mob/living/carbon/adjust_bodytemperature(amount, min_temp=0, max_temp=INFINITY, use_insulation=FALSE, use_steps=FALSE, capped=TRUE) - // apply insulation to the amount of change - if(use_insulation) - amount *= (1 - get_insulation_protection(bodytemperature + amount)) - - // Use the bodytemp divisors to get the change step, with max step size - if(use_steps) - amount = (amount > 0) ? (amount / BODYTEMP_HEAT_DIVISOR) : (amount / BODYTEMP_COLD_DIVISOR) - // Clamp the results to the min and max step size - if(capped) - amount = (amount > 0) ? min(amount, BODYTEMP_HEATING_MAX) : max(amount, BODYTEMP_COOLING_MAX) - - if(bodytemperature >= min_temp && bodytemperature <= max_temp) - bodytemperature = clamp(bodytemperature + amount, min_temp, max_temp) + adjust_bodytemperature((temp_diff * -0.5) * 0.075 KELVIN, use_insulation = TRUE) // warm up the reciver + M.adjust_bodytemperature((temp_diff * 0.5) * 0.075 KELVIN, use_insulation = TRUE) // cool down the giver /////////// @@ -759,7 +421,7 @@ reagents.end_metabolization(src, keep_liverless = TRUE) //Stops trait-based effects on reagents, to prevent permanent buffs reagents.metabolize(src, seconds_per_tick, times_fired, can_overdose=TRUE, liverless = TRUE) - if(HAS_TRAIT(src, TRAIT_STABLELIVER) || HAS_TRAIT(src, TRAIT_NOMETABOLISM)) + if(HAS_TRAIT(src, TRAIT_STABLELIVER) || HAS_TRAIT(src, TRAIT_LIVERLESS_METABOLISM)) return adjustToxLoss(0.6 * seconds_per_tick, TRUE, TRUE) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 9793371343fa5e..1873a40f77c250 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -70,7 +70,7 @@ update_damage_overlays() damage_dealt = actual_hit.get_damage() - delta // Unfortunately bodypart receive_damage doesn't return damage dealt so we do it manually else - damage_dealt = adjustBruteLoss(damage_amount, forced = forced) + damage_dealt = -1 * adjustBruteLoss(damage_amount, forced = forced) if(BURN) if(isbodypart(def_zone)) var/obj/item/bodypart/actual_hit = def_zone @@ -86,19 +86,38 @@ damage_source = attacking_item, )) update_damage_overlays() - damage_dealt = delta - actual_hit.get_damage() // See above + damage_dealt = actual_hit.get_damage() - delta // See above else - damage_dealt = adjustFireLoss(damage_amount, forced = forced) + damage_dealt = -1 * adjustFireLoss(damage_amount, forced = forced) if(TOX) - damage_dealt = adjustToxLoss(damage_amount, forced = forced) + damage_dealt = -1 * adjustToxLoss(damage_amount, forced = forced) if(OXY) - damage_dealt = adjustOxyLoss(damage_amount, forced = forced) + damage_dealt = -1 * adjustOxyLoss(damage_amount, forced = forced) if(CLONE) - damage_dealt = adjustCloneLoss(damage_amount, forced = forced) + damage_dealt = -1 * adjustCloneLoss(damage_amount, forced = forced) if(STAMINA) - damage_dealt = stamina.adjust(-damage) + damage_dealt = -1 * stamina.adjust(-damage) + if(PAIN) + if(pain_controller) + var/pre_pain = pain_controller.get_average_pain() + var/pain_amount = damage_amount + var/chosen_zone + if(spread_damage || isnull(def_zone)) + chosen_zone = BODY_ZONES_ALL + pain_amount /= 6 + else if(isbodypart(def_zone)) + var/obj/item/bodypart/actual_hit = def_zone + chosen_zone = actual_hit.body_zone + else + chosen_zone = check_zone(def_zone) + + sharp_pain(chosen_zone, pain_amount, STAMINA, 12.5 SECONDS, 0.8) + damage_dealt += pre_pain - pain_controller.get_average_pain() + damage_dealt += stamina?.adjust(-damage_amount * 0.25, forced = forced) + else + damage_dealt = -1 * stamina.adjust(-damage_amount, forced = forced) if(BRAIN) - damage_dealt = adjustOrganLoss(ORGAN_SLOT_BRAIN, damage_amount) + damage_dealt = -1 * adjustOrganLoss(ORGAN_SLOT_BRAIN, damage_amount) SEND_SIGNAL(src, COMSIG_MOB_AFTER_APPLY_DAMAGE, damage_dealt, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction, attacking_item) return damage_dealt diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index a82cacfaf960fd..e82151f1251d1b 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -6,7 +6,7 @@ * * no_organs - Should the mob NOT drop organs? * * no_bodyparts - Should the mob NOT drop bodyparts? */ -/mob/living/proc/gib(no_brain, no_organs, no_bodyparts) +/mob/living/proc/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) var/prev_lying = lying_angle if(stat != DEAD) death(TRUE) diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 3faf2c8cb3647b..8b9a22f40a288a 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -288,7 +288,8 @@ if(user.alternative_laughs.len) return pick(user.alternative_laughs) - return user.dna.species.get_laugh_sound(user) + var/obj/item/organ/internal/tongue/tongue = user.get_organ_slot(ORGAN_SLOT_TONGUE) + return tongue?.get_laugh_sound(user) // MonkeStation Edit End /datum/emote/living/look diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index be431ccf31f8da..9acd31e030f08d 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -1,7 +1,6 @@ /// Called on [/mob/living/Initialize(mapload)], for the mob to register to relevant signals. /mob/living/proc/register_init_signals() - RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_gain)) - RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_loss)) + RegisterSignals(src, list(SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT)), PROC_REF(on_knockedout_trait)) RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_DEATHCOMA), PROC_REF(on_deathcoma_trait_gain)) RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_DEATHCOMA), PROC_REF(on_deathcoma_trait_loss)) @@ -63,17 +62,20 @@ ) AddElement(/datum/element/connect_loc, loc_connections) -/// Called when [TRAIT_KNOCKEDOUT] is added to the mob. -/mob/living/proc/on_knockedout_trait_gain(datum/source) +/// Called when [TRAIT_KNOCKEDOUT] is added or removed from the mob. +/mob/living/proc/on_knockedout_trait(datum/source) SIGNAL_HANDLER - if(stat < UNCONSCIOUS) - set_stat(UNCONSCIOUS) + if(HAS_TRAIT(src, TRAIT_KNOCKEDOUT)) + become_blind(UNCONSCIOUS_TRAIT) + set_pain_mod(PAIN_MOD_KOD, 0.8) + add_traits(list(TRAIT_HANDS_BLOCKED, TRAIT_IMMOBILIZED, TRAIT_INCAPACITATED, TRAIT_FLOORED), TRAIT_KNOCKEDOUT) + update_body() // Update eyelids -/// Called when [TRAIT_KNOCKEDOUT] is removed from the mob. -/mob/living/proc/on_knockedout_trait_loss(datum/source) - SIGNAL_HANDLER - if(stat <= UNCONSCIOUS) - update_stat() + else + cure_blind(UNCONSCIOUS_TRAIT) + unset_pain_mod(PAIN_MOD_KOD) + remove_traits(list(TRAIT_HANDS_BLOCKED, TRAIT_IMMOBILIZED, TRAIT_INCAPACITATED, TRAIT_FLOORED), TRAIT_KNOCKEDOUT) + update_body() // Update eyelids /// Called when [TRAIT_DEATHCOMA] is added to the mob. /mob/living/proc/on_deathcoma_trait_gain(datum/source) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index cda90a8e73164e..36df39e4167cbc 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -1,6 +1,3 @@ -/// This divisor controls how fast body temperature changes to match the environment -#define BODYTEMP_DIVISOR 16 - /** * Handles the biological and general over-time processes of the mob. * @@ -63,9 +60,17 @@ var/datum/gas_mixture/environment = loc.return_air() if(environment) handle_environment(environment, seconds_per_tick, times_fired) + body_temperature_damage(environment, seconds_per_tick, times_fired) + if(stat <= SOFT_CRIT && !on_fire) + if(!ishuman(src)) + return + temperature_homeostasis(seconds_per_tick, times_fired) handle_gravity(seconds_per_tick, times_fired) + if(stat != DEAD) + body_temperature_alerts() + handle_wounds(seconds_per_tick, times_fired) if(machine) @@ -90,20 +95,45 @@ /mob/living/proc/handle_random_events(seconds_per_tick, times_fired) return -// Base mob environment handler for body temperature +/** + * Handle this mob's interactions with the environment + * + * By default handles body temperature normalization to the area's temperature, + * but also handles pressure for many mobs + * + * Arguments: + * * environment: The gas mixture of the area the mob is in, will never be null + * * seconds_per_tick: The amount of time that has elapsed since this last fired. + * * times_fired: The number of times SSmobs has fired + */ /mob/living/proc/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) var/loc_temp = get_temperature(environment) var/temp_delta = loc_temp - bodytemperature + if(temp_delta == 0) + return + if(temp_delta < 0 && on_fire) + return + + var/thermal_protection = get_insulation(loc_temp) + var/protection_modifier = 1 + if(bodytemperature > standard_body_temperature + 2 KELVIN) + protection_modifier = 0.7 + + // Calculate the equilibrium temperature considering insulation + var/equilibrium_temp = get_insulated_equilibrium_temperature(loc_temp, thermal_protection * protection_modifier) - if(ismovable(loc)) - var/atom/movable/occupied_space = loc - temp_delta *= (1 - occupied_space.contents_thermal_insulation) + var/temp_change = (equilibrium_temp - bodytemperature) * temperature_normalization_speed * seconds_per_tick - if(temp_delta < 0) // it is cold here - if(!on_fire) // do not reduce body temp when on fire - adjust_bodytemperature(max(max(temp_delta / BODYTEMP_DIVISOR, BODYTEMP_COOLING_MAX) * seconds_per_tick, temp_delta)) - else // this is a hot place - adjust_bodytemperature(min(min(temp_delta / BODYTEMP_DIVISOR, BODYTEMP_HEATING_MAX) * seconds_per_tick, temp_delta)) + // Cap increase and decrease + temp_change = temp_change < 0 ? max(temp_change, BODYTEMP_HOMEOSTASIS_COOLING_MAX) : min(temp_change, BODYTEMP_HOMEOSTASIS_HEATING_MAX) + + adjust_bodytemperature(temp_change * seconds_per_tick) // No use_insulation because we manually account for it + +/mob/living/proc/get_insulated_equilibrium_temperature(environment_temp, insulation) + return environment_temp + (standard_body_temperature - environment_temp) * insulation + +/mob/living/silicon/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) + return // Not yet /** * Get the fullness of the mob @@ -116,10 +146,8 @@ /mob/living/proc/get_fullness() var/fullness = nutrition // we add the nutrition value of what we're currently digesting - for(var/bile in reagents.reagent_list) - var/datum/reagent/consumable/bits = bile - if(bits) - fullness += bits.nutriment_factor * bits.volume / bits.metabolization_rate + for(var/datum/reagent/consumable/bits in reagents.reagent_list) + fullness += bits.nutriment_factor * bits.volume / bits.metabolization_rate return fullness /** @@ -153,5 +181,3 @@ var/grav_strength = gravity - GRAVITY_DAMAGE_THRESHOLD adjustBruteLoss(min(GRAVITY_DAMAGE_SCALING * grav_strength, GRAVITY_DAMAGE_MAXIMUM) * seconds_per_tick) - -#undef BODYTEMP_DIVISOR diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 1fec8e44db44eb..a7bcdfe649abef 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -17,6 +17,8 @@ update_fov() gravity_setup() voice_type = pick(voice_type2sound) //monkestation edit + if(!blood_volume) + ADD_TRAIT(src, TRAIT_NOBLOOD, INNATE_TRAIT) /mob/living/prepare_huds() ..() @@ -246,7 +248,7 @@ visible_message("[src] bounces off \the [O]!") var/atom/throw_target = get_edge_target_turf(src, turn(get_dir(O, src), rand(-1,1) * 45)) playsound(src, 'monkestation/sound/effects/boing1.ogg', 50) - src.throw_at(throw_target, 20, 3, force = 0) + src.throw_at(throw_target, 20, 3, force = 0, gentle = TRUE) return //Called when we bump onto an obj @@ -255,7 +257,7 @@ visible_message("[src] bounces off \the [T]!") var/atom/throw_target = get_edge_target_turf(src, turn(get_dir(T, src), rand(-1,1) * 45)) playsound(src, 'monkestation/sound/effects/boing1.ogg', 50) - src.throw_at(throw_target, 20, 3, force = 0) + src.throw_at(throw_target, 20, 3, force = 0, gentle = TRUE) return //Called when we want to push an atom/movable @@ -524,7 +526,7 @@ * * IGNORE_GRAB - mob that is agressively grabbed is not considered incapacitated **/ /mob/living/incapacitated(flags) - if((flags & IGNORE_CRIT) && ((stat >= SOFT_CRIT && (stat != DEAD && stat != UNCONSCIOUS)) && !src.pulledby)) + if((flags & IGNORE_CRIT) && ((stat >= SOFT_CRIT && (stat != DEAD && stat != UNCONSCIOUS && stat != HARD_CRIT)) && !src.pulledby)) return FALSE if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) @@ -933,7 +935,8 @@ cure_husk() if(heal_flags & HEAL_TEMP) - bodytemperature = get_body_temp_normal(apply_change = FALSE) + bodytemperature = standard_body_temperature + body_temperature_alerts() if(heal_flags & HEAL_BLOOD) restore_blood() if(reagents && (heal_flags & HEAL_ALL_REAGENTS)) @@ -1019,10 +1022,10 @@ return /mob/living/proc/makeTrail(turf/target_turf, turf/start, direction) - if(!has_gravity() || !isturf(start) || !blood_volume) + if(!has_gravity() || !isturf(start) || HAS_TRAIT(src, TRAIT_NOBLOOD)) return - var/blood_exists = locate(/obj/effect/decal/cleanable/trail_holder) in start + var/blood_exists = locate(/obj/effect/decal/cleanable/blood/trail_holder) in start var/trail_type = getTrail() if(!trail_type) @@ -1044,18 +1047,21 @@ if((newdir in GLOB.cardinals) && (prob(50))) newdir = turn(get_dir(target_turf, start), 180) if(!blood_exists) - new /obj/effect/decal/cleanable/trail_holder(start, get_static_viruses()) + var/obj/effect/decal/cleanable/blood/trail_holder/new_blood = new /obj/effect/decal/cleanable/blood/trail_holder(start, get_static_viruses()) + new_blood.add_mob_blood(src) + new_blood.update_appearance() - for(var/obj/effect/decal/cleanable/trail_holder/TH in start) + for(var/obj/effect/decal/cleanable/blood/trail_holder/TH in start) if((!(newdir in TH.existing_dirs) || trail_type == "trails_1" || trail_type == "trails_2") && TH.existing_dirs.len <= 16) //maximum amount of overlays is 16 (all light & heavy directions filled) TH.existing_dirs += newdir TH.add_overlay(image('icons/effects/blood.dmi', trail_type, dir = newdir)) - TH.transfer_mob_blood_dna(src) + TH.add_mob_blood(src) + TH.update_appearance() -/mob/living/carbon/human/makeTrail(turf/T) - if(HAS_TRAIT(src, TRAIT_NOBLOOD) || !is_bleeding() || HAS_TRAIT(src, TRAIT_NOBLOOD)) +/mob/living/carbon/human/makeTrail(turf/target_turf, turf/start, direction) + if(!is_bleeding()) return - ..() + return ..() ///Returns how much blood we're losing from being dragged a tile, from [/mob/living/proc/makeTrail] /mob/living/proc/bleedDragAmount() @@ -1240,16 +1246,23 @@ else if(!src.mob_negates_gravity()) step_towards(src,S) +/** + * Unsed in calculating what temperature our environment probably is. + * + * By default just returns the temperature of the turf we're on, + * but is slightly more complex if we're inside another movable (in which we average the temps of our body and the movable) + */ /mob/living/proc/get_temperature(datum/gas_mixture/environment) - var/loc_temp = environment ? environment.temperature : T0C + var/loc_temp = environment ? environment.return_temperature() : T0C if(isobj(loc)) - var/obj/oloc = loc - var/obj_temp = oloc.return_temperature() - if(obj_temp != null) + var/obj_temp = loc.return_temperature() + if(!isnull(obj_temp)) loc_temp = obj_temp + else if(isspaceturf(get_turf(src))) var/turf/heat_turf = get_turf(src) loc_temp = heat_turf.temperature + if(ismovable(loc)) var/atom/movable/occupied_space = loc loc_temp = ((1 - occupied_space.contents_thermal_insulation) * loc_temp) + (occupied_space.contents_thermal_insulation * bodytemperature) @@ -1695,16 +1708,22 @@ GLOBAL_LIST_EMPTY(fire_appearances) return null /** - * Handles effects happening when mob is on normal fire + * Called every life tick that a mob is on fire. * - * Vars: - * * seconds_per_tick - * * times_fired - * * fire_handler: Current fire status effect that called the proc + * Args: + * * seconds_per_tick: Seconds between each life tick + * * fire_handler: The fire handler status effect that is managing the fire stacks */ - /mob/living/proc/on_fire_stack(seconds_per_tick, times_fired, datum/status_effect/fire_handler/fire_stacks/fire_handler) - return + var/amount_to_heat = HEAT_PER_FIRE_STACK * fire_handler.stacks * seconds_per_tick + var/amount_to_burn = BURN_DAMAGE_PER_FIRE_STACK * fire_handler.stacks * seconds_per_tick + if(bodytemperature > BODYTEMP_FIRE_TEMP_SOFTCAP) + // Apply dimishing returns upon temp beyond the soft cap + amount_to_heat = amount_to_heat ** (BODYTEMP_FIRE_TEMP_SOFTCAP / bodytemperature) + + var/direct_damage = (HAS_TRAIT(src, TRAIT_RESISTHEAT) || bodytemp_heat_damage_limit == INFINITY) ? 0 : temperature_burns(amount_to_burn) + var/temp_change = adjust_bodytemperature(amount_to_heat) + return temp_change + direct_damage //Mobs on Fire end @@ -1967,64 +1986,6 @@ GLOBAL_LIST_EMPTY(fire_appearances) update_transform() lying_prev = lying_angle - -/** - * add_body_temperature_change Adds modifications to the body temperature - * - * This collects all body temperature changes that the mob is experiencing to the list body_temp_changes - * the aggrogate result is used to derive the new body temperature for the mob - * - * arguments: - * * key_name (str) The unique key for this change, if it already exist it will be overridden - * * amount (int) The amount of change from the base body temperature - */ -/mob/living/proc/add_body_temperature_change(key_name, amount) - body_temp_changes["[key_name]"] = amount - -/** - * remove_body_temperature_change Removes the modifications to the body temperature - * - * This removes the recorded change to body temperature from the body_temp_changes list - * - * arguments: - * * key_name (str) The unique key for this change that will be removed - */ -/mob/living/proc/remove_body_temperature_change(key_name) - body_temp_changes -= key_name - -/** - * get_body_temp_normal_change Returns the aggregate change to body temperature - * - * This aggregates all the changes in the body_temp_changes list and returns the result - */ -/mob/living/proc/get_body_temp_normal_change() - var/total_change = 0 - if(body_temp_changes.len) - for(var/change in body_temp_changes) - total_change += body_temp_changes["[change]"] - return total_change - -/** - * get_body_temp_normal Returns the mobs normal body temperature with any modifications applied - * - * This applies the result from proc/get_body_temp_normal_change() against the BODYTEMP_NORMAL and returns the result - * - * arguments: - * * apply_change (optional) Default True This applies the changes to body temperature normal - */ -/mob/living/proc/get_body_temp_normal(apply_change=TRUE) - if(!apply_change) - return BODYTEMP_NORMAL - return BODYTEMP_NORMAL + get_body_temp_normal_change() - -///Returns the body temperature at which this mob will start taking heat damage. -/mob/living/proc/get_body_temp_heat_damage_limit() - return BODYTEMP_HEAT_DAMAGE_LIMIT - -///Returns the body temperature at which this mob will start taking cold damage. -/mob/living/proc/get_body_temp_cold_damage_limit() - return BODYTEMP_COLD_DAMAGE_LIMIT - ///Checks if the user is incapacitated or on cooldown. /mob/living/proc/can_look_up() return !(incapacitated(IGNORE_RESTRAINTS)) @@ -2255,27 +2216,38 @@ GLOBAL_LIST_EMPTY(fire_appearances) stack_trace("[src] had set_usable_legs() called on them with a negative value!") new_value = 0 - . = usable_legs + var/old_value = usable_legs usable_legs = new_value - if(new_value > .) // Gained leg usage. + update_limbless_locomotion() + update_limbless_movespeed_mod() + + return old_value + +/// Updates whether the mob is floored or immobilized based on how many limbs they have or are missing. +/mob/living/proc/update_limbless_locomotion() + if(usable_legs > 0 || (movement_type & (FLYING|FLOATING)) || COUNT_TRAIT_SOURCES(src, TRAIT_NO_LEG_AID) >= 2) REMOVE_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - else if(!(movement_type & (FLYING | FLOATING))) //Lost leg usage, not flying. - if(!usable_legs) - ADD_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - if(!usable_hands) - ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + return + ADD_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + if(usable_hands == 0) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) +/// Updates the mob's movespeed based on how many limbs they have or are missing. +/mob/living/proc/update_limbless_movespeed_mod() if(usable_legs < default_num_legs) var/limbless_slowdown = (default_num_legs - usable_legs) * 3 if(!usable_legs && usable_hands < default_num_hands) limbless_slowdown += (default_num_hands - usable_hands) * 3 + var/list/slowdown_mods = list() + SEND_SIGNAL(src, COMSIG_LIVING_LIMBLESS_MOVESPEED_UPDATE, slowdown_mods) + for(var/num in slowdown_mods) + limbless_slowdown *= num add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/limbless, multiplicative_slowdown = limbless_slowdown) else remove_movespeed_modifier(/datum/movespeed_modifier/limbless) - ///Proc to modify the value of num_hands and hook behavior associated to this event. /mob/living/proc/set_num_hands(new_value) if(num_hands == new_value) @@ -2288,14 +2260,18 @@ GLOBAL_LIST_EMPTY(fire_appearances) /mob/living/proc/set_usable_hands(new_value) if(usable_hands == new_value) return - . = usable_hands + if(new_value < 0) // Sanity check + stack_trace("[src] had set_usable_hands() called on them with a negative value!") + new_value = 0 + + var/old_value = usable_hands usable_hands = new_value - if(new_value > .) // Gained hand usage. - REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) - else if(!(movement_type & (FLYING | FLOATING)) && !usable_hands && !usable_legs) //Lost a hand, not flying, no hands left, no legs. - ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + if(usable_legs < default_num_legs) + update_limbless_locomotion() + update_limbless_movespeed_mod() + return old_value /// Whether or not this mob will escape from storages while being picked up/held. /mob/living/proc/will_escape_storage() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index a6481e93ae017a..2594aaee786ec1 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -100,21 +100,49 @@ // we need a second, silent armor check to actually know how much to reduce damage taken, as opposed to // on [/atom/proc/bullet_act] where it's just to pass it to the projectile's on_hit(). - var/armor_check = check_projectile_armor(def_zone, hitting_projectile, is_silent = TRUE) + var/armor_check = min(ARMOR_MAX_BLOCK, check_projectile_armor(def_zone, hitting_projectile, is_silent = TRUE)) - apply_damage( + var/damage_done = apply_damage( damage = hitting_projectile.damage, damagetype = hitting_projectile.damage_type, def_zone = def_zone, - blocked = min(ARMOR_MAX_BLOCK, armor_check), //cap damage reduction at 90% + blocked = armor_check, wound_bonus = hitting_projectile.wound_bonus, bare_wound_bonus = hitting_projectile.bare_wound_bonus, sharpness = hitting_projectile.sharpness, - attack_direction = get_dir(hitting_projectile.starting, src), + attack_direction = hitting_projectile.dir, ) + if(hitting_projectile.stamina) + apply_damage( + damage = hitting_projectile.stamina, + damagetype = STAMINA, + def_zone = def_zone, + blocked = armor_check, + attack_direction = hitting_projectile.dir, + ) + if(hitting_projectile.pain) + apply_damage( + damage = hitting_projectile.pain, + damagetype = PAIN, + def_zone = def_zone, + // blocked = armor_check, // Batons don't factor in armor, soooo we shouldn't? + attack_direction = hitting_projectile.dir, + ) + + var/extra_paralyze = 0 SECONDS + var/extra_knockdown = 0 SECONDS + if(hitting_projectile.damage_type == BRUTE && !hitting_projectile.grazing && (pain_controller?.get_average_pain() > 50)) + if(damage_done >= 60) + if(!IsParalyzed() && prob(damage_done)) + extra_paralyze += 0.8 SECONDS + extra_knockdown += 1.2 SECONDS + else if(damage_done >= 20) + if(!IsKnockdown() && prob(damage_done * 2)) + extra_knockdown += 0.8 SECONDS + apply_effects( stun = hitting_projectile.stun, - knockdown = hitting_projectile.knockdown, + knockdown = hitting_projectile.knockdown + extra_knockdown, unconscious = hitting_projectile.unconscious, slur = (mob_biotypes & MOB_ROBOTIC) ? 0 SECONDS : hitting_projectile.slur, // Don't want your cyborgs to slur from being ebow'd stutter = (mob_biotypes & MOB_ROBOTIC) ? 0 SECONDS : hitting_projectile.stutter, // Don't want your cyborgs to stutter from being tazed @@ -123,7 +151,7 @@ blocked = armor_check, stamina = hitting_projectile.stamina, jitter = (mob_biotypes & MOB_ROBOTIC) ? 0 SECONDS : hitting_projectile.jitter, // Cyborgs can jitter but not from being shot - paralyze = hitting_projectile.paralyze, + paralyze = hitting_projectile.paralyze + extra_paralyze, immobilize = hitting_projectile.immobilize, ) if(hitting_projectile.dismemberment) @@ -131,7 +159,16 @@ return BULLET_ACT_HIT /mob/living/check_projectile_armor(def_zone, obj/projectile/impacting_projectile, is_silent) - return run_armor_check(def_zone, impacting_projectile.armor_flag, "","",impacting_projectile.armour_penetration, "", is_silent, impacting_projectile.weak_against_armour) + . = run_armor_check( + def_zone = def_zone, + attack_flag = impacting_projectile.armor_flag, + armour_penetration = impacting_projectile.armour_penetration, + silent = is_silent, + weak_against_armour = impacting_projectile.weak_against_armour, + ) + if(impacting_projectile.grazing) + . += 50 + return . /mob/living/proc/check_projectile_dismemberment(obj/projectile/P, def_zone) return 0 diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index fc9ffb53cc4523..499910828f3df7 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -21,6 +21,9 @@ ///Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this. var/staminaloss = 0 + /// Modified applied to attacks with items or fists + var/outgoing_damage_mod = 1 + //Damage related vars, NOTE: THESE SHOULD ONLY BE MODIFIED BY PROCS ///Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) var/bruteloss = 0 @@ -115,6 +118,8 @@ var/num_legs = 2 ///How many usable legs this mob currently has. Should only be changed through set_usable_legs() var/usable_legs = 2 + ///what leg we step with + var/step_leg = 1 ///How many hands does this mob have by default. This shouldn't change at runtime. var/default_num_hands = 2 @@ -185,9 +190,6 @@ ///Whether the mob is slowed down when dragging another prone mob var/slowed_by_drag = TRUE - /// List of changes to body temperature, used by desease symtoms like fever - var/list/body_temp_changes = list() - //this stuff is here to make it simple for admins to mess with custom held sprites ///left hand icon for holding mobs var/icon/held_lh = 'icons/mob/inhands/pets_held_lh.dmi' @@ -226,3 +228,30 @@ var/datum/stamina_container/stamina /// What our current gravity state is. Used to avoid duplicate animates and such var/gravity_state = null + + /// Body temp we homeostasize to + var/standard_body_temperature = BODYTEMP_NORMAL + /// Temperature of our insides + var/bodytemperature = BODYTEMP_NORMAL + /// Lazylist of targets we homeostasize to + /// This allows multiple effects to add a different target to the list, which is averaged + /// (So you can have both a fever and a cold at the same time) + /// If empty just defaults to standard_body_temperature + var/list/homeostasis_targets + + /// How cold to start sustaining cold damage + var/bodytemp_cold_damage_limit = -1 // -1 = no cold damage ever + /// How hot to start sustaining heat damage + var/bodytemp_heat_damage_limit = INFINITY // INFINITY = no heat damage ever + + /// How fast the mob's temperature normalizes to their environment + var/temperature_normalization_speed = 0.1 + /// How fast the mob's temperature normalizes to their homeostasis + /// Also gets multiplied by metabolism_efficiency. + /// Note that more of this = more nutrition is consumed every life tick. + var/temperature_homeostasis_speed = 0.5 + /// Protection (insulation) from temperature changes, max 1 + var/temperature_insulation = 0 + + /// Whether we currently have temp alerts, minor optimization + VAR_PRIVATE/temp_alerts = FALSE diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 765e124d4e1f34..7025795385d91b 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -267,7 +267,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( if(succumbed) succumb(TRUE) to_chat(src, compose_message(src, language, message, , spans, message_mods)) - + talkcount++ return TRUE /mob/living/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), message_range=0) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 9101a2ec6049c2..a3f79cf4f1df4a 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -10,8 +10,8 @@ damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_BATT_HUD, DIAG_PATH_HUD = HUD_LIST_LIST) - maxbodytemp = INFINITY - minbodytemp = 0 + bodytemp_heat_damage_limit = INFINITY + bodytemp_cold_damage_limit = -1 has_unlimited_silicon_privilege = TRUE sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index bd27c482caf081..d40f8513b8f8b4 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -15,8 +15,8 @@ pass_flags = PASSTABLE mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST - minbodytemp = 200 - maxbodytemp = 400 + bodytemp_cold_damage_limit = 200 + bodytemp_heat_damage_limit = 400 unsuitable_atmos_damage = 0.5 animal_species = /mob/living/simple_animal/pet/cat childtype = list(/mob/living/simple_animal/pet/cat/kitten = 1) @@ -59,8 +59,8 @@ icon_living = "spacecat" icon_dead = "spacecat_dead" unsuitable_atmos_damage = 0 - minbodytemp = TCMB - maxbodytemp = T0C + 40 + bodytemp_cold_damage_limit = TCMB + bodytemp_heat_damage_limit = T0C + 40 held_state = "spacecat" /mob/living/simple_animal/pet/cat/breadcat diff --git a/code/modules/mob/living/simple_animal/friendly/gondola.dm b/code/modules/mob/living/simple_animal/friendly/gondola.dm index 80e89dd08d7554..fb7e16bdab36e3 100644 --- a/code/modules/mob/living/simple_animal/friendly/gondola.dm +++ b/code/modules/mob/living/simple_animal/friendly/gondola.dm @@ -23,8 +23,8 @@ loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 1, /obj/item/food/meat/slab/gondola = 1) //Gondolas aren't affected by cold. atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = 1500 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1500 maxHealth = 200 health = 200 del_on_death = TRUE diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm index 2c509d799ee0cd..5b8e692776751c 100644 --- a/code/modules/mob/living/simple_animal/friendly/pet.dm +++ b/code/modules/mob/living/simple_animal/friendly/pet.dm @@ -55,7 +55,7 @@ . += mutable_appearance(icon, "[collar_icon_state][stat_tag]collar") . += mutable_appearance(icon, "[collar_icon_state][stat_tag]tag") -/mob/living/simple_animal/pet/gib() +/mob/living/simple_animal/pet/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) . = ..() if(access_card) diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index a60ce8e9ca1cac..0026868cdb7009 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -26,7 +26,7 @@ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) faction = list(ROLE_ALIEN) status_flags = CANPUSH - minbodytemp = 0 + bodytemp_cold_damage_limit = -1 unsuitable_heat_damage = 20 // Going for a dark purple here lighting_cutoff_red = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm index 9b1c855024974f..84d3570bb0224e 100644 --- a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm @@ -27,8 +27,8 @@ faction = list(ROLE_WIZARD) footstep_type = FOOTSTEP_MOB_SHOE weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE) - minbodytemp = 0 - maxbodytemp = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) loot = list(/obj/effect/decal/remains/human) del_on_death = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm index dd0d3de071d24d..acd51b0f4053b9 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm @@ -4,8 +4,8 @@ faction = list(FACTION_JUNGLE) obj_damage = 30 environment_smash = ENVIRONMENT_SMASH_WALLS - minbodytemp = 0 - maxbodytemp = 450 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 450 response_harm_continuous = "strikes" response_harm_simple = "strike" status_flags = NONE diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm index 689e1391bfd605..0a5d062069d1e7 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm @@ -16,8 +16,8 @@ stat_attack = DEAD atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) - minbodytemp = 0 - maxbodytemp = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY vision_range = 5 aggro_vision_range = 18 move_force = MOVE_FORCE_OVERPOWERING @@ -95,7 +95,7 @@ /mob/living/simple_animal/hostile/megafauna/proc/spawn_crusher_loot() loot = crusher_loot -/mob/living/simple_animal/hostile/megafauna/gib() +/mob/living/simple_animal/hostile/megafauna/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) if(health > 0) return diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index ec90fa9fa7bba4..7a67503095723a 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -356,6 +356,12 @@ Difficulty: Hard /obj/effect/decal/cleanable/blood/bubblegum bloodiness = 0 + base_name = "" + can_dry = FALSE + +/obj/effect/decal/cleanable/blood/bubblegum/Initialize(mapload, list/datum/disease/diseases) + . = ..() + add_blood_DNA(list("DEMON BLOOD" = /datum/blood_type/animal)) /obj/effect/decal/cleanable/blood/bubblegum/can_bloodcrawl_in() return TRUE @@ -365,6 +371,12 @@ Difficulty: Hard desc = "Thick, splattered blood." random_icon_states = list("gib3", "gib5", "gib6") bloodiness = 20 + base_name = "" + can_dry = FALSE + +/obj/effect/decal/cleanable/blood/gibs/bubblegum/Initialize(mapload, list/datum/disease/diseases) + . = ..() + add_blood_DNA(list("DEMON BLOOD" = /datum/blood_type/animal)) /obj/effect/decal/cleanable/blood/gibs/bubblegum/can_bloodcrawl_in() return TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 10d21416f35520..17cca246859554 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -25,7 +25,7 @@ taunt_chance = 30 atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 + bodytemp_cold_damage_limit = -1 faction = list(FACTION_MIMIC) move_to_delay = 9 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index 242b178b82f2fc..63b19d5018fca0 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -6,8 +6,8 @@ weather_immunities = list(TRAIT_LAVA_IMMUNE,TRAIT_ASHSTORM_IMMUNE) obj_damage = 30 environment_smash = ENVIRONMENT_SMASH_WALLS - minbodytemp = 0 - maxbodytemp = INFINITY + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = INFINITY unsuitable_heat_damage = 20 response_harm_continuous = "strikes" response_harm_simple = "strike" diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.dm b/code/modules/mob/living/simple_animal/hostile/ooze.dm index 99a94a1197a8c2..b88c16c2319b19 100644 --- a/code/modules/mob/living/simple_animal/hostile/ooze.dm +++ b/code/modules/mob/living/simple_animal/hostile/ooze.dm @@ -12,8 +12,8 @@ speak_emote = list("blorbles") atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) hud_type = /datum/hud/ooze - minbodytemp = 250 - maxbodytemp = INFINITY + bodytemp_cold_damage_limit = 250 + bodytemp_heat_damage_limit = INFINITY faction = list(FACTION_SLIME) melee_damage_lower = 10 melee_damage_upper = 10 @@ -175,7 +175,7 @@ ///Heat up the mob a little /datum/action/cooldown/metabolicboost/proc/HeatUp() var/mob/living/simple_animal/hostile/ooze/ooze = owner - ooze.adjust_bodytemperature(50) + ooze.adjust_bodytemperature(3.33 KELVIN) ///Remove the speed modifier and delete the timer for heating up /datum/action/cooldown/metabolicboost/proc/FinishSpeedup(timerid) diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index eefac18f30c2df..2a05df3d63d846 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -57,7 +57,7 @@ /mob/living/simple_animal/hostile/pirate/melee/space name = "Space Pirate Swashbuckler" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 + bodytemp_cold_damage_limit = -1 speed = 1 mob_spawner = /obj/effect/mob_spawn/corpse/human/pirate/melee/space @@ -81,7 +81,7 @@ /mob/living/simple_animal/hostile/pirate/ranged/space name = "Space Pirate Gunner" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 + bodytemp_cold_damage_limit = -1 speed = 1 mob_spawner = /obj/effect/mob_spawn/corpse/human/pirate/ranged/space held_item = /obj/item/gun/energy/e_gun/lethal diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index c8c03989a595e9..b4c71f7cc4c17f 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -17,7 +17,7 @@ attack_vis_effect = ATTACK_EFFECT_BITE istate = ISTATE_HARM|ISTATE_BLOCKING atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 + bodytemp_cold_damage_limit = -1 status_flags = CANPUSH death_message = "collapses, flesh gone in a pile of bones!" del_on_death = TRUE diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 0bb3664e5c020c..9ff9a0cf3def05 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -58,10 +58,8 @@ ///How much stamina the mob recovers per second var/stamina_recovery = 5 - ///Minimal body temperature without receiving damage - var/minbodytemp = NPC_DEFAULT_MIN_TEMP - ///Maximal body temperature without receiving damage - var/maxbodytemp = NPC_DEFAULT_MAX_TEMP + bodytemp_cold_damage_limit = NPC_DEFAULT_MIN_TEMP + bodytemp_heat_damage_limit = NPC_DEFAULT_MAX_TEMP ///This damage is taken when the body temp is too cold. var/unsuitable_cold_damage ///This damage is taken when the body temp is too hot. @@ -79,9 +77,6 @@ ///This damage is taken when atmos doesn't fit all the requirements above. var/unsuitable_atmos_damage = 1 - ///How fast the mob's temperature normalizes. The greater the value, the slower their temperature normalizes. Should always be greater than 0. - var/temperature_normalization_speed = 5 - //Defaults to zero so Ian can still be cuddly. Moved up the tree to living! This allows us to bypass some hardcoded stuff. melee_damage_lower = 0 melee_damage_upper = 0 @@ -343,20 +338,11 @@ /mob/living/simple_animal/proc/environment_temperature_is_safe(datum/gas_mixture/environment) . = TRUE var/areatemp = get_temperature(environment) - if((areatemp < minbodytemp) || (areatemp > maxbodytemp)) + if((areatemp < bodytemp_cold_damage_limit) || (areatemp > bodytemp_heat_damage_limit)) . = FALSE /mob/living/simple_animal/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) - var/atom/A = loc - if(isturf(A)) - var/areatemp = get_temperature(environment) - var/temp_delta = areatemp - bodytemperature - if(abs(temp_delta) > 5) - if(temp_delta < 0) - if(!on_fire) - adjust_bodytemperature(clamp(temp_delta * seconds_per_tick / temperature_normalization_speed, temp_delta, 0)) - else - adjust_bodytemperature(clamp(temp_delta * seconds_per_tick / temperature_normalization_speed, 0, temp_delta)) + . = ..() if(!environment_air_is_safe() && unsuitable_atmos_damage) adjustHealth(unsuitable_atmos_damage * seconds_per_tick) @@ -365,12 +351,16 @@ else clear_alert(ALERT_NOT_ENOUGH_OXYGEN) - handle_temperature_damage(seconds_per_tick, times_fired) -/mob/living/simple_animal/proc/handle_temperature_damage(seconds_per_tick, times_fired) - . = FALSE - if((bodytemperature < minbodytemp) && unsuitable_cold_damage) +/mob/living/simple_animal/body_temperature_damage(datum/gas_mixture/environment, seconds_per_tick, times_fired) + if((bodytemperature < bodytemp_cold_damage_limit) && unsuitable_cold_damage) adjustHealth(unsuitable_cold_damage * seconds_per_tick) + + if((bodytemperature > bodytemp_heat_damage_limit) && unsuitable_heat_damage) + adjustHealth(unsuitable_heat_damage * seconds_per_tick) + +/mob/living/simple_animal/body_temperature_alerts() + if((bodytemperature < bodytemp_cold_damage_limit) && unsuitable_cold_damage) switch(unsuitable_cold_damage) if(1 to 5) throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) @@ -380,8 +370,7 @@ throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) . = TRUE - if((bodytemperature > maxbodytemp) && unsuitable_heat_damage) - adjustHealth(unsuitable_heat_damage * seconds_per_tick) + if((bodytemperature > bodytemp_heat_damage_limit) && unsuitable_heat_damage) switch(unsuitable_heat_damage) if(1 to 5) throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) @@ -394,7 +383,7 @@ if(!.) clear_alert(ALERT_TEMPERATURE) -/mob/living/simple_animal/gib() +/mob/living/simple_animal/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) if(butcher_results || guaranteed_butcher_results) var/list/butcher = list() if(butcher_results) diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm index fc8fcbb371762d..b6edde37d1e429 100644 --- a/code/modules/mob/living/taste.dm +++ b/code/modules/mob/living/taste.dm @@ -21,7 +21,10 @@ // carbons without tongues normally have TRAIT_AGEUSIA but sensible fallback . = DEFAULT_TASTE_SENSITIVITY -// non destructively tastes a reagent container +/** + * Non destructively tastes a reagent container + * and gives feedback to the user. + **/ /mob/living/proc/taste(datum/reagents/from) if(HAS_TRAIT(src, TRAIT_AGEUSIA)) return @@ -43,4 +46,70 @@ last_taste_time = world.time last_taste_text = text_output +/** + * Gets food flags that this mob likes + **/ +/mob/living/proc/get_liked_foodtypes() + return NONE + +/mob/living/carbon/get_liked_foodtypes() + var/obj/item/organ/internal/tongue/tongue = get_organ_slot(ORGAN_SLOT_TONGUE) + // No tongue, no tastin' + if(!tongue?.sense_of_taste || HAS_TRAIT(src, TRAIT_AGEUSIA)) + return NONE + return tongue.liked_foodtypes + +/** + * Gets food flags that this mob dislikes + **/ +/mob/living/proc/get_disliked_foodtypes() + return NONE + +/mob/living/carbon/get_disliked_foodtypes() + var/obj/item/organ/internal/tongue/tongue = get_organ_slot(ORGAN_SLOT_TONGUE) + // No tongue, no tastin' + if(!tongue?.sense_of_taste || HAS_TRAIT(src, TRAIT_AGEUSIA)) + return NONE + return tongue.disliked_foodtypes + +/** + * Gets food flags that this mob hates + * Toxic food is the only category that ignores ageusia, KEEP IT LIKE THAT! + **/ +/mob/living/proc/get_toxic_foodtypes() + return TOXIC + +/mob/living/carbon/get_toxic_foodtypes() + var/obj/item/organ/internal/tongue/tongue = get_organ_slot(ORGAN_SLOT_TONGUE) + // No tongue, no tastin' + if(!tongue) + return TOXIC + return tongue.toxic_foodtypes + +/** + * Gets the food reaction a mob would normally have from the given food item, + * assuming that no check_liked callback was used in the edible component. + * + * Does not get called if the owner has ageusia. + **/ +/mob/living/proc/get_food_taste_reaction(obj/item/food, foodtypes) + var/food_taste_reaction + if(foodtypes & get_toxic_foodtypes()) + food_taste_reaction = FOOD_TOXIC + else if(foodtypes & get_disliked_foodtypes()) + food_taste_reaction = FOOD_DISLIKED + else if(foodtypes & get_liked_foodtypes()) + food_taste_reaction = FOOD_LIKED + return food_taste_reaction + +/mob/living/carbon/get_food_taste_reaction(obj/item/food, foodtypes) + var/obj/item/organ/internal/tongue/tongue = get_organ_slot(ORGAN_SLOT_TONGUE) + // No tongue, no tastin' + if(!tongue?.sense_of_taste || HAS_TRAIT(src, TRAIT_AGEUSIA)) + // i hate that i have to do this, but we want to ensure toxic food is still BAD + if(foodtypes & get_toxic_foodtypes()) + return FOOD_TOXIC + return + return tongue.get_food_taste_reaction(food, foodtypes) + #undef DEFAULT_TASTE_SENSITIVITY diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 1c70f7dd637af5..ea0fee8f9dfb67 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1443,6 +1443,11 @@ stat = new_stat SEND_SIGNAL(src, COMSIG_MOB_STATCHANGE, new_stat, .) +/// Proc used for custom metabolization of reagents, if any +/mob/proc/reagent_check(datum/reagent/chem, seconds_per_tick, times_fired) + SHOULD_CALL_PARENT(TRUE) + return SEND_SIGNAL(src, COMSIG_MOB_REAGENT_CHECK, chem, seconds_per_tick, times_fired) + /mob/vv_edit_var(var_name, var_value) switch(var_name) if(NAMEOF(src, control_object)) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 55e1dfebe38e3a..339acb74409a4b 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -99,11 +99,6 @@ */ var/name_archive //For admin things like possession - /// Default body temperature - var/bodytemperature = BODYTEMP_NORMAL //310.15K / 98.6F - /// Our body temperatue as of the last process, prevents pointless work when handling alerts - var/old_bodytemperature = 0 - /// Hunger level of the mob var/nutrition = NUTRITION_LEVEL_START_MIN // randomised in Initialize /// Satiation level of the mob diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 82fb0783c7fd68..6a4382fc0939ea 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -240,11 +240,6 @@ // Else, return FALSE. return (faker && allow_fake_antags) - -/mob/proc/reagent_check(datum/reagent/R, seconds_per_tick, times_fired) // utilized in the species code - return TRUE - - /** * Fancy notifications for ghosts * diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index 1dde25c7802f61..9cbc06a5c366d3 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -8,11 +8,6 @@ /mob/proc/set_disgust(amount) return -///Adjust the body temperature of a mob, with min/max settings -/mob/proc/adjust_bodytemperature(amount,min_temp=0,max_temp=INFINITY) - if(bodytemperature >= min_temp && bodytemperature <= max_temp) - bodytemperature = clamp(bodytemperature + amount,min_temp,max_temp) - /// Sight here is the mob.sight var, which tells byond what to actually show to our client /// See [code\__DEFINES\sight.dm] for more details /mob/proc/set_sight(new_value) diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm index 2745033c2a5963..deb79a011c8ac4 100644 --- a/code/modules/mod/mod_activation.dm +++ b/code/modules/mod/mod_activation.dm @@ -195,16 +195,16 @@ part.clothing_flags |= part.visor_flags part.flags_inv |= part.visor_flags_inv part.flags_cover |= part.visor_flags_cover - part.heat_protection = initial(part.heat_protection) - part.cold_protection = initial(part.cold_protection) + part.min_cold_protection_temperature = theme.min_cold_protection_temperature + part.max_heat_protection_temperature = theme.max_heat_protection_temperature part.alternate_worn_layer = null else part.icon_state = "[skin]-[part.base_icon_state]" part.flags_cover &= ~part.visor_flags_cover part.flags_inv &= ~part.visor_flags_inv part.clothing_flags &= ~part.visor_flags - part.heat_protection = NONE - part.cold_protection = NONE + part.min_cold_protection_temperature = null + part.max_heat_protection_temperature = null part.alternate_worn_layer = mod_parts[part] if(part == boots) wearer.update_worn_shoes() diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm index b9e09fd7bcafdf..8bdcf3a6fb9395 100644 --- a/code/modules/mod/mod_clothes.dm +++ b/code/modules/mod/mod_clothes.dm @@ -8,8 +8,8 @@ worn_icon_snouted = 'monkestation/icons/mob/mod.dmi' armor_type = /datum/armor/none body_parts_covered = HEAD - heat_protection = HEAD - cold_protection = HEAD + + item_flags = IMMUTABLE_SLOW supports_variations_flags = CLOTHING_SNOUTED_VARIATION clothing_traits = list(TRAIT_SNOWSTORM_IMMUNE) @@ -30,8 +30,8 @@ ) armor_type = /datum/armor/none body_parts_covered = CHEST|GROIN - heat_protection = CHEST|GROIN - cold_protection = CHEST|GROIN + + item_flags = IMMUTABLE_SLOW supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION clothing_traits = list(TRAIT_SNOWSTORM_IMMUNE) @@ -45,8 +45,8 @@ worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' armor_type = /datum/armor/none body_parts_covered = HANDS|ARMS - heat_protection = HANDS|ARMS - cold_protection = HANDS|ARMS + + item_flags = IMMUTABLE_SLOW supports_variations_flags = NONE @@ -60,8 +60,8 @@ worn_icon_digitigrade = 'monkestation/icons/mob/mod.dmi' armor_type = /datum/armor/none body_parts_covered = FEET|LEGS - heat_protection = FEET|LEGS - cold_protection = FEET|LEGS + + item_flags = IMMUTABLE_SLOW item_flags = IGNORE_DIGITIGRADE can_be_tied = FALSE diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 85ddee1a08cdba..14eaf71133e862 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -125,8 +125,6 @@ part.set_armor(theme.armor_type) part.resistance_flags = theme.resistance_flags part.flags_1 |= theme.atom_flags //flags like initialization or admin spawning are here, so we cant set, have to add - part.heat_protection = NONE - part.cold_protection = NONE part.max_heat_protection_temperature = theme.max_heat_protection_temperature part.min_cold_protection_temperature = theme.min_cold_protection_temperature part.siemens_coefficient = theme.siemens_coefficient @@ -655,12 +653,6 @@ part.visor_flags_cover = category[SEALED_COVER] || NONE part.alternate_worn_layer = category[UNSEALED_LAYER] mod_parts[part] = part.alternate_worn_layer - if(!category[CAN_OVERSLOT]) - if(overslotting_parts[part]) - var/obj/item/overslot = overslotting_parts[part] - overslot.forceMove(drop_location()) - overslotting_parts -= part - continue overslotting_parts |= part wearer?.regenerate_icons() diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 5dd178c409d726..61aec418495bd9 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -432,7 +432,7 @@ /// Minimum temperature we can set. var/min_temp = 293.15 /// Maximum temperature we can set. - var/max_temp = 318.15 + var/max_temp = T20C * 2.25 /obj/item/mod/module/thermal_regulator/get_configuration() . = ..() @@ -444,7 +444,11 @@ temperature_setting = clamp(value + T0C, min_temp, max_temp) /obj/item/mod/module/thermal_regulator/on_active_process(seconds_per_tick) - mod.wearer.adjust_bodytemperature(get_temp_change_amount((temperature_setting - mod.wearer.bodytemperature), 0.08 * seconds_per_tick)) + var/mob/living/user = mod.wearer + if(user.bodytemperature < temperature_setting) + user.adjust_bodytemperature((temperature_setting - user.bodytemperature) * 0.08 * seconds_per_tick, max_temp = temperature_setting) + else if(user.bodytemperature > temperature_setting) + user.adjust_bodytemperature((temperature_setting - user.bodytemperature) * 0.08 * seconds_per_tick, min_temp = temperature_setting) ///DNA Lock - Prevents people without the set DNA from activating the suit. /obj/item/mod/module/dna_lock diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm index 5135c430130a1d..4146588d7d938d 100644 --- a/code/modules/modular_computers/computers/item/computer_ui.dm +++ b/code/modules/modular_computers/computers/item/computer_ui.dm @@ -122,7 +122,7 @@ if(ishuman(usr) && !allow_chunky) var/mob/living/carbon/human/human_user = usr - if(human_user.check_chunky_fingers()) + if(HAS_TRAIT(human_user, TRAIT_CHUNKYFINGERS)) balloon_alert(human_user, "fingers are too big!") return TRUE diff --git a/code/modules/movespeed/modifiers/innate.dm b/code/modules/movespeed/modifiers/innate.dm index 46fc82269eac59..2a55b9db4d79d0 100644 --- a/code/modules/movespeed/modifiers/innate.dm +++ b/code/modules/movespeed/modifiers/innate.dm @@ -6,7 +6,7 @@ multiplicative_slowdown = 2 flags = IGNORE_NOSLOW -/datum/movespeed_modifier/species +/datum/movespeed_modifier/bodypart movetypes = ~FLYING variable = TRUE diff --git a/code/modules/pai/pai.dm b/code/modules/pai/pai.dm index b7d6719cc0c35d..35229887c86b41 100644 --- a/code/modules/pai/pai.dm +++ b/code/modules/pai/pai.dm @@ -267,11 +267,6 @@ . = ..() update_stat() -/mob/living/silicon/pai/on_knockedout_trait_loss(datum/source) - . = ..() - set_stat(CONSCIOUS) - update_stat() - /** * Resolves the weakref of the pai's master. * If the master has been deleted, calls reset_software(). diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 713d2699a4c665..78391d77a03ffb 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -360,9 +360,9 @@ var/icon/temp_img if(ishuman(ass)) var/mob/living/carbon/human/H = ass - var/datum/species/spec = H.dna.species - if(spec.ass_image) - temp_img = icon(spec.ass_image) + var/obj/item/bodypart/chest/chest = H.get_bodypart(BODY_ZONE_CHEST) + if(chest.ass_image) + temp_img = icon(chest.ass_image) else temp_img = icon(ass.gender == FEMALE ? 'icons/ass/assfemale.png' : 'icons/ass/assmale.png') else if(isalienadult(ass)) //Xenos have their own asses, thanks to Pybro. diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 907254c741a161..7214f66af65850 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -251,7 +251,7 @@ if(charge < CELL_POWER_DRAIN) to_chat(H, span_warning("[src] doesn't have enough power!")) return - if(stomach.crystal_charge > charge_limit) + if(H.blood_volume > charge_limit) to_chat(H, span_warning("Your charge is full!")) return to_chat(H, span_notice("You begin clumsily channeling power from [src] into your body.")) diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm index 55b070e02fdaf2..09c2e1fb2aa049 100644 --- a/code/modules/power/lighting/light.dm +++ b/code/modules/power/lighting/light.dm @@ -569,7 +569,7 @@ if(user.gloves) var/obj/item/clothing/gloves/electrician_gloves = user.gloves - if(electrician_gloves.max_heat_protection_temperature && electrician_gloves.max_heat_protection_temperature > 360) + if(electrician_gloves.max_heat_protection_temperature > 360) protected = TRUE else protected = TRUE diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index c911da396b3626..fc59c5911c3518 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -1,3 +1,16 @@ + +/** + * Fires the bullet in this casing + * + * * target - what was clicked on (where the bullet will go) + * * user - who is firing the bullet + * * params - click params. like x, y, shift, etc + * * distro - how much the bullet will spread + * * quiet - if the bullet is suppressed + * * zone_override - optional, the zone the bullet will aim for. if not supplied, uses the user's selected zone + * * spread - how much the bullet will spread + * * fired_from - the object that fired the bullet + */ /obj/item/ammo_casing/proc/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from) distro += variance var/targloc = get_turf(target) @@ -44,10 +57,7 @@ loaded_projectile.firer = user loaded_projectile.fired_from = fired_from loaded_projectile.hit_prone_targets = (user.istate & ISTATE_HARM) - if (zone_override) - loaded_projectile.def_zone = zone_override - else - loaded_projectile.def_zone = user.zone_selected + loaded_projectile.def_zone = zone_override || user.zone_selected loaded_projectile.suppressed = quiet if(isgun(fired_from)) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 35ca181378e713..c3f0a45e2aa477 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -16,12 +16,15 @@ blocks_emissive = EMISSIVE_BLOCK_GENERIC layer = MOB_LAYER plane = GAME_PLANE_FOV_HIDDEN + var/generic_name //The sound this plays on impact. var/hitsound = 'sound/weapons/pierce.ogg' var/hitsound_wall = "" resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/def_zone = "" //Aiming at + /// Set to TRUE if we're grazing, which affects the message / embed chance / damage / effects + var/grazing = FALSE var/atom/movable/firer = null//Who shot it var/datum/fired_from = null // the thing that the projectile was fired from (gun, turret, spell) var/suppressed = FALSE //Attack message @@ -171,6 +174,8 @@ var/drowsy = 0 SECONDS /// Jittering applied on projectile hit var/jitter = 0 SECONDS + /// Bonus pain, like stamina damage + var/pain = 0 /// Extra stamina damage applied on projectile hit (in addition to the main damage) var/stamina = 0 /// Stuttering applied on projectile hit @@ -230,17 +235,6 @@ SEND_SIGNAL(src, COMSIG_PROJECTILE_RANGE_OUT) qdel(src) -/// Returns the string form of the def_zone we have hit. -/mob/living/proc/check_hit_limb_zone_name(hit_zone) - if(has_limbs) - return hit_zone - -/mob/living/carbon/check_hit_limb_zone_name(hit_zone) - if(get_bodypart(hit_zone)) - return hit_zone - else //when a limb is missing the damage is actually passed to the chest - return BODY_ZONE_CHEST - /** * Called when the projectile hits something * @@ -262,13 +256,17 @@ // i know that this is probably more with wands and gun mods in mind, but it's a bit silly that the projectile on_hit signal doesn't ping the projectile itself. // maybe we care what the projectile thinks! See about combining these via args some time when it's not 5AM - var/hit_limb_zone - if(isliving(target)) - var/mob/living/L = target - hit_limb_zone = L.check_hit_limb_zone_name(def_zone) + if(stamina >= 10 && isliving(target)) + var/mob/living/living = target + var/datum/status_effect/stacking/debilitated/effect = living.has_status_effect(/datum/status_effect/stacking/debilitated) + if(effect) + effect.add_stacks(1) + else + living.apply_status_effect(/datum/status_effect/stacking/debilitated, 1) + if(fired_from) - SEND_SIGNAL(fired_from, COMSIG_PROJECTILE_ON_HIT, firer, target, Angle, hit_limb_zone) - SEND_SIGNAL(src, COMSIG_PROJECTILE_SELF_ON_HIT, firer, target, Angle, hit_limb_zone) + SEND_SIGNAL(fired_from, COMSIG_PROJECTILE_ON_HIT, firer, target, Angle, def_zone, blocked) + SEND_SIGNAL(src, COMSIG_PROJECTILE_SELF_ON_HIT, firer, target, Angle, def_zone, blocked) if(QDELETED(src)) // in case one of the above signals deleted the projectile for whatever reason return BULLET_ACT_BLOCK @@ -283,18 +281,18 @@ hitx = target.pixel_x + rand(-8, 8) hity = target.pixel_y + rand(-8, 8) - if(damage > 0 && (damage_type == BRUTE || damage_type == BURN) && iswallturf(target_turf) && prob(75)) - var/turf/closed/wall/target_wall = target_turf - if(impact_effect_type && !hitscan) - new impact_effect_type(target_wall, hitx, hity) - - target_wall.add_dent(WALL_DENT_SHOT, hitx, hity) - - return BULLET_ACT_HIT + if((isturf(target) || (isobj(target) && target.density)) && hitsound_wall) + var/volume = clamp(vol_by_damage() + 20, 0, 100) + if(suppressed) + volume = 5 + playsound(loc, hitsound_wall, volume, TRUE, -1) if(!isliving(target)) if(impact_effect_type && !hitscan) new impact_effect_type(target_turf, hitx, hity) + if(damage > 0 && (damage_type == BRUTE || damage_type == BURN) && iswallturf(target_turf) && prob(75)) + var/turf/closed/wall/target_wall = target_turf + target_wall.add_dent(WALL_DENT_SHOT, hitx, hity) if(isturf(target) && hitsound_wall) var/volume = clamp(vol_by_damage() + 20, 0, 100) if(suppressed) @@ -305,16 +303,13 @@ var/mob/living/living_target = target if(blocked != 100) // not completely blocked - var/obj/item/bodypart/hit_bodypart = living_target.get_bodypart(hit_limb_zone) + var/obj/item/bodypart/hit_bodypart = living_target.get_bodypart(def_zone) if (damage) if (living_target.blood_volume && damage_type == BRUTE && (isnull(hit_bodypart) || hit_bodypart.can_bleed())) var/splatter_dir = dir if(starting) splatter_dir = get_dir(starting, target_turf) - if(isalien(living_target)) - new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target_turf, splatter_dir) - else - new /obj/effect/temp_visual/dir_setting/bloodsplatter(target_turf, splatter_dir) + living_target.do_splatter_effect(splatter_dir) if(prob(damage)) living_target.blood_particles(amount = rand(1, 1 + round(damage/20, 1)), angle = src.Angle) @@ -330,19 +325,21 @@ new impact_effect_type(target_turf, hitx, hity) var/organ_hit_text = "" - if(hit_limb_zone) - organ_hit_text = " in \the [parse_zone(hit_limb_zone)]" + if(def_zone) + organ_hit_text = " in \the [parse_zone(def_zone)]" if(suppressed == SUPPRESSED_VERY) playsound(loc, hitsound, 5, TRUE, -1) else if(suppressed) playsound(loc, hitsound, 5, TRUE, -1) - to_chat(living_target, span_userdanger("You're shot by \a [src][organ_hit_text]!")) + to_chat(living_target, span_userdanger("You're [grazing ? "grazed" : "hit"] by \a [generic_name || src][organ_hit_text]!")) else - if(hitsound) - var/volume = vol_by_damage() - playsound(src, hitsound, volume, TRUE, -1) - living_target.visible_message(span_danger("[living_target] is hit by \a [src][organ_hit_text]!"), \ - span_userdanger("You're hit by \a [src][organ_hit_text]!"), null, COMBAT_MESSAGE_RANGE) + playsound(loc, hitsound, vol_by_damage(), TRUE, -1) + living_target.visible_message( + span_danger("[living_target] is [grazing ? "grazed" : "hit"] by \a [generic_name || src][organ_hit_text]!"), + span_userdanger("You're [grazing ? "grazed" : "hit"] by \a [generic_name || src][organ_hit_text]!"), + span_hear("You hear a woosh."), + // vision_distance = COMBAT_MESSAGE_RANGE, + ) if(living_target.is_blind()) to_chat(living_target, span_userdanger("You feel something hit you[organ_hit_text]!")) @@ -473,8 +470,19 @@ store_hitscan_collision(point_cache) return TRUE - var/distance = get_dist(T, starting) // Get the distance between the turf shot from and the mob we hit and use that for the calculations. - def_zone = ran_zone(def_zone, max(100-(7*distance), 5)) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use. + if(!HAS_TRAIT(src, TRAIT_ALWAYS_HIT_ZONE) && isliving(A)) + var/mob/living/who_is_shot = A + var/distance = decayedRange - range + var/hit_prob = max(100 - (7 * distance), 5) + if(who_is_shot.body_position == LYING_DOWN) + hit_prob *= 1.2 + // melbert todo : make people more skilled with weapons have a lower miss chance + if(!prob(hit_prob)) + def_zone = who_is_shot.get_random_valid_zone(def_zone, 0) // Lower accurancy/longer range tradeoff. 7 is a balanced number to use. + grazing = !prob(hit_prob) // jeez you missed twice? that's a graze + if(grazing) + wound_bonus = CANT_WOUND + bare_wound_bonus = CANT_WOUND return process_hit(T, select_target(T, A, A), A) // SELECT TARGET FIRST! @@ -600,7 +608,7 @@ var/mob/target_mob = target if(faction_check(target_mob.faction, ignored_factions)) return FALSE - if(target.density || cross_failed) //This thing blocks projectiles, hit it regardless of layer/mob stuns/etc. + if((target.density && !target.IsObscured()) || cross_failed) //This thing blocks projectiles, hit it regardless of layer/mob stuns/etc. return TRUE if(!isliving(target)) if(isturf(target)) // non dense turfs diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 96c99fca0298ad..3266a8a309eeab 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -21,6 +21,7 @@ /obj/projectile/beam/laser + generic_name = "laser beam" tracer_type = /obj/effect/projectile/tracer/laser muzzle_type = /obj/effect/projectile/muzzle/laser impact_type = /obj/effect/projectile/impact/laser @@ -77,6 +78,7 @@ /obj/projectile/beam/practice name = "practice laser" + generic_name = "practice laser beam" damage = 0 /obj/projectile/beam/scatter @@ -103,7 +105,7 @@ icon_state = "omnilaser" damage = 0 damage_type = STAMINA - stamina = 45 + stamina = 35 paralyze_timer = 5 SECONDS armor_flag = ENERGY impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser @@ -126,6 +128,7 @@ /obj/projectile/beam/pulse name = "pulse" + generic_name = "pulse beam" icon_state = "u_laser" damage = 50 impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser diff --git a/code/modules/projectiles/projectile/bullets/lmg.dm b/code/modules/projectiles/projectile/bullets/lmg.dm index f6081c7b070c03..c6099105affb05 100644 --- a/code/modules/projectiles/projectile/bullets/lmg.dm +++ b/code/modules/projectiles/projectile/bullets/lmg.dm @@ -1,27 +1,33 @@ // C3D (Borgs) /obj/projectile/bullet/c3d + generic_name = "bullet" damage = 20 // Mech LMG /obj/projectile/bullet/lmg + generic_name = "bullet" damage = 20 // Mech FNX-99 /obj/projectile/bullet/incendiary/fnx99 + generic_name = "bullet" damage = 20 // Turrets /obj/projectile/bullet/manned_turret + generic_name = "bullet" damage = 20 /obj/projectile/bullet/manned_turret/hmg + generic_name = "bullet" icon_state = "redtrac" /obj/projectile/bullet/syndicate_turret + generic_name = "bullet" damage = 20 // 7.12x82mm (SAW) diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index 7028cc22446dfb..ace9489fdcbd1b 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -101,14 +101,16 @@ /obj/projectile/bullet/c38/iceblox //see /obj/projectile/temp for the original code name = ".38 Iceblox bullet" damage = 20 - var/temperature = 100 ricochets_max = 0 + /// How cold to chill the target down to + var/temperature = HYPOTHERMIA - 2 CELCIUS + /obj/projectile/bullet/c38/iceblox/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() if(isliving(target)) var/mob/living/M = target - M.adjust_bodytemperature(((100-blocked)/100)*(temperature - M.bodytemperature)) + M.adjust_bodytemperature(0.34 * ((100-blocked) / 100) * (temperature - M.bodytemperature), use_insulation = TRUE) // .357 (Syndie Revolver) diff --git a/code/modules/projectiles/projectile/energy/stun.dm b/code/modules/projectiles/projectile/energy/stun.dm index 7f36bf437ed65d..8c28138be38b33 100644 --- a/code/modules/projectiles/projectile/energy/stun.dm +++ b/code/modules/projectiles/projectile/energy/stun.dm @@ -2,28 +2,41 @@ name = "electrode" icon_state = "spark" color = "#FFFF00" + /* paralyze = 10 SECONDS stutter = 10 SECONDS jitter = 40 SECONDS + */ hitsound = 'sound/weapons/taserhit.ogg' - range = 7 + range = 5 tracer_type = /obj/effect/projectile/tracer/stun muzzle_type = /obj/effect/projectile/muzzle/stun impact_type = /obj/effect/projectile/impact/stun /obj/projectile/energy/electrode/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() - if(!ismob(target) || blocked >= 100) //Fully blocked by mob or collided with dense object - burst into sparks! - do_sparks(1, TRUE, src) - else if(iscarbon(target)) - var/mob/living/carbon/C = target - C.add_mood_event("tased", /datum/mood_event/tased) - SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK) - if(C.dna && C.dna.check_mutation(/datum/mutation/human/hulk)) - C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") - else if(!C.check_stun_immunity(CANKNOCKDOWN)) - addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), 20), 5) + if(pierce_hit) + return . + do_sparks(1, TRUE, src) + if(. == BULLET_ACT_BLOCK || !isliving(target) || blocked >= 100) + visible_message(span_warning("The electrodes fail to shock [target], and fall to the ground.")) + return . + + var/mob/living/tased = target + if(HAS_TRAIT(target, TRAIT_HULK)) + tased.say(pick( + ";RAAAAAAAARGH!", + ";HNNNNNNNNNGGGGGGH!", + ";GWAAAAAAAARRRHHH!", + "NNNNNNNNGGGGGGGGHH!", + ";AAAAAAARRRGH!", + ), forced = "hulk") + if(tased.apply_status_effect(/datum/status_effect/tased, fired_from, firer)) + return . + visible_message(span_warning("The electrodes fail to shock [target], and fall to the ground.")) + return BULLET_ACT_BLOCK + /obj/projectile/energy/electrode/on_range() //to ensure the bolt sparks when it reaches the end of its range if it didn't hit a target yet do_sparks(1, TRUE, src) - ..() + return ..() diff --git a/code/modules/projectiles/projectile/energy/thermal.dm b/code/modules/projectiles/projectile/energy/thermal.dm index 41efd21475c6da..7409a008b05bc7 100644 --- a/code/modules/projectiles/projectile/energy/thermal.dm +++ b/code/modules/projectiles/projectile/energy/thermal.dm @@ -12,15 +12,15 @@ /obj/projectile/energy/inferno/on_hit(atom/target, blocked, pierce_hit) ..() - if(!ishuman(target)) + if(!isliving(target)) return - var/mob/living/carbon/cold_target = target + var/mob/living/cold_target = target var/how_cold_is_target = cold_target.bodytemperature - var/danger_zone = cold_target.dna.species.bodytemp_cold_damage_limit - 150 + var/danger_zone = cold_target.bodytemp_cold_damage_limit - 10 CELCIUS if(how_cold_is_target < danger_zone) explosion(cold_target, devastation_range = -1, heavy_impact_range = -1, light_impact_range = 2, flame_range = 3) //maybe stand back a bit - cold_target.bodytemperature = cold_target.dna.species.bodytemp_normal //avoids repeat explosions, maybe could be used to heat up again? + cold_target.adjust_bodytemperature(50 KELVIN, max_temp = cold_target.standard_body_temperature) //avoids repeat explosions, maybe could be used to heat up again? playsound(cold_target, 'sound/weapons/sear.ogg', 30, TRUE, -1) /obj/projectile/energy/cryo @@ -37,14 +37,14 @@ /obj/projectile/energy/cryo/on_hit(atom/target, blocked, pierce_hit) ..() - if(!ishuman(target)) + if(!isliving(target)) return - var/mob/living/carbon/hot_target = target + var/mob/living/hot_target = target var/how_hot_is_target = hot_target.bodytemperature - var/danger_zone = hot_target.dna.species.bodytemp_heat_damage_limit + 300 + var/danger_zone = hot_target.bodytemp_heat_damage_limit + 10 CELCIUS if(how_hot_is_target > danger_zone) hot_target.Knockdown(100) hot_target.apply_damage(20, BURN) - hot_target.bodytemperature = hot_target.dna.species.bodytemp_normal //avoids repeat knockdowns, maybe could be used to cool down again? + hot_target.adjust_bodytemperature(-50 KELVIN, min_temp = hot_target.standard_body_temperature) //avoids repeat knockdowns, maybe could be used to cool down again? playsound(hot_target, 'sound/weapons/sonic_jackhammer.ogg', 30, TRUE, -1) diff --git a/code/modules/projectiles/projectile/special/temperature.dm b/code/modules/projectiles/projectile/special/temperature.dm index 10c652b77b5158..56c04108f099f0 100644 --- a/code/modules/projectiles/projectile/special/temperature.dm +++ b/code/modules/projectiles/projectile/special/temperature.dm @@ -4,34 +4,34 @@ damage = 0 damage_type = BURN armor_flag = ENERGY - var/temperature = -50 // reduce the body temperature by 50 points + /// What temp to trend the target towards + var/temperature = HYPOTHERMIA - 2 CELCIUS + /// How much temp per shot to apply + var/temperature_mod_per_shot = 0.25 /obj/projectile/temp/is_hostile_projectile() - return temperature != 0 // our damage is done by cooling or heating (casting to boolean here) + return BODYTEMP_NORMAL - temperature != 0 // our damage is done by cooling or heating (casting to boolean here) /obj/projectile/temp/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() - if(iscarbon(target)) - var/mob/living/carbon/hit_mob = target - var/thermal_protection = 1 - hit_mob.get_insulation_protection(hit_mob.bodytemperature + temperature) - - // The new body temperature is adjusted by the bullet's effect temperature - // Reduce the amount of the effect temperature change based on the amount of insulation the mob is wearing - hit_mob.adjust_bodytemperature((thermal_protection * temperature) + temperature) - - else if(isliving(target)) - var/mob/living/L = target - // the new body temperature is adjusted by the bullet's effect temperature - L.adjust_bodytemperature((1 - blocked) * temperature) + if(isliving(target)) + var/mob/living/M = target + M.adjust_bodytemperature(temperature_mod_per_shot * ((100-blocked) / 100) * (temperature - M.bodytemperature), use_insulation = TRUE) /obj/projectile/temp/hot name = "heat beam" - temperature = 100 // Raise the body temp by 100 points + temperature = CELCIUS_TO_KELVIN(50 CELCIUS) // Raise the body temp by 100 points /obj/projectile/temp/cryo name = "cryo beam" range = 3 - temperature = -240 // Single slow shot reduces temp greatly + temperature_mod_per_shot = 1.5 // get this guy really chilly really fast + +/obj/projectile/temp/cryo/on_hit(atom/target, blocked, pierce_hit) + . = ..() + if(isopenturf(target)) + var/turf/open/T = target + T.freeze_turf() /obj/projectile/temp/cryo/on_range() var/turf/T = get_turf(src) diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index b89ce7dc85e1b6..afcb401bbf777e 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -204,34 +204,30 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/medicine/c2/hercuri/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) + . = ..() + var/fireheal = -1.25 if(affected_mob.getFireLoss() > 50) - affected_mob.adjustFireLoss(-2 * REM * seconds_per_tick * normalise_creation_purity(), FALSE, required_bodytype = affected_bodytype) - else - affected_mob.adjustFireLoss(-1.25 * REM * seconds_per_tick * normalise_creation_purity(), FALSE, required_bodytype = affected_bodytype) - affected_mob.adjust_bodytemperature(rand(-25,-5) * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 50) - if(ishuman(affected_mob)) - var/mob/living/carbon/human/humi = affected_mob - humi.adjust_coretemperature(rand(-25,-5) * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 50) - affected_mob.reagents?.chem_temp += (-10 * REM * seconds_per_tick) + fireheal = -2 + if(affected_mob.adjustFireLoss(fireheal * REM * seconds_per_tick * normalise_creation_purity(), updating_health = FALSE, required_bodytype = affected_bodytype)) + . = TRUE + + var/cooling = -1 KELVIN / rand(1, 5) + affected_mob.adjust_bodytemperature(cooling * REM * seconds_per_tick, min_temp = HYPOTHERMIA - 7 CELCIUS) + affected_mob.reagents?.expose_temperature(affected_mob.reagents.chem_temp - (10 * REM * seconds_per_tick)) affected_mob.adjust_fire_stacks(-1 * REM * seconds_per_tick) - ..() - . = TRUE /datum/reagent/medicine/c2/hercuri/expose_mob(mob/living/carbon/exposed_mob, methods=VAPOR, reac_volume) . = ..() if(!(methods & VAPOR)) return - exposed_mob.adjust_bodytemperature(-reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT, 50) + exposed_mob.adjust_bodytemperature(-reac_volume * -0.33 KELVIN, min_temp = HYPOTHERMIA - 7 CELCIUS, use_insulation = TRUE) exposed_mob.adjust_fire_stacks(reac_volume / -2) if(reac_volume >= metabolization_rate) exposed_mob.extinguish_mob() /datum/reagent/medicine/c2/hercuri/overdose_process(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-10 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 50) //chilly chilly - if(ishuman(affected_mob)) - var/mob/living/carbon/human/humi = affected_mob - humi.adjust_coretemperature(-10 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 50) + affected_mob.adjust_bodytemperature(-0.5 KELVIN * REM * seconds_per_tick, min_temp = HYPOTHERMIA - 7 CELCIUS) //chilly chilly ..() diff --git a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm index d916203537105a..ad83a408aadc9c 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm @@ -199,7 +199,7 @@ /datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) drinker.adjust_drowsiness(-14 SECONDS * REM * seconds_per_tick) drinker.AdjustSleeping(-40 * REM * seconds_per_tick) - drinker.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, drinker.get_body_temp_normal()) + drinker.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = drinker.standard_body_temperature) if(!HAS_TRAIT(drinker, TRAIT_ALCOHOL_TOLERANCE)) drinker.set_jitter_if_lower(10 SECONDS) ..() @@ -679,7 +679,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/toxins_special/on_mob_life(mob/living/drinker, seconds_per_tick, times_fired) - drinker.adjust_bodytemperature(15 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, drinker.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. + drinker.adjust_bodytemperature(WARM_DRINK * REM * seconds_per_tick, max_temp = drinker.standard_body_temperature + 4 KELVIN) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/beepsky_smash @@ -866,7 +866,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) - drinker.adjust_bodytemperature(20 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, drinker.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. + drinker.adjust_bodytemperature(2 * WARM_DRINK * REM * seconds_per_tick, max_temp = drinker.standard_body_temperature + 4 KELVIN) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/barefoot @@ -1047,7 +1047,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) - drinker.adjust_bodytemperature(50 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, BODYTEMP_HEAT_DAMAGE_LIMIT) //310.15 is the normal bodytemp. + drinker.adjust_bodytemperature(2.5 * WARM_DRINK * REM * seconds_per_tick, max_temp = drinker.standard_body_temperature + 8 KELVIN) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/red_mead @@ -1078,7 +1078,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) - drinker.adjust_bodytemperature(-20 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, T0C) //310.15 is the normal bodytemp. + drinker.adjust_bodytemperature(2 * COLD_DRINK * REM * seconds_per_tick, min_temp = T0C) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/grog @@ -1608,7 +1608,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/squirt_cider/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) - drinker.satiety += 5 * REM * seconds_per_tick //for context, vitamins give 15 satiety per second + drinker.adjust_satiety(5 * REM * seconds_per_tick) //for context, vitamins give 15 satiety per second ..() . = TRUE @@ -1632,7 +1632,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sugar_rush/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) - drinker.satiety -= 10 * REM * seconds_per_tick //junky as hell! a whole glass will keep you from being able to eat junk food + drinker.adjust_satiety(-10 * REM * seconds_per_tick)//junky as hell! a whole glass will keep you from being able to eat junk food ..() . = TRUE @@ -1670,7 +1670,7 @@ /datum/reagent/consumable/ethanol/peppermint_patty/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) drinker.apply_status_effect(/datum/status_effect/throat_soothed) - drinker.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, drinker.get_body_temp_normal()) + drinker.adjust_bodytemperature(WARM_DRINK * REM * seconds_per_tick, max_temp = drinker.standard_body_temperature) ..() /datum/reagent/consumable/ethanol/alexander @@ -2163,7 +2163,7 @@ /datum/reagent/consumable/ethanol/mauna_loa/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) // Heats the user up while the reagent is in the body. Occasionally makes you burst into flames. - drinker.adjust_bodytemperature(25 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick) + drinker.adjust_bodytemperature(2.5 * WARM_DRINK * REM * seconds_per_tick) if (SPT_PROB(2.5, seconds_per_tick)) drinker.adjust_fire_stacks(1) drinker.ignite_mob() @@ -2536,7 +2536,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/gin_garden/on_mob_life(mob/living/carbon/doll, seconds_per_tick, times_fired) - doll.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, doll.get_body_temp_normal()) + doll.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = doll.standard_body_temperature) ..() /datum/reagent/consumable/ethanol/wine_voltaic diff --git a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm index ac83949dd483fe..c332365c9e2172 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm @@ -250,7 +250,7 @@ affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) //310.15 is the normal bodytemp. - affected_mob.adjust_bodytemperature(25 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(WARM_DRINK * REM * seconds_per_tick, max_temp = affected_mob.standard_body_temperature) if(holder.has_reagent(/datum/reagent/consumable/frostoil)) holder.remove_reagent(/datum/reagent/consumable/frostoil, 5 * REM * seconds_per_tick) ..() @@ -280,7 +280,7 @@ if(!to_chatted && helped) to_chat(affected_mob, span_notice("A calm, relaxed feeling suffuses you. Your wounds feel a little healthier.")) to_chatted = TRUE - affected_mob.adjust_bodytemperature(20 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() . = TRUE @@ -342,7 +342,7 @@ affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(1.5 * COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) ..() . = TRUE @@ -359,7 +359,7 @@ affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) affected_mob.AdjustSleeping(-60 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-7 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) affected_mob.adjustToxLoss(1 * REM * seconds_per_tick, FALSE, required_biotype = affected_biotype) ..() @@ -379,7 +379,7 @@ affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) if(affected_mob.getToxLoss() && SPT_PROB(10, seconds_per_tick)) affected_mob.adjustToxLoss(-1, FALSE, required_biotype = affected_biotype) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() . = TRUE @@ -392,7 +392,7 @@ /datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.adjust_drowsiness(-10 SECONDS * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/roy_rogers @@ -406,7 +406,7 @@ /datum/reagent/consumable/roy_rogers/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.set_jitter_if_lower(12 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-10 SECONDS * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) return ..() /datum/reagent/consumable/nuka_cola @@ -431,7 +431,7 @@ affected_mob.adjust_dizzy(3 SECONDS * REM * seconds_per_tick) affected_mob.remove_status_effect(/datum/status_effect/drowsiness) affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() . = TRUE @@ -492,7 +492,7 @@ affected_mob.adjust_dizzy(2 SECONDS * REM * seconds_per_tick) affected_mob.remove_status_effect(/datum/status_effect/drowsiness) affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/spacemountainwind @@ -505,7 +505,7 @@ /datum/reagent/consumable/spacemountainwind/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.adjust_drowsiness(-14 SECONDS * REM * seconds_per_tick) affected_mob.AdjustSleeping(-20 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) ..() . = TRUE @@ -519,7 +519,7 @@ /datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.adjust_drowsiness(-12 SECONDS * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/space_up @@ -530,7 +530,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(1.5 * COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/lemon_lime @@ -541,7 +541,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(1.5 * COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/pwr_game @@ -559,7 +559,7 @@ You feel as though a great secret of the universe has been made known to you...
") /datum/reagent/consumable/pwr_game/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(1.5 * COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) if(SPT_PROB(5, seconds_per_tick)) affected_mob.mind?.adjust_experience(/datum/skill/gaming, 5) ..() @@ -572,7 +572,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/shamblers/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(1.5 * COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/sodawater @@ -585,7 +585,7 @@ /datum/reagent/consumable/sodawater/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/tonic @@ -599,7 +599,7 @@ affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() . = TRUE @@ -634,7 +634,7 @@ affected_mob.adjust_dizzy(2 SECONDS * REM * seconds_per_tick) affected_mob.remove_status_effect(/datum/status_effect/drowsiness) affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/monkey_energy/on_mob_metabolize(mob/living/affected_mob) @@ -661,7 +661,7 @@ default_container = /obj/item/reagent_containers/cup/glass/ice /datum/reagent/consumable/ice/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/soy_latte @@ -677,7 +677,7 @@ affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) affected_mob.SetSleeping(0) - affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(WARM_DRINK * REM * seconds_per_tick, max_temp = affected_mob.standard_body_temperature) affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) if(affected_mob.getBruteLoss() && SPT_PROB(10, seconds_per_tick)) affected_mob.heal_bodypart_damage(1,0) @@ -697,7 +697,7 @@ affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-12 SECONDS * REM * seconds_per_tick) affected_mob.SetSleeping(0) - affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(WARM_DRINK * REM * seconds_per_tick, max_temp = affected_mob.standard_body_temperature) affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) if(affected_mob.getBruteLoss() && SPT_PROB(10, seconds_per_tick)) affected_mob.heal_bodypart_damage(1, 0) @@ -854,7 +854,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/milk/chocolate_milk @@ -874,7 +874,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(WARM_DRINK * REM * seconds_per_tick, max_temp = affected_mob.standard_body_temperature) if(affected_mob.getBruteLoss() && SPT_PROB(10, seconds_per_tick)) affected_mob.heal_bodypart_damage(1, 0) . = TRUE @@ -892,7 +892,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/italian_coco/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(WARM_DRINK * REM * seconds_per_tick, max_temp = affected_mob.standard_body_temperature) return ..() /datum/reagent/consumable/menthol @@ -945,7 +945,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) ..() /datum/reagent/consumable/sol_dry @@ -1035,7 +1035,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/agua_fresca/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(1.5 * COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) if(affected_mob.getToxLoss() && SPT_PROB(10, seconds_per_tick)) affected_mob.adjustToxLoss(-0.5, FALSE, required_biotype = affected_biotype) return ..() @@ -1135,7 +1135,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/cucumberlemonade/on_mob_life(mob/living/carbon/doll, seconds_per_tick, times_fired) - doll.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, doll.get_body_temp_normal()) + doll.adjust_bodytemperature(1.5 * COLD_DRINK * REM * seconds_per_tick, min_temp = doll.standard_body_temperature) if(doll.getToxLoss() && SPT_PROB(10, seconds_per_tick)) doll.adjustToxLoss(-0.5, FALSE, required_biotype = affected_biotype) return ..() diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index f77bbdec9b6442..1ab4157d34843e 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -700,16 +700,12 @@ return if(invisible_man.undergoing_liver_failure()) return - if(HAS_TRAIT(invisible_man, TRAIT_NOMETABOLISM)) + if(HAS_TRAIT(invisible_man, TRAIT_LIVERLESS_METABOLISM)) return if(invisible_man.has_status_effect(/datum/status_effect/grouped/stasis)) return - invisible_man.add_traits(list(TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS), name) - - var/datum/dna/druggy_dna = invisible_man.has_dna() - if(druggy_dna?.species) - druggy_dna.species.species_traits += NOBLOODOVERLAY + invisible_man.add_traits(list(TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS, TRAIT_NO_BLOOD_OVERLAY), name) invisible_man.update_body() invisible_man.remove_from_all_data_huds() @@ -719,14 +715,10 @@ . = ..() if(HAS_TRAIT(invisible_man, TRAIT_INVISIBLE_MAN)) invisible_man.add_to_all_human_data_huds() //Is this safe, what do you think, Floyd? - invisible_man.remove_traits(list(TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS), name) + invisible_man.remove_traits(list(TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS, TRAIT_NO_BLOOD_OVERLAY), name) to_chat(invisible_man, span_notice("As you sober up, opacity once again returns to your body meats.")) - var/datum/dna/druggy_dna = invisible_man.has_dna() - if(druggy_dna?.species) - druggy_dna.species.species_traits -= NOBLOODOVERLAY - invisible_man.update_body() invisible_man.sound_environment_override = NONE diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 4493b5c139716f..7f910fa837aaa1 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -120,8 +120,7 @@ burn_heal = 1 /datum/reagent/consumable/nutriment/vitamin/on_mob_life(mob/living/carbon/M, seconds_per_tick, times_fired) - if(M.satiety < MAX_SATIETY) - M.satiety += 30 * REM * seconds_per_tick + M.adjust_satiety(30 * REM * seconds_per_tick) . = ..() /// The basic resource of vat growing. @@ -281,28 +280,21 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/capsaicin/on_mob_life(mob/living/carbon/M, seconds_per_tick, times_fired) + . = ..() + holder.remove_reagent(/datum/reagent/cryostylane, 5 * REM * seconds_per_tick) + var/heating = 0 switch(current_cycle) if(1 to 15) - heating = 5 - if(holder.has_reagent(/datum/reagent/cryostylane)) - holder.remove_reagent(/datum/reagent/cryostylane, 5 * REM * seconds_per_tick) - if(isslime(M)) - heating = rand(5, 20) + heating = 0.1 KELVIN if(15 to 25) - heating = 10 - if(isslime(M)) - heating = rand(10, 20) + heating = 0.33 KELVIN if(25 to 35) - heating = 15 - if(isslime(M)) - heating = rand(15, 20) + heating = 0.66 KELVIN if(35 to INFINITY) - heating = 20 - if(isslime(M)) - heating = rand(20, 25) - M.adjust_bodytemperature(heating * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick) - ..() + heating = 1.2 KELVIN + + M.adjust_bodytemperature(heating * REM * seconds_per_tick, max_temp = CELCIUS_TO_KELVIN(39 CELCIUS)) /datum/reagent/consumable/frostoil name = "Frost Oil" @@ -318,32 +310,25 @@ turf_exposure = TRUE /datum/reagent/consumable/frostoil/on_mob_life(mob/living/carbon/M, seconds_per_tick, times_fired) + . = ..() + holder.remove_reagent(/datum/reagent/consumable/capsaicin, 5 * REM * seconds_per_tick) + var/cooling = 0 switch(current_cycle) if(1 to 15) - cooling = -10 - if(holder.has_reagent(/datum/reagent/consumable/capsaicin)) - holder.remove_reagent(/datum/reagent/consumable/capsaicin, 5 * REM * seconds_per_tick) - if(isslime(M)) - cooling = -rand(5, 20) + cooling = -0.1 KELVIN if(15 to 25) - cooling = -20 - if(isslime(M)) - cooling = -rand(10, 20) + cooling = -0.5 KELVIN if(25 to 35) - cooling = -30 + cooling = -1 KELVIN if(prob(1)) M.emote("shiver") - if(isslime(M)) - cooling = -rand(15, 20) if(35 to INFINITY) - cooling = -40 + cooling = -2 KELVIN if(prob(5)) M.emote("shiver") - if(isslime(M)) - cooling = -rand(20, 25) - M.adjust_bodytemperature(cooling * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 50) - ..() + + M.adjust_bodytemperature(cooling * REM * seconds_per_tick, min_temp = M.bodytemp_cold_damage_limit - 15 KELVIN) /datum/reagent/consumable/frostoil/expose_turf(turf/exposed_turf, reac_volume) . = ..() @@ -590,7 +575,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/hot_ramen/on_mob_life(mob/living/carbon/M, seconds_per_tick, times_fired) - M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(0.2 KELVIN * REM * seconds_per_tick, 0, M.standard_body_temperature) ..() /datum/reagent/consumable/hell_ramen @@ -602,7 +587,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/hell_ramen/on_mob_life(mob/living/carbon/target_mob, seconds_per_tick, times_fired) - target_mob.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick) + target_mob.adjust_bodytemperature(WARM_DRINK KELVIN * REM * seconds_per_tick, max_temp = CELCIUS_TO_KELVIN(45 CELCIUS)) ..() /datum/reagent/consumable/flour 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 8dccaf47f6f5c9..5c210decd59fa6 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 @@ -280,29 +280,21 @@ Basically, we fill the time between now and 2s from now with hands based off the /datum/reagent/inverse/hercuri/on_mob_life(mob/living/carbon/owner, seconds_per_tick, times_fired) . = ..() var/heating = rand(5, 25) * creation_purity * REM * seconds_per_tick - owner.reagents?.chem_temp += heating - owner.adjust_bodytemperature(heating * TEMPERATURE_DAMAGE_COEFFICIENT) - if(!ishuman(owner)) - return - var/mob/living/carbon/human/human = owner - human.adjust_coretemperature(heating * TEMPERATURE_DAMAGE_COEFFICIENT) + owner.reagents?.expose_temperature(owner.reagents.chem_temp + heating, 1) + owner.adjust_bodytemperature(heating * 0.2 KELVIN) /datum/reagent/inverse/hercuri/expose_mob(mob/living/carbon/exposed_mob, methods=VAPOR, reac_volume) . = ..() if(!(methods & VAPOR)) return - exposed_mob.adjust_bodytemperature(reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT) + exposed_mob.adjust_bodytemperature(reac_volume * 0.33 KELVIN, use_insulation = TRUE) exposed_mob.adjust_fire_stacks(reac_volume / 2) /datum/reagent/inverse/hercuri/overdose_process(mob/living/carbon/owner, seconds_per_tick, times_fired) . = ..() owner.adjustOrganLoss(ORGAN_SLOT_LIVER, 2 * REM * seconds_per_tick, required_organtype = affected_organtype) //Makes it so you can't abuse it with pyroxadone very easily (liver dies from 25u unless it's fully upgraded) - var/heating = 10 * creation_purity * REM * seconds_per_tick * TEMPERATURE_DAMAGE_COEFFICIENT - owner.adjust_bodytemperature(heating) //hot hot - if(ishuman(owner)) - var/mob/living/carbon/human/human = owner - human.adjust_coretemperature(heating) + owner.adjust_bodytemperature(0.5 KELVIN * creation_purity * REM * seconds_per_tick) //hot hot /datum/reagent/inverse/healing/tirimol name = "Super Melatonin"//It's melatonin, but super! @@ -383,20 +375,20 @@ Basically, we fill the time between now and 2s from now with hands based off the apply_lung_levels(lungs) /datum/reagent/inverse/healing/convermol/proc/apply_lung_levels(obj/item/organ/internal/lungs/lungs) - cached_heat_level_1 = lungs.heat_level_1_threshold - cached_heat_level_2 = lungs.heat_level_2_threshold - cached_heat_level_3 = lungs.heat_level_3_threshold - cached_cold_level_1 = lungs.cold_level_1_threshold - cached_cold_level_2 = lungs.cold_level_2_threshold - cached_cold_level_3 = lungs.cold_level_3_threshold + cached_heat_level_1 = lungs.heat_level_warning_threshold + cached_heat_level_2 = lungs.heat_level_hazard_threshold + cached_heat_level_3 = lungs.heat_level_danger_threshold + cached_cold_level_1 = lungs.cold_level_warning_threshold + cached_cold_level_2 = lungs.cold_level_hazard_threshold + cached_cold_level_3 = lungs.cold_level_danger_threshold //Heat threshold is increased - lungs.heat_level_1_threshold *= creation_purity * 1.5 - lungs.heat_level_2_threshold *= creation_purity * 1.5 - lungs.heat_level_3_threshold *= creation_purity * 1.5 + lungs.heat_level_warning_threshold *= creation_purity * 1.5 + lungs.heat_level_hazard_threshold *= creation_purity * 1.5 + lungs.heat_level_danger_threshold *= creation_purity * 1.5 //Cold threshold is decreased - lungs.cold_level_1_threshold *= creation_purity * 0.5 - lungs.cold_level_2_threshold *= creation_purity * 0.5 - lungs.cold_level_3_threshold *= creation_purity * 0.5 + lungs.cold_level_warning_threshold *= creation_purity * 0.5 + lungs.cold_level_hazard_threshold *= creation_purity * 0.5 + lungs.cold_level_danger_threshold *= creation_purity * 0.5 /datum/reagent/inverse/healing/convermol/proc/on_removed_organ(mob/prev_owner, obj/item/organ/organ) SIGNAL_HANDLER @@ -406,12 +398,12 @@ Basically, we fill the time between now and 2s from now with hands based off the restore_lung_levels(lungs) /datum/reagent/inverse/healing/convermol/proc/restore_lung_levels(obj/item/organ/internal/lungs/lungs) - lungs.heat_level_1_threshold = cached_heat_level_1 - lungs.heat_level_2_threshold = cached_heat_level_2 - lungs.heat_level_3_threshold = cached_heat_level_3 - lungs.cold_level_1_threshold = cached_cold_level_1 - lungs.cold_level_2_threshold = cached_cold_level_2 - lungs.cold_level_3_threshold = cached_cold_level_3 + lungs.heat_level_warning_threshold = cached_heat_level_1 + lungs.heat_level_hazard_threshold = cached_heat_level_2 + lungs.heat_level_danger_threshold = cached_heat_level_3 + lungs.cold_level_warning_threshold = cached_cold_level_1 + lungs.cold_level_hazard_threshold = cached_cold_level_2 + lungs.cold_level_danger_threshold = cached_cold_level_3 /datum/reagent/inverse/healing/convermol/on_mob_delete(mob/living/owner) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index d1bfbf5a97dfaa..23ecc893fdbd30 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -22,19 +22,14 @@ color = "#DB90C6" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED -/datum/reagent/medicine/leporazine/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) - var/target_temp = affected_mob.get_body_temp_normal(apply_change = FALSE) - if(affected_mob.bodytemperature > target_temp) - affected_mob.adjust_bodytemperature(-40 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, target_temp) - else if(affected_mob.bodytemperature < (target_temp + 1)) - affected_mob.adjust_bodytemperature(40 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 0, target_temp) - if(ishuman(affected_mob)) - var/mob/living/carbon/human/affected_human = affected_mob - if(affected_human.coretemperature > target_temp) - affected_human.adjust_coretemperature(-40 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, target_temp) - else if(affected_human.coretemperature < (target_temp + 1)) - affected_human.adjust_coretemperature(40 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, 0, target_temp) - ..() +/datum/reagent/medicine/leporazine/on_mob_metabolize(mob/living/carbon/user) + . = ..() + user.add_homeostasis_level(type, user.standard_body_temperature, 4 KELVIN) + +/datum/reagent/medicine/leporazine/on_mob_end_metabolize(mob/living/carbon/user) + . = ..() + user.remove_homeostasis_level(type) + /datum/reagent/medicine/adminordrazine //An OP chemical for admins name = "Adminordrazine" @@ -1559,7 +1554,7 @@ /datum/reagent/medicine/coagulant/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() - if(!affected_mob.blood_volume || !affected_mob.all_wounds) + if(HAS_TRAIT(affected_mob, TRAIT_NOBLOOD) || !LAZYLEN(affected_mob.all_wounds)) return var/datum/wound/bloodiest_wound @@ -1580,7 +1575,7 @@ /datum/reagent/medicine/coagulant/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) . = ..() - if(!affected_mob.blood_volume) + if(!HAS_TRAIT(affected_mob, TRAIT_NOBLOOD)) return if(SPT_PROB(7.5, seconds_per_tick)) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 257a184a227810..17ec5771f85439 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1,21 +1,24 @@ /datum/reagent/blood data = list( - "viruses"=null, - "blood_DNA"=null, - "blood_type"=null, - "resistances"=null, - "trace_chem"=null, - "mind"=null, - "ckey"=null, - "gender"=null, - "real_name"=null, - "cloneable"=null, - "factions"=null, - "quirks"=null, + // Actually Relevant + "viruses" = null, // Refernces to virus datums in this blood + "blood_DNA" = null, // DNA of the guy who the blood came from + "blood_type" = null, // /datum/blood_type of the blood + "resistances" = null, // Viruses the blood is vaccinated against "immunity" = null, + // Unused? (but cool) + "trace_chem" = null, // Param list of all chems in the blood at the time the sample was taken (type to volume) + // Used for podperson shit + "mind" = null, // Ref to the mind of the guy who the blood came from + "ckey" = null, // Ckey of the guy who the blood came from + "gender" = null, // Gender of the guy when the blood was taken + "real_name" = null, // Real name of the guy when the blood was taken + "cloneable" = null, // Tracks if the guy who the blood came from suicided or not + "factions" = null, // Factions the guy who the blood came from was in + "quirks" = null, // Quirk typepaths of the guy who the blood came from had ) name = "Blood" - color = "#9e0101" // rgb: 200, 0, 0 + color = COLOR_BLOOD metabolization_rate = 12.5 * REAGENTS_METABOLISM //fast rate so it disappears fast. taste_description = "iron" taste_mult = 1.3 @@ -24,6 +27,7 @@ default_container = /obj/item/reagent_containers/blood opacity = 230 turf_exposure = TRUE + chemical_flags = REAGENT_IGNORE_STASIS|REAGENT_DEAD_PROCESS /datum/glass_style/shot_glass/blood required_drink_type = /datum/reagent/blood @@ -37,33 +41,30 @@ /datum/reagent/blood/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume, show_message=TRUE, touch_protection=0) . = ..() - if(data && data["viruses"]) - for(var/thing in data["viruses"]) - var/datum/disease/strain = thing - - if(istype(strain, /datum/disease/advanced)) - var/datum/disease/advanced/advanced = strain - if(methods & (INJECT|INGEST|PATCH)) - exposed_mob.infect_disease(advanced, TRUE, "(Contact, splashed with infected blood)") - if((methods & (TOUCH | VAPOR)) && (advanced.spread_flags & DISEASE_SPREAD_BLOOD)) - if(exposed_mob.check_bodypart_bleeding(BODY_ZONE_EVERYTHING)) - exposed_mob.infect_disease(advanced, notes="(Blood, splashed with infected blood)") - - if(iscarbon(exposed_mob)) - var/mob/living/carbon/exposed_carbon = exposed_mob - if(exposed_carbon.get_blood_id() == type && ((methods & INJECT) || ((methods & INGEST) && exposed_carbon.dna && exposed_carbon.dna.species && (DRINKSBLOOD in exposed_carbon.dna.species.species_traits)))) - if(!data || !(data["blood_type"] in get_safe_blood(exposed_carbon.dna.blood_type))) - exposed_carbon.reagents.add_reagent(/datum/reagent/toxin, reac_volume * 0.5) - else - exposed_carbon.blood_volume = min(exposed_carbon.blood_volume + round(reac_volume, 0.1), BLOOD_VOLUME_MAXIMUM) + for(var/datum/disease/strain as anything in data?["viruses"]) + if(istype(strain, /datum/disease/advanced)) + var/datum/disease/advanced/advanced = strain + if(methods & (INJECT|INGEST|PATCH)) + exposed_mob.infect_disease(advanced, TRUE, "(Contact, splashed with infected blood)") + if((methods & (TOUCH | VAPOR)) && (advanced.spread_flags & DISEASE_SPREAD_BLOOD)) + if(exposed_mob.check_bodypart_bleeding(BODY_ZONE_EVERYTHING)) + exposed_mob.infect_disease(advanced, notes="(Blood, splashed with infected blood)") + + var/datum/blood_type/blood = exposed_mob.get_blood_type() + if(blood?.reagent_type == type && ((methods & INJECT) || ((methods & INGEST)))) + if(data["blood_type"] in blood.compatible_types) + exposed_mob.blood_volume = min(exposed_mob.blood_volume + round(reac_volume, 0.1), BLOOD_VOLUME_MAXIMUM) + else + exposed_mob.reagents.add_reagent(/datum/reagent/toxin, reac_volume * 0.5) - exposed_carbon.reagents.remove_reagent(type, reac_volume) // Because we don't want blood to just lie around in the patient's blood, makes no sense. + exposed_mob.reagents.remove_reagent(type, reac_volume) // Because we don't want blood to just lie around in the patient's blood, makes no sense. /datum/reagent/blood/on_new(list/data) . = ..() if(istype(data)) SetViruses(src, data) + color = GLOB.blood_types[data["blood_type"]]?.color || COLOR_BLOOD /datum/reagent/blood/on_merge(list/mix_data) if(data && mix_data) @@ -273,7 +274,7 @@ /datum/reagent/water/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() - if(affected_mob.blood_volume) + if(!HAS_TRAIT(affected_mob, TRAIT_NOBLOOD)) affected_mob.blood_volume += 0.1 * REM * seconds_per_tick // water is good for you! /datum/reagent/water/salt @@ -580,9 +581,10 @@ if ("albino") exposed_human.skin_tone = "caucasian1" - if(MUTCOLORS in exposed_human.dna.species.species_traits) //take current alien color and darken it slightly + if(HAS_TRAIT(exposed_human, TRAIT_MUTANT_COLORS)) //take current alien color and darken it slightly var/newcolor = "" - var/string = exposed_human.dna.features["mcolor"] + var/datum/color_palette/generic_colors/located = exposed_human.dna.color_palettes[/datum/color_palette/generic_colors] + var/string = located.return_color(MUTANT_COLOR) var/len = length(string) var/char = "" var/ascii = 0 @@ -605,7 +607,7 @@ else break if(ReadHSV(newcolor)[3] >= ReadHSV("#7F7F7F")[3]) - exposed_human.dna.features["mcolor"] = newcolor + located.mutant_color = newcolor exposed_human.update_body(is_creating = TRUE) if((methods & INGEST) && show_message) @@ -625,10 +627,11 @@ var/obj/item/bodypart/head/head = affected_human.get_bodypart(BODY_ZONE_HEAD) if(head) head.head_flags |= HEAD_HAIR //No hair? No problem! - if(affected_human.dna.species.use_skintones) + if(HAS_TRAIT(affected_human, TRAIT_USES_SKINTONES)) affected_human.skin_tone = "orange" - else if(MUTCOLORS in affected_human.dna.species.species_traits) //Aliens with custom colors simply get turned orange - affected_human.dna.features["mcolor"] = "#ff8800" + else if(HAS_TRAIT(affected_human, TRAIT_MUTANT_COLORS)) //Aliens with custom colors simply get turned orange + var/datum/color_palette/generic_colors/located = affected_human.dna.color_palettes[/datum/color_palette/generic_colors] + located.mutant_color = "#ff8800" affected_human.update_body(is_creating = TRUE) if(SPT_PROB(3.5, seconds_per_tick)) if(affected_human.w_uniform) diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 173d503cf54704..74f000f2931ba6 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -245,10 +245,7 @@ metabolization_rate = 0.25 * REM//faster consumption when alive if(affected_mob.reagents.has_reagent(/datum/reagent/oxygen)) affected_mob.reagents.remove_reagent(/datum/reagent/oxygen, 0.5 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-15 * REM * seconds_per_tick) - if(ishuman(affected_mob)) - var/mob/living/carbon/human/humi = affected_mob - humi.adjust_coretemperature(-15 * REM * seconds_per_tick) + affected_mob.adjust_bodytemperature(-1 KELVIN * REM * seconds_per_tick) ..() /datum/reagent/cryostylane/expose_turf(turf/exposed_turf, reac_volume) @@ -275,10 +272,7 @@ /datum/reagent/pyrosium/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) if(holder.has_reagent(/datum/reagent/oxygen)) holder.remove_reagent(/datum/reagent/oxygen, 0.5 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(15 * REM * seconds_per_tick) - if(ishuman(affected_mob)) - var/mob/living/carbon/human/humi = affected_mob - humi.adjust_coretemperature(15 * REM * seconds_per_tick) + affected_mob.adjust_bodytemperature(1 KELVIN * REM * seconds_per_tick) ..() /datum/reagent/pyrosium/burn(datum/reagents/holder) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 54e6461a701f4e..ae2197dde34ec0 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -163,10 +163,7 @@ if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2 * REM * seconds_per_tick) affected_mob.adjustPlasma(20 * REM * seconds_per_tick) - affected_mob.adjust_bodytemperature(-7 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, affected_mob.get_body_temp_normal()) - if(ishuman(affected_mob)) - var/mob/living/carbon/human/humi = affected_mob - humi.adjust_coretemperature(-7 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + affected_mob.adjust_bodytemperature(COLD_DRINK * REM * seconds_per_tick, min_temp = affected_mob.standard_body_temperature) return ..() /datum/reagent/toxin/hot_ice/on_mob_metabolize(mob/living/carbon/affected_mob) @@ -212,7 +209,7 @@ /datum/reagent/toxin/lexorin/proc/block_breath(mob/living/source) SIGNAL_HANDLER - return COMSIG_CARBON_BLOCK_BREATH + return BREATHE_BLOCK_BREATH /datum/reagent/toxin/slimejelly name = "Slime Jelly" @@ -1308,7 +1305,7 @@ /datum/reagent/toxin/tetrodotoxin/proc/block_breath(mob/living/source) SIGNAL_HANDLER if(current_cycle >= 28) - return COMSIG_CARBON_BLOCK_BREATH + return BREATHE_BLOCK_BREATH /datum/reagent/toxin/radiomagnetic_disruptor // MONKESTATION ADDITION: NANITE REMOVAL CHEM name = "Radiomagnetic Disruptor" diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 1274a3bb91e1bd..067c9cf1e46418 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -5,85 +5,84 @@ icon_state = "bloodpack" volume = 200 var/blood_type = null - var/unique_blood = null var/labelled = FALSE fill_icon_thresholds = list(10, 20, 30, 40, 50, 60, 70, 80, 90, 100) /obj/item/reagent_containers/blood/Initialize(mapload, vol) . = ..() - if(blood_type != null) - reagents.add_reagent(unique_blood ? unique_blood : /datum/reagent/blood, 200, list("viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) + if(!isnull(blood_type)) + var/datum/blood_type/blood = GLOB.blood_types[blood_type] + reagents.add_reagent(blood.reagent_type, 200, list("viruses" = null,"blood_DNA" = null,"blood_type" = blood_type, "resistances" = null, "trace_chem" = null)) update_appearance() /// Handles updating the container when the reagents change. /obj/item/reagent_containers/blood/on_reagent_change(datum/reagents/holder, ...) - var/datum/reagent/blood/new_reagent = holder.has_reagent(/datum/reagent/blood) - if(new_reagent && new_reagent.data && new_reagent.data["blood_type"]) - blood_type = new_reagent.data["blood_type"] - else if(holder.has_reagent(/datum/reagent/consumable/liquidelectricity)) - blood_type = "LE" - else if(holder.has_reagent(/datum/reagent/lube)) - blood_type = "S" - else if(holder.has_reagent(/datum/reagent/water)) - blood_type = "H2O" - else if(holder.has_reagent(/datum/reagent/toxin/slimejelly)) - blood_type = "TOX" - else if(holder.has_reagent(/datum/reagent/toxin/slimeooze)) - blood_type = "OOZE" + blood_type = null + + var/datum/reagent/master_reagent = holder.get_master_reagent() + if(istype(master_reagent, /datum/reagent/blood)) + blood_type = master_reagent.data?["blood_type"] + else - blood_type = null + for(var/blood_type in GLOB.blood_types) + var/datum/blood_type/blood = GLOB.blood_types[blood_type] + if(blood.reagent_type == master_reagent.type) + blood_type = blood_type + break + return ..() /obj/item/reagent_containers/blood/update_name(updates) . = ..() if(labelled) return - name = "blood pack[blood_type ? " - [blood_type]" : null]" + var/datum/blood_type/blood = GLOB.blood_types[blood_type] + name = "blood pack[blood ? " - [blood.name]" : null]" /obj/item/reagent_containers/blood/random icon_state = "random_bloodpack" /obj/item/reagent_containers/blood/random/Initialize(mapload, vol) icon_state = "bloodpack" - blood_type = pick("A+", "A-", "B+", "B-", "O+", "O-", "L") + blood_type = pick(subtypesof(/datum/blood_type/crew) - /datum/blood_type/crew/human) return ..() /obj/item/reagent_containers/blood/a_plus - blood_type = "A+" + blood_type = /datum/blood_type/crew/human/a_plus /obj/item/reagent_containers/blood/a_minus - blood_type = "A-" + blood_type = /datum/blood_type/crew/human/a_minus /obj/item/reagent_containers/blood/b_plus - blood_type = "B+" + blood_type = /datum/blood_type/crew/human/b_plus /obj/item/reagent_containers/blood/b_minus - blood_type = "B-" + blood_type = /datum/blood_type/crew/human/b_minus /obj/item/reagent_containers/blood/o_plus - blood_type = "O+" + blood_type = /datum/blood_type/crew/human/o_plus /obj/item/reagent_containers/blood/o_minus - blood_type = "O-" + blood_type = /datum/blood_type/crew/human/o_minus /obj/item/reagent_containers/blood/lizard - blood_type = "L" + blood_type = /datum/blood_type/crew/lizard /obj/item/reagent_containers/blood/ethereal - blood_type = "LE" - unique_blood = /datum/reagent/consumable/liquidelectricity + blood_type = /datum/blood_type/crew/ethereal + +/obj/item/reagent_containers/blood/skrell + blood_type = /datum/blood_type/crew/skrell /obj/item/reagent_containers/blood/snail - blood_type = "S" - unique_blood = /datum/reagent/lube + blood_type = /datum/blood_type/snail /obj/item/reagent_containers/blood/snail/examine() . = ..() . += span_notice("It's a bit slimy... The label indicates that this is meant for snails.") /obj/item/reagent_containers/blood/podperson - blood_type = "H2O" - unique_blood = /datum/reagent/water + blood_type = /datum/blood_type/water /obj/item/reagent_containers/blood/podperson/examine() . = ..() @@ -91,15 +90,14 @@ // for slimepeople /obj/item/reagent_containers/blood/toxin - blood_type = "TOX" - unique_blood = /datum/reagent/toxin/slimejelly + blood_type = /datum/blood_type/slime /obj/item/reagent_containers/blood/toxin/examine() . = ..() . += span_notice("There is a toxin warning on the label. This is for slimepeople.") /obj/item/reagent_containers/blood/universal - blood_type = "U" + blood_type = /datum/blood_type/universal /obj/item/reagent_containers/blood/attackby(obj/item/tool, mob/user, params) if (istype(tool, /obj/item/pen) || istype(tool, /obj/item/toy/crayon)) diff --git a/code/modules/reagents/reagent_containers/cups/_cup.dm b/code/modules/reagents/reagent_containers/cups/_cup.dm index a51fa5bac2429d..4aad53d61f20c9 100644 --- a/code/modules/reagents/reagent_containers/cups/_cup.dm +++ b/code/modules/reagents/reagent_containers/cups/_cup.dm @@ -25,34 +25,37 @@ var/list/types = bitfield_to_list(drink_type, FOOD_FLAGS) . += span_notice("It is [lowertext(english_list(types))].") -/obj/item/reagent_containers/cup/proc/checkLiked(fraction, mob/M) - if(last_check_time + 50 >= world.time) - return - if(!ishuman(M)) - return - var/mob/living/carbon/human/H = M - if(HAS_TRAIT(H, TRAIT_AGEUSIA)) - if(drink_type & H.dna.species.toxic_food) - to_chat(H, span_warning("You don't feel so good...")) - H.adjust_disgust(25 + 30 * fraction) - else - if(drink_type & H.dna.species.toxic_food) - to_chat(H,span_warning("What the hell was that thing?!")) - H.adjust_disgust(25 + 30 * fraction) - H.add_mood_event("toxic_food", /datum/mood_event/disgusting_food) - else if(drink_type & H.dna.species.disliked_food) - to_chat(H,span_notice("That didn't taste very good...")) - H.adjust_disgust(11 + 15 * fraction) - H.add_mood_event("gross_food", /datum/mood_event/gross_food) - else if(drink_type & H.dna.species.liked_food) - to_chat(H,span_notice("I love this taste!")) - H.adjust_disgust(-5 + -2.5 * fraction) - H.add_mood_event("fav_food", /datum/mood_event/favorite_food) - +/** + * Checks if the mob actually liked drinking this cup. + * + * This is a bunch of copypaste from the edible component, consider reworking this to use it! + */ +/obj/item/reagent_containers/cup/proc/checkLiked(fraction, mob/eater) + if(last_check_time + 5 SECONDS > world.time) + return FALSE + if(!ishuman(eater)) + return FALSE + var/mob/living/carbon/human/gourmand = eater + //Bruh this breakfast thing is cringe and shouldve been handled separately from food-types, remove this in the future (Actually, just kill foodtypes in general) if((drink_type & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) - H.add_mood_event("breakfast", /datum/mood_event/breakfast) + gourmand.add_mood_event("breakfast", /datum/mood_event/breakfast) last_check_time = world.time + var/food_taste_reaction = gourmand.get_food_taste_reaction(src, drink_type) + switch(food_taste_reaction) + if(FOOD_TOXIC) + to_chat(gourmand,span_warning("What the hell was that thing?!")) + gourmand.adjust_disgust(25 + 30 * fraction) + gourmand.add_mood_event("toxic_food", /datum/mood_event/disgusting_food) + if(FOOD_DISLIKED) + to_chat(gourmand,span_notice("That didn't taste very good...")) + gourmand.adjust_disgust(11 + 15 * fraction) + gourmand.add_mood_event("gross_food", /datum/mood_event/gross_food) + if(FOOD_LIKED) + to_chat(gourmand,span_notice("I love this taste!")) + gourmand.adjust_disgust(-5 + -2.5 * fraction) + gourmand.add_mood_event("fav_food", /datum/mood_event/favorite_food) + /obj/item/reagent_containers/cup/attack(mob/living/target_mob, mob/living/user, obj/target) if(!canconsume(target_mob, user)) return diff --git a/code/modules/reagents/withdrawal/generic_addictions.dm b/code/modules/reagents/withdrawal/generic_addictions.dm index 9e79ec350fec39..8c048e52b0ae8d 100644 --- a/code/modules/reagents/withdrawal/generic_addictions.dm +++ b/code/modules/reagents/withdrawal/generic_addictions.dm @@ -112,9 +112,12 @@ affected_human.facial_hairstyle = "Beard (Full)" affected_human.update_body_parts() //Only like gross food - affected_human.dna?.species.liked_food = GROSS - affected_human.dna?.species.disliked_food = TOXIC // Toxic food won't kill you, but it doesn't taste good still. - affected_human.dna?.species.toxic_food = ~(GROSS | RAW | GORE | MEAT | BUGS | TOXIC | ALCOHOL) // Monke, you can eat raw rats and whatnot. + var/obj/item/organ/internal/tongue/tongue = affected_carbon.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!tongue) + return + tongue.liked_foodtypes = GROSS + tongue.disliked_foodtypes = TOXIC + tongue.toxic_foodtypes = ~(GROSS | RAW | GORE | MEAT | BUGS | TOXIC | ALCOHOL) /datum/addiction/maintenance_drugs/withdrawal_enters_stage_3(mob/living/carbon/affected_carbon) . = ..() @@ -146,12 +149,15 @@ if(!ishuman(affected_carbon)) return var/mob/living/carbon/human/affected_human = affected_carbon - affected_human.dna?.species.liked_food = initial(affected_human.dna?.species.liked_food) - affected_human.dna?.species.disliked_food = initial(affected_human.dna?.species.disliked_food) - affected_human.dna?.species.toxic_food = initial(affected_human.dna?.species.toxic_food) + //restore tongue's tastes + var/obj/item/organ/internal/tongue/tongue = affected_carbon.get_organ_slot(ORGAN_SLOT_TONGUE) + if(tongue) + tongue.liked_foodtypes = initial(tongue.liked_foodtypes) + tongue.disliked_foodtypes = initial(tongue.disliked_foodtypes) + tongue.toxic_foodtypes = initial(tongue.toxic_foodtypes) REMOVE_TRAIT(affected_human, TRAIT_NIGHT_VISION, "maint_drug_addiction") var/obj/item/organ/internal/eyes/eyes = affected_human.get_organ_by_type(/obj/item/organ/internal/eyes) - eyes.refresh() + eyes?.refresh() ///Makes you a hypochondriac - I'd like to call it hypochondria, but "I could use some hypochondria" doesn't work /datum/addiction/medicine diff --git a/code/modules/religion/pyre_rites.dm b/code/modules/religion/pyre_rites.dm index 28ef53968f9ca3..2a2b3c606ff81b 100644 --- a/code/modules/religion/pyre_rites.dm +++ b/code/modules/religion/pyre_rites.dm @@ -3,7 +3,6 @@ /datum/religion_rites/fireproof/proc/apply_fireproof(obj/item/clothing/fireproofed) fireproofed.name = "unmelting [fireproofed.name]" fireproofed.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - fireproofed.heat_protection = chosen_clothing.body_parts_covered fireproofed.resistance_flags |= FIRE_PROOF /datum/religion_rites/fireproof diff --git a/code/modules/research/designs/limbgrower_designs.dm b/code/modules/research/designs/limbgrower_designs.dm index f52621b09c828f..916e8bf0467b67 100644 --- a/code/modules/research/designs/limbgrower_designs.dm +++ b/code/modules/research/designs/limbgrower_designs.dm @@ -162,7 +162,7 @@ id = "plasmamanliver" build_type = LIMBGROWER reagents_list = list(/datum/reagent/medicine/c2/synthflesh = 10, /datum/reagent/toxin/plasma = 20) - build_path = /obj/item/organ/internal/liver/plasmaman + build_path = /obj/item/organ/internal/liver/bone/plasmaman category = list(SPECIES_PLASMAMAN) /datum/design/plasmaman_stomach diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 423afdaeb93867..110c6740857600 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -425,6 +425,8 @@ "defibrillator", "genescanner", "healthanalyzer", + "scanning_pad", + "vitals_monitor", "antibodyscanner", "med_spray_bottle", "medical_kiosk", @@ -437,6 +439,9 @@ "diseaseanalyzer", "centrifuge", "path_data", + "heat_pack", + "cold_pack", + "medical_crutch", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) discount_experiments = list(/datum/experiment/dissection/human = 1000) @@ -448,6 +453,7 @@ prereq_ids = list("biotech") design_ids = list( "crewpinpointer", + "vitals_monitor_advanced", "defibrillator_compact", "harvester", "healthanalyzer_advanced", diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm index 1e6205dc80393c..08c80609d7e477 100644 --- a/code/modules/research/xenobiology/crossbreeding/_potions.dm +++ b/code/modules/research/xenobiology/crossbreeding/_potions.dm @@ -129,7 +129,6 @@ Slimecrossing Potions C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) C.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - C.cold_protection = C.body_parts_covered C.clothing_flags |= STOPSPRESSUREDAMAGE uses-- if(!uses) diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 6c91d1a863d6cd..67c92ea362ca12 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -213,13 +213,12 @@ return ..() /datum/status_effect/bonechill/tick() - if(prob(50)) - owner.adjustFireLoss(1) - owner.set_jitter_if_lower(6 SECONDS) - owner.adjust_bodytemperature(-10) - if(ishuman(owner)) - var/mob/living/carbon/human/humi = owner - humi.adjust_coretemperature(-10) + if(!prob(50)) + return + + owner.adjustFireLoss(1) + owner.set_jitter_if_lower(6 SECONDS) + owner.adjust_bodytemperature(-1 KELVIN) /datum/status_effect/bonechill/on_remove() owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/bonechill) @@ -234,7 +233,7 @@ alert_type = null /datum/status_effect/rebreathing/tick() - owner.adjustOxyLoss(-6, 0) //Just a bit more than normal breathing. + owner.adjustOxyLoss(-6) //Just a bit more than normal breathing. /////////////////////////////////////////////////////// //////////////////CONSUMING EXTRACTS/////////////////// @@ -247,12 +246,12 @@ duration = 100 /datum/status_effect/firecookie/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") - owner.adjust_bodytemperature(110) + ADD_TRAIT(owner, TRAIT_RESISTCOLD, id) + owner.adjust_bodytemperature(20 KELVIN) return ..() /datum/status_effect/firecookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") + REMOVE_TRAIT(owner, TRAIT_RESISTCOLD, id) /datum/status_effect/watercookie id = "watercookie" @@ -488,21 +487,12 @@ colour = "orange" /datum/status_effect/stabilized/orange/tick() - var/body_temp_target = owner.get_body_temp_normal(apply_change = FALSE) + owner.update_homeostasis_level(id, owner.standard_body_temperature, 0.5 KELVIN) - var/body_temp_actual = owner.bodytemperature - var/body_temp_offset = body_temp_target - body_temp_actual - body_temp_offset = clamp(body_temp_offset, -5, 5) - owner.adjust_bodytemperature(body_temp_offset) - if(ishuman(owner)) - var/mob/living/carbon/human/human = owner - var/core_temp_actual = human.coretemperature - var/core_temp_offset = body_temp_target - core_temp_actual - core_temp_offset = clamp(core_temp_offset, -5, 5) - human.adjust_coretemperature(core_temp_offset) - - return ..() +/datum/status_effect/stabilized/orange/on_remove() + . = ..() + owner.remove_homeostasis_level(id) /datum/status_effect/stabilized/purple id = "stabilizedpurple" diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 4ccc9567271a53..d33c314d627788 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -70,9 +70,10 @@ Burning extracts: for(var/turf/open/T in range(3, get_turf(user))) T.MakeSlippery(TURF_WET_PERMAFROST, min_wet_time = 10, wet_time_to_add = 5) for(var/mob/living/carbon/M in range(5, get_turf(user))) - if(M != user) - M.bodytemperature = BODYTEMP_COLD_DAMAGE_LIMIT + 10 //Not quite cold enough to hurt. - to_chat(M, span_danger("You feel a chill run down your spine, and the floor feels a bit slippery with frost...")) + if(M == user) + continue + M.adjust_bodytemperature(-INFINITY, min_temp = M.bodytemp_cold_damage_limit + 5 KELVIN) + to_chat(M, span_danger("You feel a chill run down your spine, and the floor feels a bit slippery with frost...")) ..() /obj/item/slimecross/burning/metal diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 98821ff7176fef..787af81957716a 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -133,7 +133,6 @@ Regenerative extracts: C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) C.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - C.heat_protection = C.body_parts_covered C.resistance_flags |= FIRE_PROOF /obj/item/slimecross/regenerative/silver diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index edc0b131365349..2e9610dba09944 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -596,8 +596,8 @@ /obj/item/slime_extract/rainbow/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - user.dna.features["mcolor"] = "#[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]" - user.dna.update_uf_block(DNA_MUTANT_COLOR_BLOCK) + var/datum/color_palette/generic_colors/located = user.dna.color_palettes[/datum/color_palette/generic_colors] + located.mutant_color = "#[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]" user.updateappearance(mutcolor_update=1) species.update_glow(user) to_chat(user, span_notice("You feel different...")) @@ -927,7 +927,6 @@ clothing.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) clothing.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) clothing.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - clothing.heat_protection = clothing.body_parts_covered clothing.resistance_flags |= FIRE_PROOF uses -- if(!uses) diff --git a/code/modules/spells/spell_types/jaunt/bloodcrawl.dm b/code/modules/spells/spell_types/jaunt/bloodcrawl.dm index 836bfd98dca435..0afb2195315270 100644 --- a/code/modules/spells/spell_types/jaunt/bloodcrawl.dm +++ b/code/modules/spells/spell_types/jaunt/bloodcrawl.dm @@ -144,7 +144,7 @@ // Make the mob have the color of the blood pool it came out of var/obj/effect/decal/cleanable/came_from = locate() in landing_turf - var/new_color = came_from?.get_blood_color() + var/new_color = came_from?.get_blood_dna_color() if(!new_color) return diff --git a/code/modules/spells/spell_types/pointed/abyssal_gaze.dm b/code/modules/spells/spell_types/pointed/abyssal_gaze.dm index a7336ef7834aa8..7a1d1327576075 100644 --- a/code/modules/spells/spell_types/pointed/abyssal_gaze.dm +++ b/code/modules/spells/spell_types/pointed/abyssal_gaze.dm @@ -21,7 +21,7 @@ /// The duration of the blind on our target var/blind_duration = 4 SECONDS /// The amount of temperature we take from our target - var/amount_to_cool = 200 + var/amount_to_cool = CELCIUS_TO_KELVIN(10 CELCIUS) /datum/action/cooldown/spell/pointed/abyssal_gaze/is_valid_target(atom/cast_on) return iscarbon(cast_on) @@ -37,7 +37,4 @@ cast_on.playsound_local(get_turf(cast_on), 'sound/hallucinations/i_see_you1.ogg', 50, 1) owner.playsound_local(get_turf(owner), 'sound/effects/ghost2.ogg', 50, 1) cast_on.adjust_temp_blindness(blind_duration) - if(ishuman(cast_on)) - var/mob/living/carbon/human/human_cast_on = cast_on - human_cast_on.adjust_coretemperature(-amount_to_cool) cast_on.adjust_bodytemperature(-amount_to_cool) diff --git a/code/modules/spells/spell_types/self/mutate.dm b/code/modules/spells/spell_types/self/mutate.dm index 59f8f6ddc37fac..6f5040c6b5e77b 100644 --- a/code/modules/spells/spell_types/self/mutate.dm +++ b/code/modules/spells/spell_types/self/mutate.dm @@ -51,8 +51,8 @@ /datum/action/cooldown/spell/apply_mutations/mutate/cast(mob/living/carbon/human/cast_on) ..() - /*if(HAS_TRAIT(cast_on, TRAIT_USES_SKINTONES) || HAS_TRAIT(cast_on, TRAIT_MUTANT_COLORS)) - return*/ //monkestation temp removal, we dont have this refactor yet + if(HAS_TRAIT(cast_on, TRAIT_USES_SKINTONES) || HAS_TRAIT(cast_on, TRAIT_MUTANT_COLORS)) + return//monkestation temp removal, we dont have this refactor yet // Our caster has a species that doesn't greenify when hulked, so we will do it manually. cast_on.add_atom_colour("#00FF00", TEMPORARY_COLOUR_PRIORITY) diff --git a/code/modules/surgery/bodyparts/_arms.dm b/code/modules/surgery/bodyparts/_arms.dm new file mode 100644 index 00000000000000..7678a8e9e1c94a --- /dev/null +++ b/code/modules/surgery/bodyparts/_arms.dm @@ -0,0 +1,181 @@ +/// Parent Type for arms, should not appear in game. +/obj/item/bodypart/arm + name = "arm" + desc = "Hey buddy give me a HAND and report this to the github because you shouldn't be seeing this." + attack_verb_continuous = list("slaps", "punches") + attack_verb_simple = list("slap", "punch") + max_damage = 50 + aux_layer = BODYPARTS_HIGH_LAYER + body_damage_coeff = 0.75 + can_be_disabled = TRUE + unarmed_attack_verb = "punch" /// The classic punch, wonderfully classic and completely random + unarmed_damage_low = 5 + unarmed_damage_high = 5 + unarmed_stun_threshold = 10 + body_zone = BODY_ZONE_L_ARM + + biological_state = BIO_STANDARD_JOINTED + /// Basically, bodypart traits that ONLY apply when this arm is the active hand of the mob + var/list/hand_traits + +/obj/item/bodypart/arm/Destroy() + return ..() + +/obj/item/bodypart/arm/Destroy() + return ..() + +/obj/item/bodypart/arm/set_owner(new_owner) + . = ..() + if(. == FALSE) + return + + if(owner) + RegisterSignal(owner, COMSIG_MOB_SWAP_HANDS, PROC_REF(on_swap_hands)) + on_swap_hands(owner) + + if(.) + var/mob/living/carbon/old_owner = . + UnregisterSignal(old_owner, COMSIG_MOB_SWAP_HANDS) + on_inactive_hand(old_owner) + +/obj/item/bodypart/arm/set_disabled(new_disabled) + . = ..() + if(isnull(.) || !owner) + return + + if(!.) + if(bodypart_disabled) + owner.set_usable_hands(owner.usable_hands - 1) + if(owner.stat < UNCONSCIOUS) + to_chat(owner, span_userdanger("You lose control of your [name]!")) + if(held_index) + owner.dropItemToGround(owner.get_item_for_held_index(held_index)) + else if(!bodypart_disabled) + owner.set_usable_hands(owner.usable_hands + 1) + + if(owner.hud_used) + var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] + hand_screen_object?.update_appearance() + +/obj/item/bodypart/arm/proc/on_swap_hands(mob/living/carbon/source) + SIGNAL_HANDLER + if(!length(hand_traits)) + return + if(source.get_active_hand() == src) + on_active_hand(source) + else + on_inactive_hand(source) + +/obj/item/bodypart/arm/proc/on_active_hand(mob/living/carbon/source) + SHOULD_CALL_PARENT(TRUE) + if(!length(hand_traits)) + return + source.add_traits(hand_traits, REF(src)) + +/obj/item/bodypart/arm/proc/on_inactive_hand(mob/living/carbon/source) + SHOULD_CALL_PARENT(TRUE) + if(!length(hand_traits)) + return + source.remove_traits(hand_traits, REF(src)) + +/obj/item/bodypart/arm/left + name = "left arm" + desc = "Did you know that the word 'sinister' stems originally from the \ + Latin 'sinestra' (left hand), because the left hand was supposed to \ + be possessed by the devil? This arm appears to be possessed by no \ + one though." + icon_state = "default_human_l_arm" + body_zone = BODY_ZONE_L_ARM + body_part = ARM_LEFT + plaintext_zone = "left arm" + aux_zone = BODY_ZONE_PRECISE_L_HAND + held_index = 1 + px_x = -6 + px_y = 0 + bodypart_trait_source = LEFT_ARM_TRAIT + +/obj/item/bodypart/arm/left/set_owner(new_owner) + . = ..() + if(. == FALSE) + return + + if(owner) + if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) + else + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) + if(.) + var/mob/living/carbon/old_owner = . + if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_L_ARM)) + UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM)) + if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + else + UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM)) + +///Proc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait. +/obj/item/bodypart/arm/left/proc/on_owner_paralysis_gain(mob/living/carbon/source) + SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) + + +///Proc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait. +/obj/item/bodypart/arm/left/proc/on_owner_paralysis_loss(mob/living/carbon/source) + SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) + +/obj/item/bodypart/arm/right + name = "right arm" + desc = "Over 87% of humans are right handed. That figure is much lower \ + among humans missing their right arm." + body_zone = BODY_ZONE_R_ARM + body_part = ARM_RIGHT + icon_state = "default_human_r_arm" + plaintext_zone = "right arm" + aux_zone = BODY_ZONE_PRECISE_R_HAND + held_index = 2 + px_x = 6 + px_y = 0 + bodypart_trait_source = RIGHT_ARM_TRAIT + +/obj/item/bodypart/arm/right/set_owner(new_owner) + . = ..() + if(. == FALSE) + return + + if(owner) + if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) + else + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) + if(.) + var/mob/living/carbon/old_owner = . + if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_R_ARM)) + UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM)) + if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + else + UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM)) + +///Proc to react to the owner gaining the TRAIT_PARALYSIS_R_ARM trait. +/obj/item/bodypart/arm/right/proc/on_owner_paralysis_gain(mob/living/carbon/source) + SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) + + +///Proc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait. +/obj/item/bodypart/arm/right/proc/on_owner_paralysis_loss(mob/living/carbon/source) + SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 5178752d63af8b..b40f7348c04115 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -66,6 +66,8 @@ var/list/embedded_objects = list() /// are we a hand? if so, which one! var/held_index = 0 + /// A speed modifier we apply to the owner when attached, if any. Positive numbers make it move slower, negative numbers make it move faster. + var/speed_modifier = 0 // Limb disabling variables ///Controls if the limb is disabled. TRUE means it is disabled (similar to being removed, but still present for the sake of targeted interactions). @@ -105,16 +107,12 @@ var/should_draw_greyscale = TRUE ///An "override" color that can be applied to ANY limb, greyscale or not. var/variable_color = "" + /// Color of the damage overlay + var/damage_color = COLOR_BLOOD var/px_x = 0 var/px_y = 0 - /** - * A copy of the original owner's species datum species_traits list (very hacky) - * It sucks that we have to do this, but due to MUTCOLORS and others, we have to. For now. - */ - - var/species_flags_list = list() ///the type of damage overlay (if any) to use when this bodypart is bruised/burned. var/dmg_overlay_type = "human" /// If we're bleeding, which icon are we displaying on this part @@ -200,6 +198,14 @@ /// If false, no wound that can be applied to us can mangle our interior. Used for determining if we should use [hp_percent_to_dismemberable] instead of normal dismemberment. var/any_existing_wound_can_mangle_our_interior + ///an assoc list of type to % for limbs that share id's useful for traits or components we want to add that should require more than 1 limb being added + var/list/composition_effects + ///a list of different limb_ids that we share composition with + var/list/shared_composition + ///this is our color palette we pull colors from + var/datum/color_palette/palette + var/palette_key + /obj/item/bodypart/apply_fantasy_bonuses(bonus) . = ..() unarmed_damage_low = modify_fantasy_variable("unarmed_damage_low", unarmed_damage_low, bonus, minimum = 1) @@ -332,18 +338,12 @@ else is_disabled += " and" - check_list += "\t Your [name][is_disabled][self_aware ? " has " : " is "][status]." + check_list += "\tYour [name][is_disabled][self_aware ? " has " : " is "][status]." for(var/datum/wound/wound as anything in wounds) - switch(wound.severity) - if(WOUND_SEVERITY_TRIVIAL) - check_list += "\t [span_danger("Your [name] is suffering [wound.a_or_from] [lowertext(wound.name)].")]" - if(WOUND_SEVERITY_MODERATE) - check_list += "\t [span_warning("Your [name] is suffering [wound.a_or_from] [lowertext(wound.name)]!")]" - if(WOUND_SEVERITY_SEVERE) - check_list += "\t [span_boldwarning("Your [name] is suffering [wound.a_or_from] [lowertext(wound.name)]!!")]" - if(WOUND_SEVERITY_CRITICAL) - check_list += "\t [span_boldwarning("Your [name] is suffering [wound.a_or_from] [lowertext(wound.name)]!!!")]" + var/wound_desc = wound.get_self_check_description(src, examiner) + if(wound_desc) + check_list += "\t\t[wound_desc]" for(var/obj/item/embedded_thing in embedded_objects) var/stuck_word = embedded_thing.isEmbedHarmless() ? "stuck" : "embedded" @@ -401,6 +401,9 @@ pixel_x = rand(-3, 3) pixel_y = rand(-3, 3) +/obj/item/bodypart/drop_location() + return ..() || owner?.drop_location() + //empties the bodypart from its organs and other things inside it /obj/item/bodypart/proc/drop_organs(mob/user, violent_removal) SHOULD_CALL_PARENT(TRUE) @@ -650,7 +653,7 @@ if(burn) set_burn_dam(round(max(burn_dam - burn, 0), DAMAGE_PRECISION)) - if(owner.dna && owner.dna.species && (REVIVESBYHEALING in owner.dna.species.species_traits)) + if(HAS_TRAIT(owner, TRAIT_REVIVES_BY_HEALING)) if(owner.health > 0) owner.revive(0) owner.cure_husk(0) // If it has REVIVESBYHEALING, it probably can't be cloned. No husk cure. @@ -761,6 +764,10 @@ owner = new_owner var/needs_update_disabled = FALSE //Only really relevant if there's an owner if(old_owner) + if(length(bodypart_traits)) + old_owner.remove_traits(bodypart_traits, bodypart_trait_source) + if(speed_modifier) + old_owner.update_bodypart_speed_modifier() if(initial(can_be_disabled)) if(HAS_TRAIT(old_owner, TRAIT_NOLIMBDISABLE)) if(!owner || !HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) @@ -773,7 +780,13 @@ SIGNAL_ADDTRAIT(TRAIT_NOBLOOD), )) UnregisterSignal(old_owner, COMSIG_ATOM_RESTYLE) + UnregisterSignal(old_owner, list(COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB)) + check_removal_composition(old_owner) if(owner) + if(length(bodypart_traits)) + owner.add_traits(bodypart_traits, bodypart_trait_source) + if(speed_modifier) + owner.update_bodypart_speed_modifier() if(initial(can_be_disabled)) if(HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) set_can_be_disabled(FALSE) @@ -783,11 +796,13 @@ // Bleeding stuff RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_NOBLOOD), PROC_REF(on_owner_nobleed_loss)) RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_NOBLOOD), PROC_REF(on_owner_nobleed_gain)) + RegisterSignals(owner, list(COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB), PROC_REF(reassess_body_composition)) if(needs_update_disabled) update_disabled() RegisterSignal(owner, COMSIG_ATOM_RESTYLE, PROC_REF(on_attempt_feature_restyle_mob)) + check_adding_composition(owner) refresh_bleed_rate() return old_owner @@ -797,6 +812,7 @@ return owner.remove_traits(bodypart_traits, bodypart_trait_source) + check_removal_composition(owner) ///Proc to change the value of the `can_be_disabled` variable and react to the event of its change. /obj/item/bodypart/proc/set_can_be_disabled(new_can_be_disabled) @@ -893,32 +909,38 @@ else draw_color = null + damage_color = owner?.get_blood_type()?.color || COLOR_BLOOD + if(!is_creating || !owner) return // There should technically to be an ishuman(owner) check here, but it is absent because no basetype carbons use bodyparts // No, xenos don't actually use bodyparts. Don't ask. var/mob/living/carbon/human/human_owner = owner - var/datum/species/owner_species = human_owner.dna.species - species_flags_list = owner_species.species_traits.Copy() limb_gender = (human_owner.physique == MALE) ? "m" : "f" - - if(owner_species.use_skintones) + if(HAS_TRAIT(human_owner, TRAIT_USES_SKINTONES)) skin_tone = human_owner.skin_tone - else + else if(HAS_TRAIT(human_owner, TRAIT_MUTANT_COLORS)) skin_tone = "" - - if(((MUTCOLORS in owner_species.species_traits) || (DYNCOLORS in owner_species.species_traits) || (SPECIES_FUR in owner_species.species_traits))) //Ethereal code. Motherfuckers. - if(owner_species.fixed_mut_color) - species_color = owner_species.fixed_mut_color + if(palette) + var/datum/color_palette/located = human_owner.dna.color_palettes[palette] + if(!located) + species_color = initial(palette.default_color) + species_color = located.return_color(palette_key) else - species_color = human_owner.dna.features["mcolor"] + var/datum/species/owner_species = human_owner.dna.species + if(owner_species.fixed_mut_color) + species_color = owner_species.fixed_mut_color + else + if(should_draw_greyscale) + CRASH("Forgot to move something to new color_palette system [src]") else - species_color = null + skin_tone = "" + species_color = "" draw_color = variable_color if(should_draw_greyscale) //Should the limb be colored? - draw_color ||= (species_color) || (skin_tone && skintone2hex(skin_tone)) + draw_color ||= species_color || (skin_tone ? skintone2hex(skin_tone) : null) recolor_external_organs() return TRUE @@ -951,7 +973,9 @@ image_dir = SOUTH if(dmg_overlay_type) if(brutestate) - . += image('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_[brutestate]0", -DAMAGE_LAYER, image_dir) + var/image/bruteimage = image('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_[brutestate]0", -DAMAGE_LAYER, image_dir) + bruteimage.color = damage_color + . += bruteimage if(burnstate) . += image('icons/mob/effects/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_0[burnstate]", -DAMAGE_LAYER, image_dir) @@ -1327,3 +1351,66 @@ return "metal" return "error" + +/// Returns what message is displayed when the bodypart is on the cusp of being dismembered. +/obj/item/bodypart/proc/get_soon_dismember_message() + return ", threatening to sever it entirely" + +/obj/item/bodypart/chest/get_soon_dismember_message() + return ", threatening to split it open" // we don't sever, we dump organs when "dismembered" + +/obj/item/bodypart/head/get_soon_dismember_message() + return ", threatening to split it open" // we don't sever, we cranial fissure when "dismembered" // we also don't dismember i think + +/obj/item/bodypart/proc/return_compoostion_precent(mob/living/carbon/checker) + var/matching_ids = 0 + for(var/obj/item/bodypart/bodypart as anything in checker.bodyparts) + if((bodypart.limb_id != limb_id) && !(bodypart.limb_id in shared_composition)) + continue + matching_ids++ + + return matching_ids / TOTAL_BODYPART_COUNT + +/obj/item/bodypart/proc/check_removal_composition(mob/living/carbon/remover) + var/precent = return_compoostion_precent(remover) + + for(var/item as anything in composition_effects) + if(composition_effects[item] < precent) + continue + if(!ispath(item)) + REMOVE_TRAIT(remover, item, BODYPART_TRAIT) + else + if(ispath(item, /datum/component)) + var/datum/component/component = remover.GetComponent(item) + if(component) + qdel(component) + else if(ispath(item, /datum/element)) + if(!HasElement(remover, item)) + continue + remover.RemoveElement(item) + +/obj/item/bodypart/proc/check_adding_composition(mob/living/carbon/adder) + var/precent = return_compoostion_precent(adder) + + for(var/item as anything in composition_effects) + if(composition_effects[item] > precent) + continue + if(!ispath(item)) + if(HAS_TRAIT_FROM(adder, item, BODYPART_TRAIT)) + continue + ADD_TRAIT(adder, item, BODYPART_TRAIT) + else + if(ispath(item, /datum/component)) + if(adder.GetComponent(item)) + continue + adder.AddComponent(item) + else if(ispath(item, /datum/element)) + if(HasElement(adder, item)) + continue + adder.AddElement(item) + +/obj/item/bodypart/proc/reassess_body_composition(mob/living/carbon/adder) + SIGNAL_HANDLER + + check_removal_composition(adder) //remove first + check_adding_composition(adder) //then diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 6991a2bdd46ad9..bec42b32b08c2f 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -77,6 +77,8 @@ //limb is out and about, it can't really be considered an implant bodypart_flags &= ~BODYPART_IMPLANTED owner.remove_bodypart(src) + if(speed_modifier) + owner.update_bodypart_speed_modifier() for(var/datum/wound/wound as anything in wounds) wound.remove_wound(TRUE) @@ -253,6 +255,15 @@ arm_owner.dropItemToGround(arm_owner.gloves, TRUE, violent = violent) arm_owner.update_worn_gloves() //to remove the bloody hands overlay +/obj/item/bodypart/arm/try_attach_limb(mob/living/carbon/new_arm_owner, special = FALSE) + . = ..() + + if(!.) + return + + new_arm_owner.update_worn_gloves() + + /obj/item/bodypart/leg/drop_limb(special, dismembered, violent) if(owner && !special) if(owner.legcuffed) @@ -332,6 +343,9 @@ hand.update_appearance() new_limb_owner.update_worn_gloves() + if(speed_modifier) + new_limb_owner.update_bodypart_speed_modifier() + LAZYREMOVE(new_limb_owner.body_zone_dismembered_by, body_zone) if(special) //non conventional limb attachment diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 5004377976545b..bfcbb0b7062add 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -16,6 +16,8 @@ ///The bodytype(s) allowed to attach to this chest. var/acceptable_bodytype = BODYTYPE_HUMANOID + var/icon/ass_image + var/list/wing_types = list(/obj/item/organ/external/wings/functional/angel) var/obj/item/cavity_item /obj/item/bodypart/chest/can_dismember(obj/item/item) @@ -72,101 +74,6 @@ bodytype = BODYTYPE_LARVA_PLACEHOLDER | BODYTYPE_ORGANIC acceptable_bodytype = BODYTYPE_LARVA_PLACEHOLDER -/// Parent Type for arms, should not appear in game. -/obj/item/bodypart/arm - name = "arm" - desc = "Hey buddy give me a HAND and report this to the github because you shouldn't be seeing this." - attack_verb_continuous = list("slaps", "punches") - attack_verb_simple = list("slap", "punch") - max_damage = 50 - aux_layer = BODYPARTS_HIGH_LAYER - body_damage_coeff = 0.75 - can_be_disabled = TRUE - unarmed_attack_verb = "punch" /// The classic punch, wonderfully classic and completely random - unarmed_damage_low = 5 - unarmed_damage_high = 5 - unarmed_stun_threshold = 10 - body_zone = BODY_ZONE_L_ARM - - biological_state = BIO_STANDARD_JOINTED - -/obj/item/bodypart/arm/Destroy() - return ..() - -/obj/item/bodypart/arm/left - name = "left arm" - desc = "Did you know that the word 'sinister' stems originally from the \ - Latin 'sinestra' (left hand), because the left hand was supposed to \ - be possessed by the devil? This arm appears to be possessed by no \ - one though." - icon_state = "default_human_l_arm" - body_zone = BODY_ZONE_L_ARM - body_part = ARM_LEFT - plaintext_zone = "left arm" - aux_zone = BODY_ZONE_PRECISE_L_HAND - held_index = 1 - px_x = -6 - px_y = 0 - bodypart_trait_source = LEFT_ARM_TRAIT - - -/obj/item/bodypart/arm/left/set_owner(new_owner) - . = ..() - if(. == FALSE) - return - if(owner) - if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) - ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) - else - REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) - if(.) - var/mob/living/carbon/old_owner = . - if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_L_ARM)) - UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM)) - if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) - REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) - else - UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM)) - - -///Proc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait. -/obj/item/bodypart/arm/left/proc/on_owner_paralysis_gain(mob/living/carbon/source) - SIGNAL_HANDLER - ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) - UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM)) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) - - -///Proc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait. -/obj/item/bodypart/arm/left/proc/on_owner_paralysis_loss(mob/living/carbon/source) - SIGNAL_HANDLER - REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) - UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM)) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) - - -/obj/item/bodypart/arm/left/set_disabled(new_disabled) - . = ..() - if(isnull(.) || !owner) - return - - if(!.) - if(bodypart_disabled) - owner.set_usable_hands(owner.usable_hands - 1) - if(owner.stat < UNCONSCIOUS) - to_chat(owner, span_userdanger("You lose control of your [name]!")) - if(held_index) - owner.dropItemToGround(owner.get_item_for_held_index(held_index)) - else if(!bodypart_disabled) - owner.set_usable_hands(owner.usable_hands + 1) - - if(owner.hud_used) - var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] - hand_screen_object?.update_appearance() - - /obj/item/bodypart/arm/left/monkey icon = 'icons/mob/species/monkey/bodyparts.dmi' icon_static = 'icons/mob/species/monkey/bodyparts.dmi' @@ -198,78 +105,6 @@ should_draw_greyscale = FALSE -/obj/item/bodypart/arm/right - name = "right arm" - desc = "Over 87% of humans are right handed. That figure is much lower \ - among humans missing their right arm." - body_zone = BODY_ZONE_R_ARM - body_part = ARM_RIGHT - icon_state = "default_human_r_arm" - plaintext_zone = "right arm" - aux_zone = BODY_ZONE_PRECISE_R_HAND - aux_layer = BODYPARTS_HIGH_LAYER - held_index = 2 - px_x = 6 - px_y = 0 - bodypart_trait_source = RIGHT_ARM_TRAIT - -/obj/item/bodypart/arm/right/set_owner(new_owner) - . = ..() - if(. == FALSE) - return - if(owner) - if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) - ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) - else - REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) - if(.) - var/mob/living/carbon/old_owner = . - if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_R_ARM)) - UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM)) - if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) - REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) - else - UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM)) - - -///Proc to react to the owner gaining the TRAIT_PARALYSIS_R_ARM trait. -/obj/item/bodypart/arm/right/proc/on_owner_paralysis_gain(mob/living/carbon/source) - SIGNAL_HANDLER - ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) - UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM)) - RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) - - -///Proc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait. -/obj/item/bodypart/arm/right/proc/on_owner_paralysis_loss(mob/living/carbon/source) - SIGNAL_HANDLER - REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) - UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM)) - RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) - - -/obj/item/bodypart/arm/right/set_disabled(new_disabled) - . = ..() - if(isnull(.) || !owner) - return - - if(!.) - if(bodypart_disabled) - owner.set_usable_hands(owner.usable_hands - 1) - if(owner.stat < UNCONSCIOUS) - to_chat(owner, span_userdanger("You lose control of your [name]!")) - if(held_index) - owner.dropItemToGround(owner.get_item_for_held_index(held_index)) - else if(!bodypart_disabled) - owner.set_usable_hands(owner.usable_hands + 1) - - if(owner.hud_used) - var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] - hand_screen_object?.update_appearance() - - /obj/item/bodypart/arm/right/monkey icon = 'icons/mob/species/monkey/bodyparts.dmi' icon_static = 'icons/mob/species/monkey/bodyparts.dmi' @@ -325,6 +160,8 @@ var/old_limb_id /// Used by the bloodysoles component to make footprints var/footprint_sprite = FOOTPRINT_SPRITE_SHOES + ///our step sound + var/list/step_sounds biological_state = BIO_STANDARD_JOINTED /obj/item/bodypart/leg/Destroy() diff --git a/code/modules/surgery/bodyparts/species_parts/android_parts.dm b/code/modules/surgery/bodyparts/species_parts/android_parts.dm index b7a1f55bf43f9e..6f7700c266f34d 100644 --- a/code/modules/surgery/bodyparts/species_parts/android_parts.dm +++ b/code/modules/surgery/bodyparts/species_parts/android_parts.dm @@ -10,6 +10,8 @@ /obj/item/bodypart/chest/robot/android change_exempt_flags = null + bodypart_traits = list(TRAIT_LIMBATTACHMENT) + wing_types = list(/obj/item/organ/external/wings/functional/robotic) /obj/item/bodypart/arm/left/robot/android change_exempt_flags = null @@ -19,6 +21,8 @@ /obj/item/bodypart/leg/left/robot/android change_exempt_flags = null + step_sounds = list('sound/effects/servostep.ogg') /obj/item/bodypart/leg/right/robot/android change_exempt_flags = null + step_sounds = list('sound/effects/servostep.ogg') diff --git a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm index 06db450e5dd2d5..9d524cd75c2f62 100644 --- a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm @@ -6,6 +6,8 @@ attack_type = BURN // bish buzz unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /obj/item/bodypart/head/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -20,6 +22,8 @@ limb_id = SPECIES_ETHEREAL is_dimorphic = FALSE dmg_overlay_type = null + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /obj/item/bodypart/chest/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -36,6 +40,8 @@ unarmed_attack_verb = "burn" unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /obj/item/bodypart/arm/left/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -52,6 +58,8 @@ unarmed_attack_verb = "burn" unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /obj/item/bodypart/arm/right/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -68,6 +76,8 @@ attack_type = BURN // bish buzz unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /obj/item/bodypart/leg/left/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -83,6 +93,8 @@ attack_type = BURN // bish buzz unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /obj/item/bodypart/leg/right/ethereal/update_limb(dropping_limb, is_creating) . = ..() diff --git a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm index 1b496fc3bd7455..d8ded87d42a0cc 100644 --- a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm @@ -3,11 +3,19 @@ limb_id = SPECIES_LIZARD is_dimorphic = FALSE head_flags = HEAD_HAIR| HEAD_EYESPRITES | HEAD_EYEHOLES | HEAD_DEBRAIN | HEAD_EYECOLOR + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/lizard icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' limb_id = SPECIES_LIZARD is_dimorphic = FALSE + ass_image = 'icons/ass/asslizard.png' + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) + wing_types = list(/obj/item/organ/external/wings/functional/dragon) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/lizard icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' @@ -16,6 +24,9 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slash.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/lizard icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' @@ -24,12 +35,15 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slash.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/lizard/ashwalker - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS) /obj/item/bodypart/arm/right/lizard/ashwalker - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS) /obj/item/bodypart/leg/left/lizard icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' @@ -37,6 +51,15 @@ can_be_digitigrade = TRUE digitigrade_id = "digitigrade" footprint_sprite = FOOTPRINT_SPRITE_CLAWS + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR + step_sounds = list( + 'sound/effects/footstep/hardclaw1.ogg', + 'sound/effects/footstep/hardclaw2.ogg', + 'sound/effects/footstep/hardclaw3.ogg', + 'sound/effects/footstep/hardclaw4.ogg', + ) /obj/item/bodypart/leg/right/lizard icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' @@ -44,3 +67,18 @@ can_be_digitigrade = TRUE digitigrade_id = "digitigrade" footprint_sprite = FOOTPRINT_SPRITE_CLAWS + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR + step_sounds = list( + 'sound/effects/footstep/hardclaw1.ogg', + 'sound/effects/footstep/hardclaw2.ogg', + 'sound/effects/footstep/hardclaw3.ogg', + 'sound/effects/footstep/hardclaw4.ogg', + ) + +/obj/item/bodypart/leg/right/lizard/ashwalker + bodypart_traits = list(TRAIT_HARD_SOLES) + +/obj/item/bodypart/leg/left/lizard/ashwalker + bodypart_traits = list(TRAIT_HARD_SOLES) diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index 3522df549ea8c7..31c7a40e6cad4c 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -3,29 +3,58 @@ limb_id = SPECIES_SNAIL is_dimorphic = FALSE head_flags = HEAD_EYESPRITES|HEAD_DEBRAIN + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/snail limb_id = SPECIES_SNAIL is_dimorphic = FALSE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/snail limb_id = SPECIES_SNAIL unarmed_attack_verb = "slap" unarmed_attack_effect = ATTACK_EFFECT_DISARM unarmed_damage_high = 0.5 //snails are soft and squishy + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/snail limb_id = SPECIES_SNAIL unarmed_attack_verb = "slap" unarmed_attack_effect = ATTACK_EFFECT_DISARM unarmed_damage_high = 0.5 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/snail limb_id = SPECIES_SNAIL unarmed_damage_high = 0.5 + speed_modifier = 3 //disgustingly slow + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR + /obj/item/bodypart/leg/right/snail limb_id = SPECIES_SNAIL unarmed_damage_high = 0.5 + speed_modifier = 3 //disgustingly slow + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR + +/obj/item/bodypart/leg/left/zombie/infectious + limb_id = SPECIES_ZOMBIE + should_draw_greyscale = FALSE + speed_modifier = 0.8 //braaaaains + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR + +/obj/item/bodypart/leg/right/zombie/infectious + limb_id = SPECIES_ZOMBIE + should_draw_greyscale = FALSE + speed_modifier = 0.8 //braaaaains + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR ///ABDUCTOR /obj/item/bodypart/head/abductor @@ -38,16 +67,17 @@ limb_id = SPECIES_ABDUCTOR is_dimorphic = FALSE should_draw_greyscale = FALSE + ass_image = 'icons/ass/assgrey.png' /obj/item/bodypart/arm/left/abductor limb_id = SPECIES_ABDUCTOR should_draw_greyscale = FALSE - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_CHUNKYFINGERS_IGNORE_BATON) /obj/item/bodypart/arm/right/abductor limb_id = SPECIES_ABDUCTOR should_draw_greyscale = FALSE - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_CHUNKYFINGERS_IGNORE_BATON) /obj/item/bodypart/leg/left/abductor limb_id = SPECIES_ABDUCTOR @@ -64,32 +94,52 @@ is_dimorphic = TRUE dmg_overlay_type = null head_flags = HEAD_ALL_FEATURES + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/jelly biological_state = (BIO_FLESH|BIO_BLOODED) limb_id = SPECIES_JELLYPERSON is_dimorphic = TRUE dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + ass_image = 'icons/ass/assslime.png' + wing_types = list(/obj/item/organ/external/wings/functional/slime) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/jelly biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/jelly biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/jelly biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/jelly biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR ///SLIME /obj/item/bodypart/head/slime @@ -97,54 +147,84 @@ limb_id = SPECIES_SLIMEPERSON is_dimorphic = FALSE head_flags = HEAD_ALL_FEATURES + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/slime biological_state = (BIO_FLESH|BIO_BLOODED) limb_id = SPECIES_SLIMEPERSON is_dimorphic = TRUE + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/slime biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_SLIMEPERSON + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/slime biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_SLIMEPERSON + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/slime biological_state = (BIO_FLESH|BIO_BLOODED) limb_id = SPECIES_SLIMEPERSON + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/slime biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_SLIMEPERSON + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR ///LUMINESCENT /obj/item/bodypart/head/luminescent biological_state = (BIO_FLESH|BIO_BLOODED) limb_id = SPECIES_LUMINESCENT is_dimorphic = TRUE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/luminescent biological_state = (BIO_FLESH|BIO_BLOODED) limb_id = SPECIES_LUMINESCENT is_dimorphic = TRUE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/luminescent biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_LUMINESCENT + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/luminescent biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_LUMINESCENT + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/luminescent biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_LUMINESCENT + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/luminescent biological_state = (BIO_FLESH|BIO_BLOODED|BIO_JOINTED) limb_id = SPECIES_LUMINESCENT + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR ///ZOMBIE /obj/item/bodypart/head/zombie @@ -152,36 +232,48 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE head_flags = HEAD_EYESPRITES | HEAD_DEBRAIN | HEAD_HAIR + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) /obj/item/bodypart/chest/zombie limb_id = SPECIES_ZOMBIE is_dimorphic = FALSE should_draw_greyscale = FALSE + bodypart_traits = list(TRAIT_LIMBATTACHMENT) + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) /obj/item/bodypart/arm/left/zombie limb_id = SPECIES_ZOMBIE should_draw_greyscale = FALSE + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) /obj/item/bodypart/arm/right/zombie limb_id = SPECIES_ZOMBIE should_draw_greyscale = FALSE + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) /obj/item/bodypart/leg/left/zombie limb_id = SPECIES_ZOMBIE should_draw_greyscale = FALSE + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) /obj/item/bodypart/leg/right/zombie limb_id = SPECIES_ZOMBIE should_draw_greyscale = FALSE + composition_effects = list(TRAIT_COLD_BLOODED = 0.5) ///PODPEOPLE /obj/item/bodypart/head/pod limb_id = SPECIES_PODPERSON is_dimorphic = TRUE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/pod limb_id = SPECIES_PODPERSON is_dimorphic = TRUE + ass_image = 'icons/ass/asspodperson.png' + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/pod limb_id = SPECIES_PODPERSON @@ -189,6 +281,9 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slice.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + hand_traits = list(TRAIT_PLANT_SAFE) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/pod limb_id = SPECIES_PODPERSON @@ -196,12 +291,19 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slice.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + hand_traits = list(TRAIT_PLANT_SAFE) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/pod limb_id = SPECIES_PODPERSON + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/pod limb_id = SPECIES_PODPERSON + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR ///FLY /obj/item/bodypart/head/fly @@ -214,6 +316,7 @@ limb_id = SPECIES_FLYPERSON is_dimorphic = TRUE should_draw_greyscale = FALSE + wing_types = list(/obj/item/organ/external/wings/functional/fly) /obj/item/bodypart/arm/left/fly limb_id = SPECIES_FLYPERSON @@ -260,10 +363,10 @@ should_draw_greyscale = FALSE /obj/item/bodypart/arm/left/shadow/nightmare - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS) /obj/item/bodypart/arm/right/shadow/nightmare - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS) ///SKELETON /obj/item/bodypart/head/skeleton @@ -280,6 +383,8 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE dmg_overlay_type = null + bodypart_traits = list(TRAIT_LIMBATTACHMENT) + wing_types = list(/obj/item/organ/external/wings/functional/skeleton) /obj/item/bodypart/arm/left/skeleton biological_state = (BIO_BONE|BIO_JOINTED) @@ -310,35 +415,49 @@ limb_id = SPECIES_MUSHROOM is_dimorphic = TRUE head_flags = NONE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/mushroom limb_id = SPECIES_MUSHROOM is_dimorphic = TRUE bodypart_traits = list(TRAIT_NO_JUMPSUIT) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 8 unarmed_damage_high = 8 unarmed_stun_threshold = 14 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 8 unarmed_damage_high = 8 unarmed_stun_threshold = 14 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 15 unarmed_damage_high = 15 unarmed_stun_threshold = 14 + speed_modifier = 0.75 //big fungus big fungus + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 15 unarmed_damage_high = 15 unarmed_stun_threshold = 14 + speed_modifier = 0.75 //big fungus big fungus + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR ///GOLEMS (i hate xenobio SO FUCKING MUCH) (from 2022: Yeah I fucking feel your pain brother) (2024: yeah this is shit) /obj/item/bodypart/head/golem @@ -363,7 +482,7 @@ bodytype = BODYTYPE_ORGANIC limb_id = SPECIES_GOLEM dmg_overlay_type = null - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS) unarmed_damage_low = 8 // I'd like to take the moment that maintaining all of these random ass golem speciese is hell and oranges was right unarmed_damage_high = 8 unarmed_stun_threshold = 11 @@ -384,7 +503,7 @@ bodytype = BODYTYPE_ORGANIC limb_id = SPECIES_GOLEM dmg_overlay_type = null - bodypart_traits = list(TRAIT_CHUNKYFINGERS) + hand_traits = list(TRAIT_CHUNKYFINGERS) unarmed_damage_low = 8 unarmed_damage_high = 8 unarmed_stun_threshold = 11 @@ -408,6 +527,7 @@ unarmed_damage_low = 11 unarmed_damage_high = 11 unarmed_stun_threshold = 11 + speed_modifier = 1.5 /obj/item/bodypart/leg/right/golem biological_state = (BIO_BONE|BIO_JOINTED) @@ -417,6 +537,7 @@ unarmed_damage_low = 11 unarmed_damage_high = 11 unarmed_stun_threshold = 11 + speed_modifier = 1.5 ///CULT GOLEM /obj/item/bodypart/head/golem/cult diff --git a/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm index f0fc78f83f0b4c..5c0de35b457142 100644 --- a/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm @@ -14,6 +14,7 @@ limb_id = SPECIES_MOTH is_dimorphic = TRUE should_draw_greyscale = FALSE + wing_types = list(/obj/item/organ/external/wings/functional/moth/megamoth, /obj/item/organ/external/wings/functional/moth/mothra) /obj/item/bodypart/arm/left/moth icon = 'icons/mob/species/moth/bodyparts.dmi' diff --git a/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm index fad07868ea0424..350a9ca5511824 100644 --- a/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm @@ -18,6 +18,7 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE dmg_overlay_type = null + ass_image = 'icons/ass/assplasma.png' /obj/item/bodypart/arm/left/plasmaman icon = 'icons/mob/species/plasmaman/bodyparts.dmi' diff --git a/code/modules/surgery/healing.dm b/code/modules/surgery/healing.dm index 8ff8a5d7899128..d0d21b82f4c1d2 100644 --- a/code/modules/surgery/healing.dm +++ b/code/modules/surgery/healing.dm @@ -159,7 +159,7 @@ var/estimated_remaining_steps = target.getBruteLoss() / brute_healed var/progress_text - if(locate(/obj/item/healthanalyzer) in user.held_items) + if(get_perfect_information(user, target)) progress_text = ". Remaining brute: [target.getBruteLoss()]" else switch(estimated_remaining_steps) @@ -224,7 +224,7 @@ var/estimated_remaining_steps = target.getFireLoss() / burn_healed var/progress_text - if(locate(/obj/item/healthanalyzer) in user.held_items) + if(get_perfect_information(user, target)) progress_text = ". Remaining burn: [target.getFireLoss()]" else switch(estimated_remaining_steps) @@ -292,7 +292,7 @@ var/progress_text - if(locate(/obj/item/healthanalyzer) in user.held_items) + if(get_perfect_information(user, target)) if(target.getBruteLoss()) progress_text = ". Remaining brute: [target.getBruteLoss()]" if(target.getFireLoss()) diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index 487ac25091eeed..61fe34778817b1 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -14,7 +14,7 @@ /datum/surgery_step/replace_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - if(NOAUGMENTS in target.dna.species.species_traits) + if(HAS_TRAIT(target, TRAIT_NO_AUGMENTS)) to_chat(user, span_warning("[target] cannot be augmented!")) return SURGERY_STEP_FAIL if(istype(tool, /obj/item/borg/apparatus/organ_storage) && istype(tool.contents[1], /obj/item/bodypart)) diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index b9c959bb7dfa39..51015e0692d8da 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -415,18 +415,34 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) replacement.set_organ_damage(damage) /// Called by medical scanners to get a simple summary of how healthy the organ is. Returns an empty string if things are fine. -/obj/item/organ/proc/get_status_text() - var/status = "" +/obj/item/organ/proc/get_status_text(advanced, add_tooltips) + if(organ_flags & ORGAN_FAILING) + . = "Non-Functional" + if(add_tooltips) + . = span_tooltip("Repair or replace surgically.", .) + return . + if(owner.has_reagent(/datum/reagent/inverse/technetium)) - status = " organ is [round((damage/maxHealth)*100, 1)]% damaged." - else if(organ_flags & ORGAN_FAILING) - status = "Non-Functional" - else if(damage > high_threshold) - status = "Severely Damaged" - else if (damage > low_threshold) - status = "Mildly Damaged" - - return status + return "[round((damage/maxHealth)*100, 1)]% damaged" + if(damage > high_threshold) + . = "Severely Damaged" + if(add_tooltips && owner.stat != DEAD) + . = span_tooltip("[healing_factor ? "Treat with rest or use specialty medication." : "Repair surgically or use specialty medication."]", .) + return . + if(damage > low_threshold) + . = "Mildly Damaged" + if(add_tooltips && owner.stat != DEAD) + . = span_tooltip("[healing_factor ? "Treat with rest." : "Use specialty medication."]", .) + return . + +/// Determines if this organ is shown when a user has condensed scans enabled +/obj/item/organ/proc/show_on_condensed_scans() + // We don't need to show *most* damaged organs as they have no effects associated + return (organ_flags & (ORGAN_FAILING|ORGAN_VITAL)) + +/// Similar to get_status_text, but appends the text after the damage report, for additional status info +/obj/item/organ/proc/get_status_appendix(advanced, add_tooltips) + return /// Tries to replace the existing organ on the passed mob with this one, with special handling for replacing a brain without ghosting target /obj/item/organ/proc/replace_into(mob/living/carbon/new_owner) diff --git a/code/modules/surgery/organs/appendix.dm b/code/modules/surgery/organs/appendix.dm index 3562f29890c392..3452e9a5954f9c 100644 --- a/code/modules/surgery/organs/appendix.dm +++ b/code/modules/surgery/organs/appendix.dm @@ -89,11 +89,13 @@ ADD_TRAIT(organ_owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) organ_owner.med_hud_set_status() -/obj/item/organ/internal/appendix/get_status_text() - if((!(organ_flags & ORGAN_FAILING)) && inflamation_stage) - return "Inflamed" - else - return ..() +/obj/item/organ/internal/appendix/get_status_text(advanced, add_tooltips) + if(!(organ_flags & ORGAN_FAILING) && inflamation_stage) + . = "Inflamed" + if(add_tooltips) + . = span_tooltip("Remove surgically.", .) + return . + return ..() #undef APPENDICITIS_PROB #undef INFLAMATION_ADVANCEMENT_PROB diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm index f191fb54d6897a..e0006710dcc36e 100644 --- a/code/modules/surgery/organs/ears.dm +++ b/code/modules/surgery/organs/ears.dm @@ -28,6 +28,21 @@ // Multiplier for both long term and short term ear damage var/damage_multiplier = 1 +/obj/item/organ/internal/ears/get_status_appendix(advanced, add_tooltips) + if(owner.stat == DEAD) + return + if(advanced) + if(HAS_TRAIT_FROM(owner, TRAIT_DEAF, GENETIC_MUTATION)) + return "Subject is genetically deaf." + if(HAS_TRAIT_FROM(owner, TRAIT_DEAF, EAR_DAMAGE)) + return "Subject is [(organ_flags & ORGAN_FAILING) ? "permanently": "temporarily"] deaf from ear damage." + if(HAS_TRAIT(owner, TRAIT_DEAF)) + return "Subject is deaf." + +/obj/item/organ/internal/ears/show_on_condensed_scans() + // Always show if we have an appendix + return ..() || (owner.stat != DEAD && HAS_TRAIT(owner, TRAIT_DEAF)) + /obj/item/organ/internal/ears/on_life(seconds_per_tick, times_fired) // only inform when things got worse, needs to happen before we heal if((damage > low_threshold && prev_damage < low_threshold) || (damage > high_threshold && prev_damage < high_threshold)) diff --git a/code/modules/surgery/organs/external/_external_organs.dm b/code/modules/surgery/organs/external/_external_organs.dm index ecc1259e00e62b..d3d3e6333e6f6b 100644 --- a/code/modules/surgery/organs/external/_external_organs.dm +++ b/code/modules/surgery/organs/external/_external_organs.dm @@ -284,7 +284,7 @@ /obj/item/organ/external/antennae/proc/try_burn_antennae(mob/living/carbon/human/human) SIGNAL_HANDLER - if(!burnt && human.bodytemperature >= 800 && human.fire_stacks > 0) //do not go into the extremely hot light. you will not survive + if(!burnt && human.get_skin_temperature() >= CELCIUS_TO_KELVIN(175 CELCIUS) && human.fire_stacks > 0) //do not go into the extremely hot light. you will not survive to_chat(human, span_danger("Your precious antennae burn to a crisp!")) burn_antennae() diff --git a/code/modules/surgery/organs/external/wings/functional_wings.dm b/code/modules/surgery/organs/external/wings/functional_wings.dm index a7c2f0b5258557..791eb4b06abb00 100644 --- a/code/modules/surgery/organs/external/wings/functional_wings.dm +++ b/code/modules/surgery/organs/external/wings/functional_wings.dm @@ -105,11 +105,13 @@ if(!HAS_TRAIT_FROM(human, TRAIT_MOVE_FLYING, SPECIES_FLIGHT_TRAIT)) human.physiology.stun_mod *= 2 human.add_traits(list(TRAIT_NO_FLOATING_ANIM, TRAIT_MOVE_FLYING), SPECIES_FLIGHT_TRAIT) + DO_FLOATING_ANIM(human) passtable_on(human, SPECIES_TRAIT) open_wings() else human.physiology.stun_mod *= 0.5 human.remove_traits(list(TRAIT_NO_FLOATING_ANIM, TRAIT_MOVE_FLYING), SPECIES_FLIGHT_TRAIT) + STOP_FLOATING_ANIM(human) passtable_off(human, SPECIES_TRAIT) close_wings() human.update_body_parts() diff --git a/code/modules/surgery/organs/external/wings/moth_wings.dm b/code/modules/surgery/organs/external/wings/moth_wings.dm index f13b346ab075f6..9c2f7098d626fb 100644 --- a/code/modules/surgery/organs/external/wings/moth_wings.dm +++ b/code/modules/surgery/organs/external/wings/moth_wings.dm @@ -44,7 +44,7 @@ /obj/item/organ/external/wings/moth/proc/try_burn_wings(mob/living/carbon/human/human) SIGNAL_HANDLER - if(!burnt && human.bodytemperature >= 800 && human.fire_stacks > 0) //do not go into the extremely hot light. you will not survive + if(!burnt && human.get_skin_temperature() >= CELCIUS_TO_KELVIN(175 CELCIUS) && human.fire_stacks > 0) //do not go into the extremely hot light. you will not survive to_chat(human, span_danger("Your precious wings burn to a crisp!")) human.add_mood_event("burnt_wings", /datum/mood_event/burnt_wings) diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index c8006bd92dc0eb..016e7632021064 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -114,6 +114,33 @@ #define OFFSET_X 1 #define OFFSET_Y 2 +/// Similar to get_status_text, but appends the text after the damage report, for additional status info +/obj/item/organ/internal/eyes/get_status_appendix(advanced, add_tooltips) + if(owner.stat == DEAD || HAS_TRAIT(owner, TRAIT_KNOCKEDOUT)) + return + if(owner.is_blind()) + if(advanced) + if(owner.is_blind_from(EYE_DAMAGE)) + return "Subject is blind from eye damage." + if(owner.is_blind_from(GENETIC_MUTATION)) + return "Subject is genetically blind." + if(owner.is_blind_from(QUIRK_TRAIT)) + return "Subject is permanently blind." + return "Subject is blind." + if(owner.is_nearsighted()) + if(advanced) + if(owner.is_nearsighted_from(EYE_DAMAGE)) + return "Subject is nearsighted from eye damage." + if(owner.is_nearsighted_from(GENETIC_MUTATION)) + return "Subject is genetically nearsighted." + if(owner.is_nearsighted_from(QUIRK_TRAIT)) + return "Subject is permanently nearsighted." + return "Subject is nearsighted." + +/obj/item/organ/internal/eyes/show_on_condensed_scans() + // Always show if we have an appendix + return ..() || (owner.stat != DEAD && !HAS_TRAIT(owner, TRAIT_KNOCKEDOUT) && (owner.is_blind() || owner.is_nearsighted())) + /// This proc generates a list of overlays that the eye should be displayed using for the given parent /obj/item/organ/internal/eyes/proc/generate_body_overlay(mob/living/carbon/human/parent) if(!istype(parent) || parent.get_organ_by_type(/obj/item/organ/internal/eyes) != src) diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/internal/heart/_heart.dm similarity index 91% rename from code/modules/surgery/organs/heart.dm rename to code/modules/surgery/organs/internal/heart/_heart.dm index 6c317316fc9787..ce9995f6ed1b33 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/internal/heart/_heart.dm @@ -23,12 +23,21 @@ var/failed = FALSE //to prevent constantly running failing code var/operated = FALSE //whether the heart's been operated on to fix some of its damages + var/datum/blood_type/heart_bloodtype + /obj/item/organ/internal/heart/update_icon_state() icon_state = "[base_icon_state]-[beating ? "on" : "off"]" return ..() +/obj/item/organ/internal/heart/Insert(mob/living/carbon/receiver, special, drop_if_replaced) + . = ..() + if(heart_bloodtype) + receiver.dna?.human_blood_type = heart_bloodtype + /obj/item/organ/internal/heart/Remove(mob/living/carbon/heartless, special = 0) . = ..() + if(heart_bloodtype) + heartless.dna?.human_blood_type = random_human_blood_type() if(!special) addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 120) @@ -59,6 +68,29 @@ beating = FALSE update_appearance() +/obj/item/organ/internal/heart/proc/get_heart_rate() + if(!beating) + return 0 + + var/base_amount = 0 + + if(owner.has_status_effect(/datum/status_effect/jitter)) + base_amount = 100 + rand(0, 25) + else if(owner.stat == SOFT_CRIT || owner.stat == HARD_CRIT) + base_amount = 60 + rand(-15, -10) + else + base_amount = 80 + rand(-10, 10) + base_amount += round(owner.getOxyLoss() / 5) + base_amount += ((BLOOD_VOLUME_NORMAL - owner.blood_volume) / 25) + base_amount += owner.pain_controller?.get_heartrate_modifier() + if(owner.has_status_effect(/datum/status_effect/determined)) // adrenaline + base_amount += 10 + + if(owner.has_reagent(/datum/reagent/consumable/coffee)) // funny + base_amount += 10 + + return round(base_amount * clamp(1.5 * ((maxHealth - damage) / maxHealth), 0.5, 1)) // heart damage puts a multiplier on it + /obj/item/organ/internal/heart/on_life(seconds_per_tick, times_fired) ..() @@ -75,6 +107,7 @@ beat = BEAT_SLOW owner.playsound_local(get_turf(owner), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) to_chat(owner, span_notice("You feel your heart slow down...")) + if(beat == BEAT_SLOW && owner.health > owner.crit_threshold) owner.stop_sound_channel(CHANNEL_HEARTBEAT) beat = BEAT_NONE @@ -88,12 +121,14 @@ owner.stop_sound_channel(CHANNEL_HEARTBEAT) beat = BEAT_NONE - if((organ_flags & ORGAN_FAILING) && owner.can_heartattack() && !(HAS_TRAIT(src, TRAIT_STABLEHEART))) //heart broke, stopped beating, death imminent... unless you have veins that pump blood without a heart - if(owner.stat == CONSCIOUS && beating) // monkestation edit: antispam - owner.visible_message(span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), \ - span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!")) - owner.set_heartattack(TRUE) - failed = TRUE + if((organ_flags & ORGAN_FAILING) || !beating) //heart broke, stopped beating, death imminent... unless you have veins that pump blood without a heart + if(owner.can_heartattack() && !(HAS_TRAIT(src, TRAIT_STABLEHEART))) + if(owner.stat == CONSCIOUS && beating) // monkestation edit: antispam + owner.visible_message(span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), \ + span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!")) + owner.set_heartattack(TRUE) + failed = TRUE + owner.adjust_pain_shock(1 * seconds_per_tick) /obj/item/organ/internal/heart/get_availability(datum/species/owner_species, mob/living/owner_mob) return owner_species.mutantheart @@ -284,6 +319,7 @@ icon_state = "ethereal_heart" //Welp. At least it's more unique in functionaliy. visual = TRUE //This is used by the ethereal species for color desc = "A crystal-like organ that functions similarly to a heart for Ethereals. It can revive its owner." + heart_bloodtype = /datum/blood_type/crew/ethereal ///Cooldown for the next time we can crystalize COOLDOWN_DECLARE(crystalize_cooldown) @@ -531,3 +567,15 @@ // this qdeleted check is just for sanity. if(!QDELETED(src)) qdel(src) + +/obj/item/organ/internal/heart/lizard + name = "lizard heart" + heart_bloodtype = /datum/blood_type/crew/lizard + +/obj/item/organ/internal/heart/pod + name = "plant heart" + heart_bloodtype = /datum/blood_type/water + +/obj/item/organ/internal/heart/spider + name = "spider heart" + heart_bloodtype = /datum/blood_type/spider diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/internal/liver/_liver.dm old mode 100755 new mode 100644 similarity index 84% rename from code/modules/surgery/organs/liver.dm rename to code/modules/surgery/organs/internal/liver/_liver.dm index eb9f78c0582321..27e6a0756ff788 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/internal/liver/_liver.dm @@ -33,6 +33,7 @@ // If the liver handles foods like a clown, it honks like a bike horn // Don't think about it too much. RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_COMEDY_METABOLISM), PROC_REF(on_add_comedy_metabolism)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_COMEDY_METABOLISM), PROC_REF(on_remove_comedy_metabolism)) /* Signal handler for the liver gaining the TRAIT_COMEDY_METABOLISM trait * @@ -50,6 +51,35 @@ // Would that make the clown more or less likely to honk it AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50, falloff_exponent = 20) +/* Signal handler for the liver losing the TRAIT_COMEDY_METABOLISM trait + * + * Basically just removes squeak component + */ +/obj/item/organ/internal/liver/proc/on_remove_comedy_metabolism() + SIGNAL_HANDLER + + qdel(GetComponent(/datum/component/squeak)) + +/// Registers COMSIG_MOB_REAGENT_CHECK from owner +/obj/item/organ/internal/liver/on_insert(mob/living/carbon/organ_owner, special) + . = ..() + RegisterSignal(organ_owner, COMSIG_SPECIES_HANDLE_CHEMICAL, PROC_REF(handle_chemical)) + +/// Unregisters COMSIG_MOB_REAGENT_CHECK from owner +/obj/item/organ/internal/liver/on_remove(mob/living/carbon/organ_owner, special) + . = ..() + UnregisterSignal(organ_owner, COMSIG_SPECIES_HANDLE_CHEMICAL) + +/** + * This proc can be overriden by liver subtypes so they can handle certain chemicals in special ways. + * Return null to continue running the normal on_mob_life() for that reagent. + * Return COMSIG_MOB_STOP_REAGENT_CHECK to not run the normal metabolism effects. + * + * NOTE: If you return COMSIG_MOB_STOP_REAGENT_CHECK, that reagent will not be removed like normal! You must handle it manually. + **/ +/obj/item/organ/internal/liver/proc/handle_chemical(mob/living/carbon/organ_owner, datum/reagent/chem, seconds_per_tick, times_fired) + SIGNAL_HANDLER + /obj/item/organ/internal/liver/examine(mob/user) . = ..() @@ -91,21 +121,19 @@ #define HAS_PAINFUL_TOXIN 2 /obj/item/organ/internal/liver/on_life(seconds_per_tick, times_fired) - var/mob/living/carbon/liver_owner = owner - . = ..() //perform general on_life() - - if(!istype(liver_owner)) - return - if(organ_flags & ORGAN_FAILING || HAS_TRAIT(liver_owner, TRAIT_NOMETABOLISM)) //If your liver is failing or you lack a metabolism then we use the liverless version of metabolize - liver_owner.reagents.metabolize(liver_owner, seconds_per_tick, times_fired, can_overdose=TRUE, liverless=TRUE) + . = ..() + //If your liver is failing, then we use the liverless version of metabolize + //We don't check for TRAIT_LIVERLESS_METABOLISM here because we do want a functional liver if somehow we have one inserted + if(organ_flags & ORGAN_FAILING) + owner.reagents.metabolize(owner, seconds_per_tick, times_fired, can_overdose = TRUE, liverless = TRUE) return - var/obj/belly = liver_owner.get_organ_slot(ORGAN_SLOT_STOMACH) - var/list/cached_reagents = liver_owner.reagents.reagent_list + var/obj/belly = owner.get_organ_slot(ORGAN_SLOT_STOMACH) + var/list/cached_reagents = owner.reagents.reagent_list var/liver_damage = 0 var/provide_pain_message = HAS_NO_TOXIN - if(filterToxins && !HAS_TRAIT(liver_owner, TRAIT_TOXINLOVER)) + if(filterToxins && !HAS_TRAIT(owner, TRAIT_TOXINLOVER)) for(var/datum/reagent/toxin/toxin in cached_reagents) if(status != toxin.affected_organtype) //this particular toxin does not affect this type of organ continue @@ -119,17 +147,17 @@ if(provide_pain_message != HAS_PAINFUL_TOXIN) provide_pain_message = toxin.silent_toxin ? HAS_SILENT_TOXIN : HAS_PAINFUL_TOXIN - liver_owner.reagents.metabolize(liver_owner, seconds_per_tick, times_fired, can_overdose=TRUE) + owner.reagents.metabolize(owner, seconds_per_tick, times_fired, can_overdose=TRUE) if(liver_damage) apply_organ_damage(min(liver_damage * seconds_per_tick , MAX_TOXIN_LIVER_DAMAGE * seconds_per_tick)) if(provide_pain_message && damage > 10 && SPT_PROB(damage/6, seconds_per_tick)) //the higher the damage the higher the probability - to_chat(liver_owner, span_warning("You feel a dull pain in your abdomen.")) + to_chat(owner, span_warning("You feel a dull pain in your abdomen.")) /obj/item/organ/internal/liver/handle_failing_organs(seconds_per_tick) - if(HAS_TRAIT(owner, TRAIT_STABLELIVER) || HAS_TRAIT(owner, TRAIT_NOMETABOLISM)) + if(HAS_TRAIT(owner, TRAIT_STABLELIVER) || HAS_TRAIT(owner, TRAIT_LIVERLESS_METABOLISM)) return return ..() @@ -201,12 +229,6 @@ /obj/item/organ/internal/liver/get_availability(datum/species/owner_species, mob/living/owner_mob) return owner_species.mutantliver -/obj/item/organ/internal/liver/plasmaman - name = "reagent processing crystal" - icon_state = "liver-p" - desc = "A large crystal that is somehow capable of metabolizing chemicals, these are found in plasmamen." - status = ORGAN_MINERAL - // alien livers can ignore up to 15u of toxins, but they take x3 liver damage /obj/item/organ/internal/liver/alien name = "alien liver" // doesnt matter for actual aliens because they dont take toxin damage diff --git a/code/modules/surgery/organs/internal/liver/liver_plasmamen.dm b/code/modules/surgery/organs/internal/liver/liver_plasmamen.dm new file mode 100644 index 00000000000000..34dbec6ab61286 --- /dev/null +++ b/code/modules/surgery/organs/internal/liver/liver_plasmamen.dm @@ -0,0 +1,25 @@ +/** + * Plasmaman liver + * Makes plasma and hot ice heal wounds, also makes gunpowder a hallucinogen. + **/ +/obj/item/organ/internal/liver/bone/plasmaman + name = "reagent processing crystal" + desc = "A large crystal that is somehow capable of metabolizing chemicals, these are found in plasmamen." + icon_state = "liver-p" + status = ORGAN_MINERAL + +/obj/item/organ/internal/liver/bone/plasmaman/handle_chemical(mob/living/carbon/organ_owner, datum/reagent/chem, seconds_per_tick, times_fired) + . = ..() + //parent returned COMSIG_MOB_STOP_REAGENT_CHECK or we are failing + if(. || (organ_flags & ORGAN_FAILING)) + return + // plasmamen use plasma to reform their bones or whatever + if(istype(chem, /datum/reagent/toxin/plasma) || istype(chem, /datum/reagent/toxin/hot_ice)) + for(var/datum/wound/iter_wound as anything in organ_owner.all_wounds) + iter_wound.on_xadone(4 * REM * seconds_per_tick) + return // Do normal metabolism + if(istype(chem, /datum/reagent/gunpowder)) + organ_owner.set_timed_status_effect(15 SECONDS * seconds_per_tick, /datum/status_effect/drugginess) + if(organ_owner.get_timed_status_effect_duration(/datum/status_effect/hallucination) / 10 < chem.volume) + organ_owner.adjust_hallucinations(2.5 SECONDS * seconds_per_tick) + return // Do normal metabolism diff --git a/code/modules/surgery/organs/internal/liver/liver_skeleton.dm b/code/modules/surgery/organs/internal/liver/liver_skeleton.dm new file mode 100644 index 00000000000000..8e2de95ef5066e --- /dev/null +++ b/code/modules/surgery/organs/internal/liver/liver_skeleton.dm @@ -0,0 +1,48 @@ +/** + * Bone liver + * Gives the owner liverless metabolism, makes them vulnerable to bone hurting juice and + * makes milk heal them through meme magic. + **/ +/obj/item/organ/internal/liver/bone + name = "mass of bones" + desc = "You have no idea what this strange ball of bones does." + organ_traits = list(TRAIT_LIVERLESS_METABOLISM) + +/obj/item/organ/internal/liver/bone/handle_chemical(mob/living/carbon/organ_owner, datum/reagent/chem, seconds_per_tick, times_fired) + . = ..() + //parent returned COMSIG_MOB_STOP_REAGENT_CHECK or we are failing + if(. || (organ_flags & ORGAN_FAILING)) + return + if(istype(chem, /datum/reagent/toxin/bonehurtingjuice)) + organ_owner.stamina?.adjust(7.5 * REM * seconds_per_tick, 0) + organ_owner.adjustBruteLoss(0.5 * REM * seconds_per_tick, 0) + if(SPT_PROB(10, seconds_per_tick)) + switch(rand(1, 3)) + if(1) + INVOKE_ASYNC(organ_owner, TYPE_PROC_REF(/atom/movable, say), pick("oof.", "ouch.", "my bones.", "oof ouch.", "oof ouch my bones."), forced = chem.type) + if(2) + organ_owner.manual_emote(pick("oofs silently.", "looks like [organ_owner.p_their()] bones hurt.", "grimaces, as though [organ_owner.p_their()] bones hurt.")) + if(3) + to_chat(organ_owner, span_warning("Your bones hurt!")) + if(chem.overdosed) + if(SPT_PROB(2, seconds_per_tick)) //big oof + var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly... + var/obj/item/bodypart/bodypart = organ_owner.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood + if(bodypart) + playsound(organ_owner, SFX_DESECRATION, 50, vary = TRUE) //You just want to socialize + organ_owner.visible_message(span_warning("[organ_owner] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!")) + INVOKE_ASYNC(organ_owner, TYPE_PROC_REF(/atom/movable, say), "OOF!!", forced = chem.type) + bodypart.receive_damage(brute = 200) //But I don't think we should + else + to_chat(organ_owner, span_warning("Your missing [parse_zone(selected_part)] aches from wherever you left it.")) + INVOKE_ASYNC(organ_owner, TYPE_PROC_REF(/mob, emote), "sigh") + organ_owner.reagents.remove_reagent(chem.type, chem.metabolization_rate * seconds_per_tick) + return COMSIG_MOB_STOP_REAGENT_CHECK // Stop metabolism + if(chem.type == /datum/reagent/consumable/milk) + if(chem.volume > 50) + organ_owner.reagents.remove_reagent(chem.type, (chem.volume - 50)) + to_chat(organ_owner, span_warning("The excess milk is dripping off your bones!")) + organ_owner.heal_bodypart_damage(2.5 * REM * seconds_per_tick) + for(var/datum/wound/iter_wound as anything in organ_owner.all_wounds) + iter_wound.on_xadone(1 * REM * seconds_per_tick) + return // Do normal metabolism diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm similarity index 71% rename from code/modules/surgery/organs/tongue.dm rename to code/modules/surgery/organs/internal/tongue/_tongue.dm index f5359a46b6cc38..ac42f93449139c 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -34,6 +34,12 @@ /// Determines how "sensitive" this tongue is to tasting things, lower is more sensitive. /// See [/mob/living/proc/get_taste_sensitivity]. var/taste_sensitivity = 15 + /// Foodtypes this tongue likes + var/liked_foodtypes = JUNKFOOD | FRIED //human tastes are default + /// Foodtypes this tongue dislikes + var/disliked_foodtypes = GROSS | RAW | CLOTH | BUGS | GORE //human tastes are default + /// Foodtypes this tongue HATES + var/toxic_foodtypes = TOXIC //human tastes are default /// Whether this tongue modifies speech via signal var/modifies_speech = FALSE @@ -45,6 +51,16 @@ // this results in tongues with identical possible languages sharing a cached list instance languages_possible = string_list(get_possible_languages()) +/obj/item/organ/internal/tongue/examine(mob/user) + . = ..() + if(HAS_TRAIT(user, TRAIT_ENTRAILS_READER) || (user.mind && HAS_TRAIT(user.mind, TRAIT_ENTRAILS_READER)) || isobserver(user)) + if(liked_foodtypes) + . += span_info("This tongue has an affinity the taste of [english_list(bitfield_to_list(liked_foodtypes), FOOD_FLAGS_IC)].") + if(disliked_foodtypes) + . += span_info("This tongue has an aversion for taste of [english_list(bitfield_to_list(disliked_foodtypes), FOOD_FLAGS_IC)].") + if(toxic_foodtypes) + . += span_info("This tongue's physiology makes [english_list(bitfield_to_list(toxic_foodtypes), FOOD_FLAGS_IC)] toxic.") + /** * Used in setting up the "languages possible" list. * @@ -57,24 +73,7 @@ /obj/item/organ/internal/tongue/proc/get_possible_languages() RETURN_TYPE(/list) // This is the default list of languages most humans should be capable of speaking - return list( - /datum/language/common, - /datum/language/uncommon, - /datum/language/draconic, - /datum/language/codespeak, - /datum/language/monkey, - /datum/language/narsie, - /datum/language/beachbum, - /datum/language/aphasia, - /datum/language/piratespeak, - /datum/language/moffic, - /datum/language/sylvan, - /datum/language/shadowtongue, - /datum/language/terrum, - /datum/language/nekomimetic, - /datum/language/ratvar, //Monkestation Edit - /datum/language/goblin, //Monkestation Addition - ) + return subtypesof(/datum/language) /obj/item/organ/internal/tongue/proc/handle_speech(datum/source, list/speech_args) SIGNAL_HANDLER @@ -85,14 +84,56 @@ /obj/item/organ/internal/tongue/proc/modify_speech(datum/source, list/speech_args) return speech_args[SPEECH_MESSAGE] +/** + * Gets the food reaction a tongue would have from the food item, + * assuming that no check_liked callback was used in the edible component. + * + * Can be overriden by subtypes for more complex behavior. + * Does not get called if the owner has ageusia. + **/ +/obj/item/organ/internal/tongue/proc/get_food_taste_reaction(obj/item/food, foodtypes = NONE) + var/food_taste_reaction + if(foodtypes & toxic_foodtypes) + food_taste_reaction = FOOD_TOXIC + else if(foodtypes & disliked_foodtypes) + food_taste_reaction = FOOD_DISLIKED + else if(foodtypes & liked_foodtypes) + food_taste_reaction = FOOD_LIKED + return food_taste_reaction + +/obj/item/organ/internal/tongue/proc/get_laugh_sound() + if(owner.gender == MALE) + return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') + else + return 'sound/voice/human/womanlaugh.ogg' + +/obj/item/organ/internal/tongue/proc/get_scream_sound() + if(owner.gender == MALE) + if(prob(1)) + return 'sound/voice/human/wilhelm_scream.ogg' + return pick( + 'sound/voice/human/malescream_1.ogg', + 'sound/voice/human/malescream_2.ogg', + 'sound/voice/human/malescream_3.ogg', + 'sound/voice/human/malescream_4.ogg', + 'sound/voice/human/malescream_5.ogg', + 'sound/voice/human/malescream_6.ogg', + ) + + return pick( + 'sound/voice/human/femalescream_1.ogg', + 'sound/voice/human/femalescream_2.ogg', + 'sound/voice/human/femalescream_3.ogg', + 'sound/voice/human/femalescream_4.ogg', + 'sound/voice/human/femalescream_5.ogg', + ) + /obj/item/organ/internal/tongue/Insert(mob/living/carbon/tongue_owner, special = FALSE, drop_if_replaced = TRUE) . = ..() if(!.) return - ADD_TRAIT(tongue_owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) - if (modifies_speech) + if(modifies_speech) RegisterSignal(tongue_owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - if(!(organ_flags & ORGAN_FAILING)) ADD_TRAIT(tongue_owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) /* This could be slightly simpler, by making the removal of the @@ -101,18 +142,35 @@ * ageusia from having a non-tasting tongue. */ REMOVE_TRAIT(tongue_owner, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) - if(!sense_of_taste) + if(!sense_of_taste || (organ_flags & ORGAN_FAILING)) ADD_TRAIT(tongue_owner, TRAIT_AGEUSIA, ORGAN_TRAIT) /obj/item/organ/internal/tongue/Remove(mob/living/carbon/tongue_owner, special = FALSE) . = ..() - REMOVE_TRAIT(tongue_owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) temp_say_mod = "" UnregisterSignal(tongue_owner, COMSIG_MOB_SAY) + REMOVE_TRAIT(tongue_owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) REMOVE_TRAIT(tongue_owner, TRAIT_AGEUSIA, ORGAN_TRAIT) // Carbons by default start with NO_TONGUE_TRAIT caused TRAIT_AGEUSIA ADD_TRAIT(tongue_owner, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) + +/obj/item/organ/internal/tongue/apply_organ_damage(damage_amount, maximum, required_organtype) + . = ..() + if(!owner) + return + //tongues can't taste food when they are failing + 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) + if(organ_flags & ORGAN_FAILING) + REMOVE_TRAIT(owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) + else + ADD_TRAIT(owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) + /obj/item/organ/internal/tongue/could_speak_language(datum/language/language_path) return (language_path in languages_possible) @@ -127,12 +185,35 @@ taste_sensitivity = 10 // combined nose + tongue, extra sensitive modifies_speech = TRUE languages_native = list(/datum/language/draconic, /datum/language/ashtongue) + liked_foodtypes = GORE | MEAT | SEAFOOD | NUTS | BUGS + disliked_foodtypes = GRAIN | DAIRY | CLOTH | GROSS //MONKESTATION EDIT START /// How long is our hissssssss? var/draw_length = 3 +/obj/item/organ/internal/tongue/lizard/get_scream_sound() + if(owner.gender == MALE) + return pick( + 'sound/voice/lizard/lizard_scream_1.ogg', + 'sound/voice/lizard/lizard_scream_2.ogg', + 'sound/voice/lizard/lizard_scream_3.ogg', + 'monkestation/sound/voice/screams/lizard/lizard_scream_4.ogg', + ) + + return pick( + 'sound/voice/lizard/lizard_scream_1.ogg', + 'sound/voice/lizard/lizard_scream_2.ogg', + 'sound/voice/lizard/lizard_scream_3.ogg', + 'monkestation/sound/voice/screams/lizard/lizard_scream_5.ogg', + ) + +/obj/item/organ/internal/tongue/lizard/get_laugh_sound() + if(prob(1)) + return 'monkestation/sound/voice/weh.ogg' + return 'monkestation/sound/voice/laugh/lizard/lizard_laugh.ogg' + /obj/item/organ/internal/tongue/lizard/Initialize(mapload) . = ..() draw_length = rand(2, 6) @@ -247,6 +328,13 @@ modifies_speech = TRUE var/mothership + +/obj/item/organ/internal/tongue/abductor/get_scream_sound() + return 'sound/weather/ashstorm/inside/weak_end.ogg' + +/obj/item/organ/internal/tongue/abductor/get_laugh_sound() + return 'sound/weather/ashstorm/inside/weak_end.ogg' + /obj/item/organ/internal/tongue/abductor/attack_self(mob/living/carbon/human/tongue_holder) if(!istype(tongue_holder)) return @@ -298,6 +386,8 @@ say_mod = "moans" modifies_speech = TRUE taste_sensitivity = 32 + liked_foodtypes = GROSS | MEAT | RAW | GORE + disliked_foodtypes = NONE // List of english words that translate to zombie phrases GLOBAL_LIST_INIT(english_to_zombie, list()) @@ -390,6 +480,8 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) attack_verb_simple = list("bite", "chatter", "chomp", "enamel", "bone") sense_of_taste = FALSE modifies_speech = TRUE + liked_foodtypes = GROSS | MEAT | RAW | GORE | DAIRY //skeletons eat spooky shit... and dairy, of course + disliked_foodtypes = NONE var/chattering = FALSE var/phomeme_type = "sans" var/list/phomeme_types = list("sans", "papyrus") @@ -398,6 +490,13 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) . = ..() phomeme_type = pick(phomeme_types) +/obj/item/organ/internal/tongue/bone/get_laugh_sound() + return 'monkestation/sound/voice/laugh/skeleton/skeleton_laugh.ogg' + +/obj/item/organ/internal/tongue/bone/get_scream_sound() + return 'monkestation/sound/voice/screams/skeleton/scream_skeleton.ogg' + + // Bone tongues can speak all default + calcic /obj/item/organ/internal/tongue/bone/get_possible_languages() return ..() + /datum/language/calcic @@ -416,6 +515,15 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) desc = "Like animated skeletons, Plasmamen vibrate their teeth in order to produce speech." icon_state = "tongueplasma" modifies_speech = FALSE + liked_foodtypes = VEGETABLES + disliked_foodtypes = FRUIT | CLOTH + +/obj/item/organ/internal/tongue/bone/plasmaman/get_scream_sound() + return pick( + 'sound/voice/plasmaman/plasmeme_scream_1.ogg', + 'sound/voice/plasmaman/plasmeme_scream_2.ogg', + 'sound/voice/plasmaman/plasmeme_scream_3.ogg', + ) /obj/item/organ/internal/tongue/robot name = "robotic voicebox" @@ -429,6 +537,16 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) modifies_speech = TRUE taste_sensitivity = 25 // not as good as an organic tongue +/obj/item/organ/internal/tongue/robot/get_scream_sound() + return 'monkestation/sound/voice/screams/silicon/scream_silicon.ogg' + +/obj/item/organ/internal/tongue/robot/get_laugh_sound() + return pick( + 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M0.ogg', + 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M1.ogg', + 'monkestation/sound/voice/laugh/silicon/laugh_siliconM2.ogg', + ) + /obj/item/organ/internal/tongue/robot/can_speak_language(language) return TRUE // THE MAGIC OF ELECTRONICS @@ -457,9 +575,23 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) icon_state = "electrotongue" say_mod = "crackles" taste_sensitivity = 10 // ethereal tongues function (very loosely) like a gas spectrometer: vaporising a small amount of the food and allowing it to pass to the nose, resulting in more sensitive taste + liked_foodtypes = NONE //no food is particularly liked by ethereals + disliked_foodtypes = GROSS + toxic_foodtypes = NONE //no food is particularly toxic to etherealsz attack_verb_continuous = list("shocks", "jolts", "zaps") attack_verb_simple = list("shock", "jolt", "zap") +/obj/item/organ/internal/tongue/ethereal/get_scream_sound() + return pick( + 'sound/voice/ethereal/ethereal_scream_1.ogg', + 'sound/voice/ethereal/ethereal_scream_2.ogg', + 'sound/voice/ethereal/ethereal_scream_3.ogg', + ) + +/obj/item/organ/internal/tongue/ethereal/get_laugh_sound() + return 'monkestation/sound/voice/laugh/ethereal/ethereal_laugh_1.ogg' + + // Ethereal tongues can speak all default + voltaic /obj/item/organ/internal/tongue/ethereal/get_possible_languages() return ..() + /datum/language/voltaic @@ -468,6 +600,8 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) name = "felinid tongue" desc = "A fleshy muscle mostly used for meowing." say_mod = "meows" + liked_foodtypes = SEAFOOD | ORANGES | BUGS | GORE + disliked_foodtypes = GROSS | CLOTH | RAW /obj/item/organ/internal/tongue/bananium name = "bananium tongue" @@ -482,16 +616,54 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) name = "jelly tongue" desc = "Ah... That's not the sound I expected it to make. Sounds like a Space Autumn Bird." say_mod = "chirps" + liked_foodtypes = MEAT | BUGS + disliked_foodtypes = GROSS + toxic_foodtypes = NONE + +/obj/item/organ/internal/tongue/jelly/get_food_taste_reaction(obj/item/food, foodtypes = NONE) + // a silver slime created this? what a delicacy! + if(HAS_TRAIT(food, TRAIT_FOOD_SILVER)) + return FOOD_LIKED + return ..() /obj/item/organ/internal/tongue/monkey name = "primitive tongue" desc = "For aggressively chimpering. And consuming bananas." say_mod = "chimpers" + liked_foodtypes = MEAT | FRUIT | BUGS + disliked_foodtypes = CLOTH + +/obj/item/organ/internal/tongue/monkey/get_scream_sound() + return pick( + 'sound/creatures/monkey/monkey_screech_1.ogg', + 'sound/creatures/monkey/monkey_screech_2.ogg', + 'sound/creatures/monkey/monkey_screech_3.ogg', + 'sound/creatures/monkey/monkey_screech_4.ogg', + 'sound/creatures/monkey/monkey_screech_5.ogg', + 'sound/creatures/monkey/monkey_screech_6.ogg', + 'sound/creatures/monkey/monkey_screech_7.ogg', + ) + +/obj/item/organ/internal/tongue/monkey/get_laugh_sound() + return 'monkestation/sound/voice/laugh/simian/monkey_laugh_1.ogg' /obj/item/organ/internal/tongue/moth name = "moth tongue" desc = "Moths don't have tongues. Someone get god on the phone, tell them I'm not happy." say_mod = "flutters" + liked_foodtypes = VEGETABLES | DAIRY | CLOTH + disliked_foodtypes = FRUIT | GROSS | BUGS | GORE + toxic_foodtypes = MEAT | RAW | SEAFOOD + +/obj/item/organ/internal/tongue/moth/get_scream_sound() + return 'sound/voice/moth/scream_moth.ogg' + +/obj/item/organ/internal/tongue/moth/get_laugh_sound() + return pick( + 'monkestation/sound/voice/laugh/moth/mothchitter.ogg', + 'monkestation/sound/voice/laugh/moth/mothlaugh.ogg', + 'monkestation/sound/voice/laugh/moth/mothsqueak.ogg', + ) /obj/item/organ/internal/tongue/zombie name = "rotting tongue" @@ -501,7 +673,31 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) /obj/item/organ/internal/tongue/mush name = "mush-tongue-room" desc = "You poof with this. Got it?" - say_mod = "poofs" - icon = 'icons/obj/hydroponics/seeds.dmi' icon_state = "mycelium-angel" + say_mod = "poofs" + +/obj/item/organ/internal/tongue/pod + name = "pod tongue" + desc = "A plant-like organ used for speaking and eating." + say_mod = "whistles" + liked_foodtypes = VEGETABLES | FRUIT | GRAIN + disliked_foodtypes = GORE | MEAT | DAIRY | SEAFOOD | BUGS + +/obj/item/organ/internal/tongue/floran + name = "floran tongue" + desc = "A plant-like organ used for speaking and eating." + say_mod = "whistles" + liked_foodtypes = GORE | MEAT | DAIRY | SEAFOOD | BUGS + disliked_foodtypes = VEGETABLES + +/obj/item/organ/internal/tongue/floran/get_scream_sound() + return pick( + 'sound/voice/lizard/lizard_scream_1.ogg', + 'sound/voice/lizard/lizard_scream_2.ogg', + 'sound/voice/lizard/lizard_scream_3.ogg', + 'monkestation/sound/voice/screams/lizard/lizard_scream_5.ogg', + ) + +/obj/item/organ/internal/tongue/floran/get_laugh_sound() + return 'monkestation/sound/voice/laugh/lizard/lizard_laugh.ogg' diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 31f69eeacacf1c..ebe938e69eafd0 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -85,26 +85,37 @@ var/tritium_irradiation_probability_min = 10 var/tritium_irradiation_probability_max = 60 + /// Message displayed when breathing cold air var/cold_message = "your face freezing and an icicle forming" - var/cold_level_1_threshold = 260 - var/cold_level_2_threshold = 200 - var/cold_level_3_threshold = 120 - var/cold_level_1_damage = COLD_GAS_DAMAGE_LEVEL_1 //Keep in mind with gas damage levels, you can set these to be negative, if you want someone to heal, instead. - var/cold_level_2_damage = COLD_GAS_DAMAGE_LEVEL_2 - var/cold_level_3_damage = COLD_GAS_DAMAGE_LEVEL_3 + /// At this threshold, a cold breath displays a warning message + var/cold_level_warning_threshold = CELCIUS_TO_KELVIN(-13.15 CELCIUS) + /// At this threshold, a cold breath deals a minor amount of damage + var/cold_level_hazard_threshold = CELCIUS_TO_KELVIN(-73.15 CELCIUS) + /// At this threshold, a cold breath deals a moderate amount of damage + var/cold_level_danger_threshold = CELCIUS_TO_KELVIN(-153.15 CELCIUS) + /// Amount of damage dealt by a cold breath. Halved if at the hazard threshold + var/cold_level_damage = 3 + /// Type of damage dealt by a cold breath var/cold_damage_type = BURN + /// Message displayed when breathing hot air var/hot_message = "your face burning and a searing heat" - var/heat_level_1_threshold = 360 - var/heat_level_2_threshold = 400 - var/heat_level_3_threshold = 1000 - var/heat_level_1_damage = HEAT_GAS_DAMAGE_LEVEL_1 - var/heat_level_2_damage = HEAT_GAS_DAMAGE_LEVEL_2 - var/heat_level_3_damage = HEAT_GAS_DAMAGE_LEVEL_3 + /// At this threshold, a hot breath displays a warning message + var/heat_level_warning_threshold = CELCIUS_TO_KELVIN(86.85 CELCIUS) + /// At this threshold, a hot breath deals a minor amount of damage + var/heat_level_hazard_threshold = CELCIUS_TO_KELVIN(126.85 CELCIUS) + /// At this threshold, a hot breath deals a moderate amount of damage + var/heat_level_danger_threshold = CELCIUS_TO_KELVIN(726.85 CELCIUS) + /// Amount of damage dealt by a hot breath. Halved if at the hazard threshold + var/heat_level_damage = 8 + /// Type of damage dealt by a hot breath var/heat_damage_type = BURN var/crit_stabilizing_reagent = /datum/reagent/medicine/epinephrine + ///our last lung pop adventure + var/lung_pop_tick = 0 + // assign the respiration_type /obj/item/organ/internal/lungs/Initialize(mapload) . = ..() @@ -164,6 +175,8 @@ receiver.clear_alert(ALERT_NOT_ENOUGH_NITRO) receiver.clear_alert(ALERT_NOT_ENOUGH_PLASMA) receiver.clear_alert(ALERT_NOT_ENOUGH_N2O) + receiver.remove_status_effect(/datum/status_effect/lungless) + RegisterSignal(receiver, COMSIG_CARBON_ATTEMPT_BREATHE, PROC_REF(block_breath)) /obj/item/organ/internal/lungs/Remove(mob/living/carbon/organ_owner, special) . = ..() @@ -177,6 +190,13 @@ call(src, on_loss)(organ_owner, dummy, last_partial_pressures[gas_id]) dummy.garbage_collect() + UnregisterSignal(organ_owner, COMSIG_CARBON_ATTEMPT_BREATHE) + if(!special) + organ_owner.apply_status_effect(/datum/status_effect/lungless) + +/obj/item/organ/internal/lungs/proc/block_breath(...) + SIGNAL_HANDLER + return (failed && !HAS_TRAIT(owner, TRAIT_ASSISTED_BREATHING)) ? BREATHE_SKIP_BREATH : NONE /** * Tells the lungs to pay attention to the passed in gas type @@ -250,6 +270,7 @@ // Note this can be redundant, because of the vacuum check. It is fail safe tho, so it's ok if(old_o2_pp < safe_oxygen_min) breather.failed_last_breath = FALSE + lung_pop_tick = 0 breather.clear_alert(ALERT_NOT_ENOUGH_OXYGEN) breathe_gas_volume(breath, /datum/gas/oxygen, /datum/gas/carbon_dioxide) @@ -531,14 +552,23 @@ if(!HAS_TRAIT(breather, TRAIT_SLEEPIMMUNE)) breather.Unconscious(6 SECONDS) // Enough to make the mob sleep. - if(n2o_pp > n2o_sleep_min) - breather.Sleeping(min(breather.AmountSleeping() + 100, 200)) + if(n2o_pp > n2o_sleep_min) + breather.Sleeping(min(breather.AmountSleeping() + 100, 200)) + // And apply anesthesia if it worked + if(HAS_TRAIT(breather, TRAIT_KNOCKEDOUT)) + breather.apply_status_effect(/datum/status_effect/grouped/anesthetic, /datum/gas/nitrous_oxide) /// N2O side-effects. "Too much N2O!" /obj/item/organ/internal/lungs/proc/safe_n2o(mob/living/carbon/breather, datum/gas_mixture/breath, old_n2o_pp) n2o_euphoria = EUPHORIA_INACTIVE breather.clear_alert(ALERT_TOO_MUCH_N2O) +/obj/item/organ/internal/lungs/check_damage_thresholds(mob/organ_owner) + // Don't give random feedback messages if you're suffocating + if(owner?.failed_last_breath) + return null + return ..() + // Breath in nitrium. It's helpful, but has nasty side effects /obj/item/organ/internal/lungs/proc/too_much_nitrium(mob/living/carbon/breather, datum/gas_mixture/breath, nitrium_pp, old_nitrium_pp) breathe_gas_volume(breath, /datum/gas/nitrium) @@ -590,25 +620,26 @@ * * breath: A gas mixture to test, or null. * * breather: A carbon mob that is using the lungs to breathe. */ -/obj/item/organ/internal/lungs/proc/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/breather) +/obj/item/organ/internal/lungs/proc/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/breather, skip_breath) if(breather.status_flags & GODMODE) breather.failed_last_breath = FALSE - breather.clear_alert(ALERT_NOT_ENOUGH_OXYGEN) return FALSE if(HAS_TRAIT(breather, TRAIT_NOBREATH)) return FALSE - // If the breath is falsy or "null", we can use the backup empty_breath. - if(!breath) + // If the breath is null, it's actually a failed breath + var/no_breath = isnull(breath) || skip_breath + if(no_breath) var/static/datum/gas_mixture/immutable/empty_breath = new(BREATH_VOLUME) breath = empty_breath // Indicates if there are moles of gas in the breath. - var/has_moles = breath.total_moles() != 0 - + var/num_moles = breath.total_moles() + var/not_low_pressure = num_moles > 0.01 || HAS_TRAIT(breather, TRAIT_RESISTLOWPRESSURE) + var/not_high_pressure = num_moles < 0.1 || HAS_TRAIT(breather, TRAIT_RESISTHIGHPRESSURE) // Check for moles of gas and handle partial pressures / special conditions. - if(has_moles) + if(num_moles > 0 && not_low_pressure && not_high_pressure) // Breath has more than 0 moles of gas. // Route gases through mask filter if breather is wearing one. if(istype(breather.wear_mask) && (breather.wear_mask.clothing_flags & GAS_FILTERING) && breather.wear_mask.has_filter) @@ -617,10 +648,34 @@ else if(HAS_TRAIT(src, TRAIT_SPACEBREATHING)) // The lungs can breathe anyways. What are you? Some bottom-feeding, scum-sucking algae eater? breather.failed_last_breath = FALSE + lung_pop_tick = 0 // Vacuum-adapted lungs regenerate oxyloss even when breathing nothing. - if(breather.health >= breather.crit_threshold && breather.oxyloss) - breather.adjustOxyLoss(-5) - else + if(HAS_TRAIT(breather, TRAIT_NOBLOOD)) + breather.adjustOxyLoss(-4) + else + // Less blood so breaths give you less oxygen + breather.adjustOxyLoss(-1 * min(5, BLOOD_VOLUME_NORMAL / breather.blood_volume)) + + // We're in a low / high pressure environment, can't breathe, but trying to, so this hurts the lungs + // Unless it's cybernetic then it just doesn't care. Handwave magic whatever + else if(!skip_breath && (owner && !HAS_TRAIT(owner, TRAIT_ASSISTED_BREATHING))) + if(lung_pop_tick > 10) + lung_pop_tick = 0 + if(!failed) + // Lungs are poppin + if(damage >= 40 && damage <= 50 && breather.can_feel_pain()) + to_chat(breather, span_userdanger("You feel a stabbing pain in your chest!")) + else if(num_moles < 0.02) + to_chat(breather, span_boldwarning("You feel air rapidly exiting your lungs!")) + else if(num_moles > 0.1) + to_chat(breather, span_boldwarning("You feel air force itself into your lungs!")) + + breather.cause_pain(BODY_ZONE_CHEST, 10, BRUTE) + apply_organ_damage(5) + breather.failed_last_breath = TRUE + lung_pop_tick++ + // Robot, don't care lol + else if((owner && !HAS_TRAIT(owner, TRAIT_ASSISTED_BREATHING))) // Can't breathe! breather.failed_last_breath = TRUE @@ -694,7 +749,7 @@ else if (old_euphoria && !new_euphoria) breather.clear_mood_event("chemical_euphoria") - if(has_moles) + if(num_moles > 0) handle_breath_temperature(breath, breather) // Merge breath_out into breath. They're kept seprerate before now to ensure stupid like, order of operations shit doesn't happen // But that time has passed @@ -731,14 +786,13 @@ // Give them a chance to notice something is wrong. if(prob(20)) suffocator.emote("gasp") + var/oxyloss = suffocator.getOxyLoss() + if(oxyloss >= 50) + // Suffocating = brain damage + suffocator.adjustOrganLoss(ORGAN_SLOT_BRAIN, (oxyloss / MAX_OXYLOSS(suffocator.maxHealth)) * 4, required_organtype = ORGAN_ORGANIC) // If mob is at critical health, check if they can be damaged further. - if(suffocator.health < suffocator.crit_threshold) - // Mob is immune to damage at critical health. - if(HAS_TRAIT(suffocator, TRAIT_NOCRITDAMAGE)) - return - // Reagents like Epinephrine stop suffocation at critical health. - if(suffocator.reagents.has_reagent(crit_stabilizing_reagent, needs_metabolizing = TRUE)) - return + if(suffocator.stat >= SOFT_CRIT && HAS_TRAIT(suffocator, TRAIT_NOCRITDAMAGE)) + return // Low pressure. if(breath_pp) var/ratio = safe_breath_min / breath_pp @@ -754,47 +808,47 @@ /obj/item/organ/internal/lungs/proc/handle_breath_temperature(datum/gas_mixture/breath, mob/living/carbon/human/breather) // called by human/life, handles temperatures var/breath_temperature = breath.temperature - if(!HAS_TRAIT(breather, TRAIT_RESISTCOLD)) // COLD DAMAGE - var/cold_modifier = breather.dna.species.coldmod + if(breath_temperature < cold_level_warning_threshold && !HAS_TRAIT(breather, TRAIT_RESISTCOLD)) // COLD DAMAGE + var/cold_modifier = breather.physiology.cold_mod var/breath_effect_prob = 0 - if(breath_temperature < cold_level_3_threshold) - breather.apply_damage(cold_level_3_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + var/cold_message_prob = 0 + if(breath_temperature < cold_level_danger_threshold) + breather.apply_damage(cold_level_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) breath_effect_prob = 100 - if(breath_temperature > cold_level_3_threshold && breath_temperature < cold_level_2_threshold) - breather.apply_damage(cold_level_2_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + cold_message_prob = 100 + else if(breath_temperature < cold_level_hazard_threshold) + breather.apply_damage(0.5 * cold_level_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 75 + cold_message_prob = 50 + else breath_effect_prob = 50 - if(breath_temperature > cold_level_2_threshold && breath_temperature < cold_level_1_threshold) - breather.apply_damage(cold_level_1_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) - breath_effect_prob = 25 - if(breath_temperature < cold_level_1_threshold) - if(prob(sqrt(breath_effect_prob) * 4)) - to_chat(breather, span_warning("You feel [cold_message] in your [name]!")) - if(prob(50)) - breather.emote("shiver") - if(prob(breath_effect_prob)) - // Breathing into your mask, no particle. We can add fogged up glasses later - if(breather.is_mouth_covered()) - return - // Even though breathing via internals TECHNICALLY exhales into the environment, we'll still block it - if(breather.internal || breather.external) - return - emit_breath_particle(breather, /particles/fog/breath) - - if(!HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE + cold_message_prob = 20 + if(prob(cold_message_prob)) + to_chat(breather, span_warning("You feel [cold_message] in your [name]!")) + if(prob(50)) + breather.emote("shiver") + if(prob(breath_effect_prob)) + // Breathing into your mask, no particle. We can add fogged up glasses later + if(breather.is_mouth_covered()) + return + // Even though breathing via internals TECHNICALLY exhales into the environment, we'll still block it + if(breather.internal || breather.external) + return + emit_breath_particle(breather, /particles/fog/breath) + + if(breath_temperature > heat_level_warning_threshold && !HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE var/heat_modifier = breather.dna.species.heatmod var/heat_message_prob = 0 - if(breath_temperature > heat_level_1_threshold && breath_temperature < heat_level_2_threshold) - breather.apply_damage(heat_level_1_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + if(breath_temperature > heat_level_danger_threshold) + breather.apply_damage(heat_level_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) heat_message_prob = 100 - if(breath_temperature > heat_level_2_threshold && breath_temperature < heat_level_3_threshold) - breather.apply_damage(heat_level_2_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + else if(breath_temperature > heat_level_hazard_threshold) + breather.apply_damage(0.5 * heat_level_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) heat_message_prob = 50 - if(breath_temperature > heat_level_3_threshold) - breather.apply_damage(heat_level_3_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) - heat_message_prob = 25 - if(breath_temperature > heat_level_1_threshold) - if(prob(sqrt(heat_message_prob) * 4)) - to_chat(breather, span_warning("You feel [hot_message] in your [name]!")) + else + heat_message_prob = 20 + if(prob(heat_message_prob)) + to_chat(breather, span_warning("You feel [hot_message] in your [name]!")) // The air you breathe out should match your body temperature breath.temperature = breather.bodytemperature @@ -835,19 +889,48 @@ QDEL_IN(holder, breath_particle.lifespan) -/obj/item/organ/internal/lungs/on_life(seconds_per_tick, times_fired) +/obj/item/organ/internal/lungs/apply_organ_damage(damage_amount, maximum = maxHealth, required_organtype) . = ..() - if(failed && !(organ_flags & ORGAN_FAILING)) - failed = FALSE + if(!.) return - if(damage >= low_threshold) - var/do_i_cough = SPT_PROB((damage < high_threshold) ? 2.5 : 5, seconds_per_tick) // between : past high - if(do_i_cough) - owner.emote("cough") - if((organ_flags & ORGAN_FAILING) && owner.stat == CONSCIOUS && SPT_PROB(1, seconds_per_tick)) // monkestation edit: antispam - owner.visible_message(span_danger("[owner] grabs [owner.p_their()] throat, struggling for breath!"), span_userdanger("You suddenly feel like you can't breathe!")) + + if(organ_flags & ORGAN_FAILING) + if(!owner?.incapacitated()) + owner.visible_message( + span_danger("[owner] grabs [owner.p_their()] throat, struggling for breath!"), + span_userdanger("You suddenly feel like you can't breathe!"), + ) failed = TRUE + else if(failed) + failed = FALSE + +/obj/item/organ/internal/lungs/on_life(seconds_per_tick, times_fired) + . = ..() + if(damage < low_threshold) + return + + var/cough_prob = 2.5 + if(damage >= high_threshold) + cough_prob = 5 + + if(!SPT_PROB(cough_prob, seconds_per_tick)) // between : past high + return + + if((damage >= high_threshold) && prob(33)) + owner.visible_message(span_danger("[owner] coughs up blood!"), span_userdanger("You cough up blood!")) + var/obj/item/covering = owner.is_mouth_covered() + if(covering) + covering.add_mob_blood(owner) + else if(isturf(owner.loc)) + owner.add_splatter_floor() + owner.apply_damage(3, BRUTE, BODY_ZONE_CHEST, wound_bonus = CANT_WOUND) + owner.bleed(round(damage / 8)) + playsound(owner, 'sound/effects/splat.ogg', 33, TRUE) + else + owner.emote(pick("weeze", "cough")) + owner.losebreath = min(owner.losebreath + round(damage / 100, 0.1), 4) + /obj/item/organ/internal/lungs/get_availability(datum/species/owner_species, mob/living/owner_mob) return owner_species.mutantlungs @@ -867,9 +950,9 @@ safe_plasma_max = 0 //We breathe this to gain POWER. -/obj/item/organ/internal/lungs/slime/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/breather_slime) +/obj/item/organ/internal/lungs/slime/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/breather_slime, skip_breath) . = ..() - if (breath?.gases[/datum/gas/plasma]) + if (breath?.gases[/datum/gas/plasma] && !skip_breath) var/plasma_pp = breath.get_breath_partial_pressure(breath.gases[/datum/gas/plasma][MOLES]) breather_slime.blood_volume += (0.2 * plasma_pp) // 10/s when breathing literally nothing but plasma, which will suffocate you. @@ -901,9 +984,9 @@ safe_oxygen_min = 13 emp_vulnerability = 20 - cold_level_1_threshold = 200 - cold_level_2_threshold = 140 - cold_level_3_threshold = 100 + cold_level_warning_threshold = CELCIUS_TO_KELVIN(-73.15 CELCIUS) + cold_level_hazard_threshold = CELCIUS_TO_KELVIN(-133.15 CELCIUS) + cold_level_danger_threshold = CELCIUS_TO_KELVIN(-173.15 CELCIUS) /obj/item/organ/internal/lungs/cybernetic/emp_act(severity) . = ..() @@ -980,9 +1063,9 @@ name = "aeration reticulum" desc = "These exotic lungs seem crunchier than most." icon_state = "lungs_ethereal" - heat_level_1_threshold = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // 150C or 433k, in line with ethereal max safe body temperature - heat_level_2_threshold = 473 - heat_level_3_threshold = 1073 + heat_level_warning_threshold = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // 150C or 433k, in line with ethereal max safe body temperature + heat_level_hazard_threshold = CELCIUS_TO_KELVIN(200 CELCIUS) + heat_level_danger_threshold = CELCIUS_TO_KELVIN(800 CELCIUS) /obj/item/organ/internal/lungs/ethereal/Initialize(mapload) . = ..() diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index a51ad9dd1fe481..69e102a1ac1308 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -32,7 +32,7 @@ if((organ_flags & ORGAN_VITAL) && !special && !(organ_owner.status_flags & GODMODE)) if(organ_owner.stat != DEAD) organ_owner.investigate_log("has been killed by losing a vital organ ([src]).", INVESTIGATE_DEATHS) - organ_owner.death() + organ_owner.death(null, "losing your [name]") START_PROCESSING(SSobj, src) @@ -43,6 +43,8 @@ /obj/item/organ/internal/on_death(seconds_per_tick, times_fired) //runs decay when outside of a person if(organ_flags & (ORGAN_SYNTHETIC | ORGAN_FROZEN)) return + if(HAS_TRAIT(src, TRAIT_NO_ORGAN_DECAY) || (owner && HAS_TRAIT(owner, TRAIT_NO_ORGAN_DECAY))) + return apply_organ_damage(decay_factor * maxHealth * seconds_per_tick) /// Called once every life tick on every organ in a carbon's body diff --git a/code/modules/surgery/organs/stomach/_stomach.dm b/code/modules/surgery/organs/stomach/_stomach.dm index 8e1d4a661fb279..f1e2db0e52b7ef 100644 --- a/code/modules/surgery/organs/stomach/_stomach.dm +++ b/code/modules/surgery/organs/stomach/_stomach.dm @@ -32,6 +32,11 @@ var/operated = FALSE //whether the stomach's been repaired with surgery and can be fixed again or not + /// Typecache of food we can eat that will never give us disease. + var/list/disease_free_foods + ///our hunger modifier + var/hunger_modifier = 1 + /obj/item/organ/internal/stomach/Initialize(mapload) . = ..() //None edible organs do not get a reagent holder by default @@ -139,23 +144,22 @@ // nutrition decrease and satiety if (human.nutrition > 0 && human.stat != DEAD) // THEY HUNGER - var/hunger_rate = HUNGER_FACTOR - if(human.mob_mood && human.mob_mood.sanity > SANITY_DISTURBED) + var/hunger_rate = HUNGER_FACTOR * PASSIVE_HUNGER_MULTIPLIER + if(human.mob_mood?.sanity > SANITY_DISTURBED) hunger_rate *= max(1 - 0.002 * human.mob_mood.sanity, 0.5) //0.85 to 0.75 // Whether we cap off our satiety or move it towards 0 - if(human.satiety > MAX_SATIETY) - human.satiety = MAX_SATIETY - else if(human.satiety > 0) - human.satiety-- - else if(human.satiety < -MAX_SATIETY) - human.satiety = -MAX_SATIETY + if(human.satiety > 0) + human.adjust_satiety(-1 * seconds_per_tick) + else if(human.satiety < 0) - human.satiety++ + human.adjust_satiety(1 * seconds_per_tick) if(SPT_PROB(round(-human.satiety/77), seconds_per_tick)) human.set_jitter_if_lower(10 SECONDS) - hunger_rate = 2 * HUNGER_FACTOR + hunger_rate *= 3 + + hunger_rate *= hunger_modifier hunger_rate *= human.physiology.hunger_mod - human.adjust_nutrition(-hunger_rate * seconds_per_tick) + human.adjust_nutrition(-1 * hunger_rate * seconds_per_tick) var/nutrition = human.nutrition if(nutrition > NUTRITION_LEVEL_FULL) @@ -336,5 +340,18 @@ if(prob(emp_vulnerability/severity)) //Chance of permanent effects organ_flags |= ORGAN_SYNTHETIC_EMP //Starts organ faliure - gonna need replacing soon. +// Lizard stomach to Let Them Eat Rat +/obj/item/organ/internal/stomach/lizard + name = "lizardperson stomach" + desc = "A stomach native to a Lizardperson of Tiziran... or maybe one of its colonies." + color = COLOR_VERY_DARK_LIME_GREEN + // Lizards don't homeostasize (they're cold blooded) so they get hungrier faster to offset that + // Even with this modifier, note they still get hungrier like 1.5x slower than humans + hunger_modifier = 2 + +/obj/item/organ/internal/stomach/lizard/Initialize(mapload) + . = ..() + var/static/list/rat_cache = typecacheof(/obj/item/food/deadmouse) + disease_free_foods = rat_cache #undef STOMACH_METABOLISM_CONSTANT diff --git a/code/modules/surgery/organs/stomach/stomach_ethereal.dm b/code/modules/surgery/organs/stomach/stomach_ethereal.dm index 3c82f629cb51bc..c0ff1e7811115f 100644 --- a/code/modules/surgery/organs/stomach/stomach_ethereal.dm +++ b/code/modules/surgery/organs/stomach/stomach_ethereal.dm @@ -2,28 +2,32 @@ name = "biological battery" icon_state = "stomach-p" //Welp. At least it's more unique in functionaliy. desc = "A crystal-like organ that stores the electric charge of ethereals." + hunger_modifier = 0 //they do different hunger shit //organ_traits = list(TRAIT_NOHUNGER) // We have our own hunger mechanic. //Monkestation Removal, we have our OWN hunger mechanic. ///basically satiety but electrical var/crystal_charge = ETHEREAL_CHARGE_FULL ///used to keep ethereals from spam draining power sources var/drain_time = 0 -/* //Monkestation Removal /obj/item/organ/internal/stomach/ethereal/on_life(seconds_per_tick, times_fired) . = ..() - adjust_charge(-ETHEREAL_CHARGE_FACTOR * seconds_per_tick) + adjust_charge(-ETHEREAL_CHARGE_FACTOR * seconds_per_tick * 0.5) handle_charge(owner, seconds_per_tick, times_fired) -*/ + /obj/item/organ/internal/stomach/ethereal/on_insert(mob/living/carbon/stomach_owner) . = ..() RegisterSignal(stomach_owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(charge)) RegisterSignal(stomach_owner, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(on_electrocute)) + RegisterSignal(stomach_owner, COMSIG_LIVING_HOMEOSTASIS, PROC_REF(handle_temp)) + RegisterSignal(stomach_owner, COMSIG_HUMAN_ON_HANDLE_BLOOD, PROC_REF(blood)) /obj/item/organ/internal/stomach/ethereal/on_remove(mob/living/carbon/stomach_owner) . = ..() UnregisterSignal(stomach_owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT) UnregisterSignal(stomach_owner, COMSIG_LIVING_ELECTROCUTE_ACT) + UnregisterSignal(stomach_owner, COMSIG_LIVING_HOMEOSTASIS) + UnregisterSignal(stomach_owner, COMSIG_HUMAN_ON_HANDLE_BLOOD) stomach_owner.clear_mood_event("charge") stomach_owner.clear_alert(ALERT_ETHEREAL_CHARGE) stomach_owner.clear_alert(ALERT_ETHEREAL_OVERCHARGE) @@ -31,6 +35,26 @@ /obj/item/organ/internal/stomach/ethereal/handle_hunger_slowdown(mob/living/carbon/human/human) human.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/hunger, multiplicative_slowdown = (1.5 * (1 - crystal_charge / 100))) + +/obj/item/organ/internal/stomach/ethereal/proc/handle_temp(mob/living/carbon/human/human, natural_change, seconds_per_tick) + SIGNAL_HANDLER + + adjust_charge(-0.5 * ETHEREAL_CHARGE_FACTOR * abs(natural_change * 0.1) * seconds_per_tick * 0.01) + return HOMEOSTASIS_NO_HUNGER + +/obj/item/organ/internal/stomach/ethereal/proc/blood(mob/living/carbon/human/ethereal, seconds_per_tick, times_fired) + SIGNAL_HANDLER + + if(ethereal.stat == DEAD) + return NONE + + . = HANDLE_BLOOD_NO_NUTRITION_DRAIN|HANDLE_BLOOD_NO_EFFECTS + + INVOKE_ASYNC(src, PROC_REF(adjust_charge),-ETHEREAL_BLOOD_CHARGE_FACTOR * seconds_per_tick * 0.1, TRUE) + INVOKE_ASYNC(src, PROC_REF(handle_charge), ethereal, seconds_per_tick, times_fired) + + return . + /obj/item/organ/internal/stomach/ethereal/proc/charge(datum/source, amount, repairs) SIGNAL_HANDLER if(!ishuman(owner)) @@ -53,77 +77,87 @@ adjust_charge(shock_damage * siemens_coeff * 2) to_chat(owner, span_notice("You absorb some of the shock into your body!")) -/obj/item/organ/internal/stomach/ethereal/proc/adjust_charge(amount) +/obj/item/organ/internal/stomach/ethereal/proc/adjust_charge(amount, passive = FALSE) //crystal_charge = clamp(crystal_charge + amount, ETHEREAL_CHARGE_NONE, ETHEREAL_CHARGE_DANGEROUS) Monkestation Removal if(ishuman(owner)) - var/mob/living/carbon/human/human = owner - if(istype(human.dna.species, /datum/species/ethereal)) - var/datum/species/ethereal/species = human.dna.species - var/amount_adjusted = (BLOOD_VOLUME_NORMAL * amount)/ETHEREAL_CHARGE_FULL - species.adjust_charge(human, amount_adjusted, FALSE) - -/obj/item/organ/internal/stomach/ethereal/proc/handle_charge(mob/living/carbon/carbon, seconds_per_tick, times_fired) - switch(crystal_charge) - if(-INFINITY to ETHEREAL_CHARGE_NONE) - carbon.add_mood_event("charge", /datum/mood_event/decharged) - carbon.clear_alert("ethereal_overcharge") - carbon.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/emptycell/ethereal) - if(carbon.health > 50) - carbon.apply_damage(0.65, BURN, null, null, carbon) - if(ETHEREAL_CHARGE_NONE to ETHEREAL_CHARGE_LOWPOWER) - carbon.clear_alert("ethereal_overcharge") - carbon.add_mood_event("charge", /datum/mood_event/decharged) - carbon.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/lowcell/ethereal, 3) - if(carbon.health > 10.5) - carbon.apply_damage(0.325 * seconds_per_tick, TOX, null, null, carbon) - if(ETHEREAL_CHARGE_LOWPOWER to ETHEREAL_CHARGE_NORMAL) - carbon.clear_alert("ethereal_overcharge") - carbon.add_mood_event("charge", /datum/mood_event/lowpower) - carbon.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/lowcell/ethereal, 2) - carbon.blood_volume = min(carbon.blood_volume + (BLOOD_REGEN_FACTOR * 0.1 * seconds_per_tick), BLOOD_VOLUME_NORMAL) //worse than a starving human - if(ETHEREAL_CHARGE_ALMOSTFULL to ETHEREAL_CHARGE_FULL) - carbon.clear_alert("ethereal_overcharge") - carbon.clear_alert("ethereal_charge") - carbon.add_mood_event("charge", /datum/mood_event/charged) - carbon.blood_volume = min(carbon.blood_volume + (BLOOD_REGEN_FACTOR * 0.9 * seconds_per_tick), BLOOD_VOLUME_NORMAL) //slightly worse than a human (optimal nutrition+satiety gives 1.25) - if(ETHEREAL_CHARGE_FULL to ETHEREAL_CHARGE_OVERLOAD) - carbon.clear_alert("ethereal_charge") - carbon.add_mood_event("charge", /datum/mood_event/overcharged) - carbon.throw_alert(ALERT_ETHEREAL_OVERCHARGE, /atom/movable/screen/alert/ethereal_overcharge, 1) - carbon.apply_damage(0.2, TOX, null, null, carbon) - carbon.blood_volume = min(carbon.blood_volume + (BLOOD_REGEN_FACTOR * 1.6 * seconds_per_tick), BLOOD_VOLUME_NORMAL) //slightly better than a human, at the cost of toxic damage - if(ETHEREAL_CHARGE_OVERLOAD to ETHEREAL_CHARGE_DANGEROUS) - carbon.clear_alert("ethereal_charge") - carbon.add_mood_event("charge", /datum/mood_event/supercharged) - carbon.throw_alert(ALERT_ETHEREAL_OVERCHARGE, /atom/movable/screen/alert/ethereal_overcharge, 2) - carbon.apply_damage(0.325 * seconds_per_tick, TOX, null, null, carbon) - carbon.blood_volume = min(carbon.blood_volume + (BLOOD_REGEN_FACTOR * 2.6 * seconds_per_tick), BLOOD_VOLUME_NORMAL) //significantly better than a human, at the cost of high toxin damage and unsustainability due to discharge + var/mob/living/carbon/human/ethereal = owner + var/amount_adjusted = (BLOOD_VOLUME_NORMAL * amount)/ETHEREAL_CHARGE_FULL + if(passive) + if(ethereal.blood_volume < ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE) //Do not apply the clamp if its below the passive reduction level(no infinite blood sorry) + return + if(ethereal.blood_volume + amount_adjusted < ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE+1) + ethereal.blood_volume = ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE+1 //bottom them off here if the end result would be less than the stopping point. + ethereal.blood_volume = clamp(ethereal.blood_volume + amount_adjusted, ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE+1, ETHEREAL_BLOOD_CHARGE_DANGEROUS) + return + ethereal.blood_volume = clamp(ethereal.blood_volume + amount, ETHEREAL_BLOOD_CHARGE_NONE, ETHEREAL_BLOOD_CHARGE_DANGEROUS) + +/obj/item/organ/internal/stomach/ethereal/proc/handle_charge(mob/living/carbon/ethereal, seconds_per_tick, times_fired) + var/datum/species/species = ethereal.dna.species + species.brutemod = 1.15 + var/word = pick("like you can't breathe","your lungs locking up","extremely lethargic") + var/blood_volume = ethereal.blood_volume + if(HAS_TRAIT(ethereal, TRAIT_ETHEREAL_NO_OVERCHARGE)) + blood_volume = min(blood_volume, ETHEREAL_BLOOD_CHARGE_FULL) + switch(blood_volume) + if(-INFINITY to ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE) + ethereal.add_mood_event("charge", /datum/mood_event/decharged) + ethereal.clear_alert("ethereal_overcharge") + ethereal.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/emptycell/ethereal) + species.brutemod = 2 + if(SPT_PROB(7.5, seconds_per_tick)) + to_chat(src, span_warning("You feel [word].")) + ethereal.adjustOxyLoss(round(0.01 * (ETHEREAL_BLOOD_CHARGE_LOW - ethereal.blood_volume) * seconds_per_tick, 1)) + if(ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE to ETHEREAL_BLOOD_CHARGE_LOW) + ethereal.clear_alert("ethereal_overcharge") + ethereal.add_mood_event("charge", /datum/mood_event/decharged) + ethereal.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/lowcell/ethereal, 3) + species.brutemod = 1.5 + if(ethereal.health > 10.5) + ethereal.apply_damage(0.155 * seconds_per_tick, TOX, null, null, ethereal) + if(ETHEREAL_BLOOD_CHARGE_LOW to ETHEREAL_BLOOD_CHARGE_NORMAL) + ethereal.clear_alert("ethereal_overcharge") + ethereal.add_mood_event("charge", /datum/mood_event/lowpower) + ethereal.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/lowcell/ethereal, 2) + species.brutemod = 1.25 + if(ETHEREAL_BLOOD_CHARGE_ALMOSTFULL to ETHEREAL_BLOOD_CHARGE_FULL) + ethereal.clear_alert("ethereal_overcharge") + ethereal.clear_alert("ethereal_charge") + ethereal.add_mood_event("charge", /datum/mood_event/charged) + species.brutemod = 1 + if(ETHEREAL_BLOOD_CHARGE_FULL to ETHEREAL_BLOOD_CHARGE_OVERLOAD) + ethereal.clear_alert("ethereal_charge") + ethereal.add_mood_event("charge", /datum/mood_event/overcharged) + ethereal.throw_alert(ALERT_ETHEREAL_OVERCHARGE, /atom/movable/screen/alert/ethereal_overcharge, 1) + species.brutemod = 1.25 + if(ETHEREAL_BLOOD_CHARGE_OVERLOAD to ETHEREAL_BLOOD_CHARGE_DANGEROUS) + ethereal.clear_alert("ethereal_charge") + ethereal.add_mood_event("charge", /datum/mood_event/supercharged) + ethereal.throw_alert(ALERT_ETHEREAL_OVERCHARGE, /atom/movable/screen/alert/ethereal_overcharge, 2) + ethereal.apply_damage(0.2 * seconds_per_tick, TOX, null, null, ethereal) + species.brutemod = 1.5 if(SPT_PROB(5, seconds_per_tick)) // 5% each seacond for ethereals to explosively release excess energy if it reaches dangerous levels - discharge_process(carbon) + discharge_process(ethereal) else - owner.clear_mood_event("charge") - carbon.clear_alert(ALERT_ETHEREAL_CHARGE) - carbon.clear_alert(ALERT_ETHEREAL_OVERCHARGE) + ethereal.clear_mood_event("charge") + ethereal.clear_alert(ALERT_ETHEREAL_CHARGE) + ethereal.clear_alert(ALERT_ETHEREAL_OVERCHARGE) -/obj/item/organ/internal/stomach/ethereal/proc/discharge_process(mob/living/carbon/carbon) - to_chat(carbon, span_warning("You begin to lose control over your charge!")) - carbon.visible_message(span_danger("[carbon] begins to spark violently!")) +/obj/item/organ/internal/stomach/ethereal/proc/discharge_process(mob/living/carbon/ethereal) + to_chat(ethereal, span_warning("You begin to lose control over your charge!")) + ethereal.visible_message(span_danger("[ethereal] begins to spark violently!")) var/static/mutable_appearance/overcharge //shameless copycode from lightning spell overcharge = overcharge || mutable_appearance('icons/effects/effects.dmi', "electricity", EFFECTS_LAYER) - carbon.add_overlay(overcharge) - - if(do_after(carbon, 5 SECONDS, timed_action_flags = (IGNORE_USER_LOC_CHANGE|IGNORE_HELD_ITEM|IGNORE_INCAPACITATED))) - if(ishuman(carbon)) - var/mob/living/carbon/human/human = carbon - if(human.dna?.species) - //fixed_mut_color is also ethereal color (for some reason) - carbon.flash_lighting_fx(5, 7, human.dna.species.fixed_mut_color ? human.dna.species.fixed_mut_color : human.dna.features["mcolor"]) - - playsound(carbon, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) - carbon.cut_overlay(overcharge) - tesla_zap(carbon, 2, crystal_charge*2.5, ZAP_OBJ_DAMAGE | ZAP_LOW_POWER_GEN | ZAP_ALLOW_DUPLICATES) - adjust_charge(ETHEREAL_CHARGE_FULL - crystal_charge) - carbon.visible_message(span_danger("[carbon] violently discharges energy!"), span_warning("You violently discharge energy!")) - - carbon.Paralyze(100) + ethereal.add_overlay(overcharge) + + if(do_after(ethereal, 5 SECONDS, timed_action_flags = (IGNORE_USER_LOC_CHANGE|IGNORE_HELD_ITEM|IGNORE_INCAPACITATED))) + var/datum/color_palette/generic_colors/located = ethereal.dna.color_palettes[/datum/color_palette/generic_colors] + ethereal.flash_lighting_fx(5, 7, ethereal.dna.species.fixed_mut_color ? ethereal.dna.species.fixed_mut_color : located.return_color(MUTANT_COLOR)) + + playsound(ethereal, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) + ethereal.cut_overlay(overcharge) + tesla_zap(ethereal, 2, ethereal.blood_volume*9, ZAP_OBJ_DAMAGE | ZAP_GENERATES_POWER | ZAP_ALLOW_DUPLICATES) + adjust_charge(ETHEREAL_BLOOD_CHARGE_FULL - ethereal.blood_volume) + ethereal.visible_message(span_danger("[ethereal] violently discharges energy!"), span_warning("You violently discharge energy!")) + + ethereal.Paralyze(100) diff --git a/code/modules/surgery/repair_puncture.dm b/code/modules/surgery/repair_puncture.dm index c61eeeaa8bdd4e..8097ad9490b398 100644 --- a/code/modules/surgery/repair_puncture.dm +++ b/code/modules/surgery/repair_puncture.dm @@ -26,14 +26,8 @@ /datum/surgery_step/close, ) -/datum/surgery/repair_puncture/can_start(mob/living/user, mob/living/carbon/target) - if(!istype(target)) - return FALSE - . = ..() - if(.) - var/obj/item/bodypart/targeted_bodypart = target.get_bodypart(user.zone_selected) - var/datum/wound/burn/flesh/pierce_wound = targeted_bodypart.get_wound_type(targetable_wound) - return(pierce_wound && pierce_wound.blood_flow > 0) +/datum/surgery/repair_puncture/is_valid_wound(datum/wound/wound) + return ..() && wound.blood_flow > 0 //SURGERY STEPS diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 3f30cd9244a166..3f01d7fe981b89 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -67,15 +67,28 @@ operated_bodypart = null return ..() +/datum/surgery/proc/is_valid_wound(datum/wound/wound) + return istype(wound, targetable_wound) /datum/surgery/proc/can_start(mob/user, mob/living/patient) //FALSE to not show in list - . = TRUE if(replaced_by == /datum/surgery) return FALSE + if(targetable_wound) + var/any_wound = FALSE + var/obj/item/bodypart/targeted_bodypart = patient.get_bodypart(user.zone_selected) + for(var/datum/wound/found_wound as anything in targeted_bodypart?.wounds) + if(is_valid_wound(found_wound)) + any_wound = TRUE + break + + if(!any_wound) + return FALSE + if(!requires_tech && !replaced_by) return TRUE + . = TRUE if(requires_tech) . = FALSE @@ -92,16 +105,15 @@ else return TRUE - var/turf/patient_turf = get_turf(patient) - //Get the relevant operating computer - var/obj/machinery/computer/operating/opcomputer = locate_operating_computer(patient_turf) + var/obj/machinery/computer/operating/opcomputer = locate_operating_computer(get_turf(patient)) if (isnull(opcomputer)) return . if(replaced_by in opcomputer.advanced_surgeries) return FALSE if(type in opcomputer.advanced_surgeries) return TRUE + return . /datum/surgery/proc/next_step(mob/living/user, modifiers) if(location != user.zone_selected) diff --git a/code/modules/tgui_input/color.dm b/code/modules/tgui_input/color.dm index fe161b2e6a92c5..fcc3f80d9c9936 100644 --- a/code/modules/tgui_input/color.dm +++ b/code/modules/tgui_input/color.dm @@ -118,6 +118,10 @@ closed = TRUE SStgui.close_uis(src) return TRUE + if("null") + set_choice(null) + SStgui.close_uis(src) + return TRUE /datum/tgui_color_picker/proc/set_choice(choice) src.choice = choice diff --git a/code/modules/unit_tests/bloody_footprints.dm b/code/modules/unit_tests/bloody_footprints.dm index 76b86590861ed1..2a786414fa2051 100644 --- a/code/modules/unit_tests/bloody_footprints.dm +++ b/code/modules/unit_tests/bloody_footprints.dm @@ -21,9 +21,8 @@ blood_master.forceMove(run_loc_floor_bottom_left) var/datum/component/bloodysoles/soles = holds_blood.GetComponent(/datum/component/bloodysoles) - var/blood_type = pool.blood_state - TEST_ASSERT(soles.bloody_shoes[blood_type], "Shoes didn't become stained after stepping in a pool of [blood_type]") + TEST_ASSERT(soles.total_bloodiness, "Shoes didn't become stained after stepping in a pool of blood") //The bloody soles component handles the order of stepping on blood/stepping on a bloody tile in a constranating way //Which means it needs to check and see if any time has passed between steps, so it can be sure the player is stepping onto a new tile (that should become bloody) @@ -39,10 +38,9 @@ var/footprint_total = 0 for(var/obj/effect/decal/cleanable/blood/footprints/print_set in move_to) - if(print_set.blood_state == blood_type) - footprint_total += 1 + footprint_total += 1 - TEST_ASSERT(footprint_total, "The floor didn't get covered in [blood_type] after being walked over") + TEST_ASSERT(footprint_total, "The floor didn't get covered in blood after being walked over") soles.last_pickup -= 1 @@ -54,8 +52,7 @@ footprint_total = 0 for(var/obj/effect/decal/cleanable/blood/footprints/print_set in move_to) - if(print_set.blood_state == blood_type) - footprint_total += 1 + footprint_total += 1 TEST_ASSERT(footprint_total, "The floor somehow lost its footprints after being walked over") TEST_ASSERT_EQUAL(footprint_total, 1, "The floor had more than one set of footprints in it, something is fucked") diff --git a/code/modules/unit_tests/screenshot_humanoids.dm b/code/modules/unit_tests/screenshot_humanoids.dm index a0e7abc1633e08..cab447f9ea3f63 100644 --- a/code/modules/unit_tests/screenshot_humanoids.dm +++ b/code/modules/unit_tests/screenshot_humanoids.dm @@ -4,7 +4,8 @@ /datum/unit_test/screenshot_humanoids/Run() // Test lizards as their own thing so we can get more coverage on their features var/mob/living/carbon/human/lizard = allocate(/mob/living/carbon/human/dummy/consistent) - lizard.dna.features["mcolor"] = "#099" + var/datum/color_palette/generic_colors/located = lizard.dna.color_palettes[/datum/color_palette/generic_colors] + located.mutant_color = "#099" lizard.dna.features["tail_lizard"] = "Light Tiger" lizard.dna.features["snout"] = "Sharp + Light" lizard.dna.features["horns"] = "Simple" diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm index 84b224173a2e86..e90720f2e1507d 100644 --- a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm @@ -161,12 +161,11 @@ t1 = "*dead*" else t1 = "Unknown" - var/core_temp = "" - if(ishuman(patient)) - var/mob/living/carbon/human/humi = patient - core_temp = {"Body Temperature: [humi.bodytemperature-T0C]°C ([humi.bodytemperature*1.8-459.67]°F)
"} + var/skin_temp = patient.get_skin_temperature() + var/body_temp = patient.bodytemperature return {"Health: [patient.stat > 1 ? "[t1]" : "[patient.health]% ([t1])"]
- [core_temp] + Skin Temperature: [KELVIN_TO_CELCIUS(skin_temp)]°C ([KELVIN_TO_FAHRENHEIT(skin_temp)]°F)
+ Body Temperature: [KELVIN_TO_CELCIUS(body_temp)]°C ([KELVIN_TO_FAHRENHEIT(body_temp)]°F)
Body Temperature: [patient.bodytemperature-T0C]°C ([patient.bodytemperature*1.8-459.67]°F)
Brute Damage: [patient.getBruteLoss()]%
Respiratory Damage: [patient.getOxyLoss()]%
diff --git a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm index cadccb6fe86cdb..0e147ec37665ee 100644 --- a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm @@ -130,11 +130,7 @@ target.apply_damage(10, BRUTE, BODY_ZONE_CHEST, target.run_armor_check(target_part, MELEE)) //blood splatters - var/splatter_dir = get_dir(chassis, target) - if(isalien(target)) - new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target.drop_location(), splatter_dir, COLOR_DARK_PURPLE) - else - new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir, COLOR_DARK_RED) + target.do_splatter_effect(get_dir(chassis, target)) //organs go everywhere if(target_part && prob(10 * drill_level)) diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 3d8cc1d02044c8..9a503c6cf2402d 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -58,6 +58,7 @@ var/obj/projectile/projectile_obj = new projectile(get_turf(src)) projectile_obj.log_override = TRUE //we log being fired ourselves a little further down. projectile_obj.firer = chassis + projectile_obj.fired_from = src projectile_obj.preparePixelProjectile(target, source, modifiers, spread) if(source.client && isliving(source)) //dont want it to happen from syndie mecha npc mobs, they do direct fire anyways var/mob/living/shooter = source diff --git a/code/modules/zombie/items.dm b/code/modules/zombie/items.dm index 464bf9f3740ca4..f933f14854a7c0 100644 --- a/code/modules/zombie/items.dm +++ b/code/modules/zombie/items.dm @@ -29,7 +29,7 @@ if(!target.get_bodypart(BODY_ZONE_HEAD)) return - if((NOZOMBIE in target.dna.species.species_traits) || HAS_TRAIT(target, TRAIT_NO_ZOMBIFY)) + if(HAS_TRAIT(target, TRAIT_NO_ZOMBIFY)) // cannot infect any NOZOMBIE subspecies (such as high functioning // zombies) return diff --git a/config/admins.txt b/config/admins.txt index f48ff5bc03c3a6..704fa538c33280 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -4,148 +4,4 @@ #Ranks will match to those with the same name in admin_ranks.txt, if a match isn't found the user won't be adminned. #If SQL-based admin loading is enabled, admins listed here will always be loaded first and will override any duplicate entries in the database. -Optimumtact = Host -CitrusGender = Game Master -NewSta = Game Master -Expletives = Game Master -kingofkosmos = Game Master -MrStonedOne = Lazy Master -microscopics = Game Master -Gun Hog = Game Master -KorPhaeron = Game Master -razharas = Game Master -Lordpidey = Game Master -Niknakflak = Game Master -rolan7 = Game Master -quarxink = Game Master -adrix89 = Game Master -tle = Game Master -xsi = Game Master -scaredofshadows = Game Master -neofite = Game Master -trubblebass = Game Master -mport2004 = Game Master -deuryn = Game Master -agouri = Game Master -errorage = Game Master -superxpdude = Game Master -petethegoat = Game Master -nodrak = Game Master -carnwennan = Game Master -ikarrus = Game Master -cheridan = Game Master -giacomand = Game Master -rockdtben = Game Master -sieve = Game Master -aranclanos = Game Master -intigracy = Game Master -dumpdavidson = Game Master -kazeespada = Game Master -malkevin = Game Master -incoming = Game Master -demas = Game Master -fleure = Game Master -ricotez = Game Master -misterperson = Game Master -crimsonvision = Game Master -iamgoofball = Game Master -zelacks = Game Master -androidsfv = Game Master -miggles = Game Master -jordie0608 = Game Master -s0ldi3rkr4s0 = Game Master -ergovisavi = Game Master -vistapowa = Game Master -miauw62 = Game Master -rumia29 = Game Master -bobylein = Game Master -sirbayer = Game Master -hornygranny = Game Master -yota = Game Master -firecage = Game Master -donkieyo = Game Master -argoneus = Game Master -paprka = Game Master -cookingboy3 = Game Master -limeliz = Game Master -steelpoint = Game Master -phil235 = Game Master -CorruptComputer = Game Master -xxnoob = Game Master -tkdrg = Game Master -Cuboos = Game Master -thunder12345 = Game Master -wjohnston = Game Master -mandurrh = Game Master -thurgatar = Game Master -xerux = Game Master -dannno = Game Master -lo6a4evskiy = Game Master -vekter = Game Master -Ahammer18 = Game Master -ACCount12 = Game Master -fayrik = Game Master -shadowlight213 = Game Master -drovidicorv = Game Master -Dunc = Game Master -MMMiracles = Game Master -bear1ake = Game Master -CoreOverload = Game Master -Jalleo = Game Master -ChangelingRain = Game Master -FoxPMcCloud = Game Master -Xhuis = Game Master -Astralenigma = Game Master -Tokiko1 = Game Master -SuperSayu = Game Master -Lzimann = Game Master -As334 = Game Master -neersighted = Game Master -Swankcookie = Game Master -Ressler = Game Master -Folix = Game Master -Bawhoppennn = Game Master -Anturke = Host -Lumipharon = Game Master -bgobandit = Game Master -coiax = Game Master -RandomMarine = Game Master -PKPenguin321 = Game Master -TechnoAlchemist = Game Master -Aloraydrel = Game Master -Quiltyquilty = Game Master -SnipeDragon = Game Master -Fjeld = Game Master -kevinz000 = Game Master -Tacolizard = Game Master -TrustyGun = Game Master -Cyberboss = Game Master -PJB3005 = Game Master -Sweaterkittens = Game Master -Feemjmeem = Game Master -JStheguy = Game Master -excessiveuseofcobby = Game Master -Plizzard = Game Master -octareenroon91 = Game Master -Serpentarium = Game Master -Averagejoe82 = Game Master -The Dreamweaver = Game Master -Denton-30 = Game Master -Naksuasdf = Game Master -MrDoomBringer = Game Master -shizcalev = Game Master -NicBR = Game Master -LoserWasTaken = Game Master -Fikou = Game Master -Magatsuchi = Game Master -Skoglol = Game Master -4dplanner = Game Master -Time-Green = Game Master -StyleMistake = Game Master -actioninja = Game Master -bobbahbrown = Game Master -Jaredfogle = Game Master+Coder -WaylandSmithy = Game Master -NamelessFairy = Game Master -WalterMeldron = Game Master -san7890 = Game Master +dwasint = Host diff --git a/config/config.txt b/config/config.txt index a15291b8953e76..464b95aa50784e 100644 --- a/config/config.txt +++ b/config/config.txt @@ -528,7 +528,7 @@ MOTD motd.txt ## The cache is assumed to be cleared by TGS recompiling, which deletes `tmp`. ## This should be disabled (through `CACHE_ASSETS 0`) on development, ## but enabled on production (the default). -CACHE_ASSETS 0 +CACHE_ASSETS 1 ## If this remains commented out, we will allow players to download their own preferences as a JSON file to do whatever they wish. ## This does require the game code to read (and only read) the /data folder where these files are stored, and then use the BYOND FTP Function to send the file to the client. diff --git a/config/contributors.dmi b/config/contributors.dmi new file mode 100644 index 00000000000000..800803a01ea207 Binary files /dev/null and b/config/contributors.dmi differ diff --git a/config/contributors.txt b/config/contributors.txt new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/config/game_options.txt b/config/game_options.txt index 66448be8ea59da..6d24745d76f5b5 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -357,6 +357,7 @@ ROUNDSTART_RACES simian ROUNDSTART_RACES arachnid ROUNDSTART_RACES apid ROUNDSTART_RACES satyr +ROUNDSTART_RACES ornithid ## Races that are better than humans in some ways, but worse in others ROUNDSTART_RACES ethereal diff --git a/goon/ATTRIBUTION.txt b/goon/ATTRIBUTION.txt new file mode 100644 index 00000000000000..b1b34ec4422ada --- /dev/null +++ b/goon/ATTRIBUTION.txt @@ -0,0 +1,281 @@ +openlootcrate.ogg - + Compressed in 2023 by virvatuli sound/misc/openlootcrate.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/openlootcrate.ogg + +openlootcrate2.ogg - + Compressed in 2023 by virvatuli sound/misc/openlootcrate2.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/openlootcrate2.ogg + +ArtifactAnc1.ogg - + OG Commit sound/machines/ArtifactAnc1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/ArtifactAnc1.ogg + +ArtifactEld1.ogg - + OG Commit sound/machines/ArtifactEld1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/ArtifactEld1.ogg + +ArtifactEld2.ogg - + OG Commit sound/machines/ArtifactEld2.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/ArtifactEld2.ogg + +ArtifactMar1.ogg - + OG Commit sound/machines/ArtifactMar1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/ArtifactMar1.ogg + +ArtifactMar2.ogg - + OG Commit sound/machines/ArtifactMar2.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/ArtifactMar2.ogg + +ArtifactPre1.ogg - + OG Commit sound/machines/ArtifactPre1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/ArtifactPre1.ogg + +ArtifactWiz1.ogg - + OG Commit sound/machines/ArtifactWiz1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/ArtifactWiz1.ogg + +elec_bzzz.ogg - + OG Commit sound/effects/elec_bzzz.ogg +https://github.com/goonstation/goonstation/blob/master/sound/effects/elec_bzzz.ogg + +electric_shock.ogg - + OG Commit sound/effects/electric_shock.ogg +https://github.com/goonstation/goonstation/blob/master/sound/effects/electric_shock.ogg + +electric_shock_short.ogg - + OG Commit sound/effects/electric_shock_short.ogg +https://github.com/goonstation/goonstation/blob/master/sound/effects/electric_shock_short.ogg + +bellalert.ogg - + OG Commit sound/machines/bellalert.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/bellalert.ogg + +engine_alert1.ogg - + OG Commit sound/machines/engine_alert1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_alert1.ogg + +engine_alert2.ogg - + OG Commit sound/machines/engine_alert2.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_alert2.ogg + +engine_alert3.ogg - + OG Commit sound/machines/engine_alert3.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_alert3.ogg + +engine_grump1.ogg - + OG Commit sound/machines/engine_grump1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_grump1.ogg + +engine_grump2.ogg - + OG Commit sound/machines/engine_grump2.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_grump2.ogg + +engine_grump3.ogg - + OG Commit sound/machines/engine_grump3.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_grump3.ogg + +engine_grump4.ogg - + OG Commit sound/machines/engine_grump4.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_grump4.ogg + +engine_highpower.ogg - + OG Commit sound/machines/engine_highpower.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/engine_highpower.ogg + +tractor_running.ogg - + OG Commit sound/machines/tractor_running1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/tractor_running.ogg + +tractor_running2.ogg - + OG Commit sound/machines/tractor_running2.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/tractor_running2.ogg + +tractor_running3.ogg - + OG Commit sound/machines/tractor_running3.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/tractor_running3.ogg + +tractorrev.ogg - + OG Commit sound/machines/tractorrev.ogg +https://github.com/goonstation/goonstation/blob/master/sound/machines/tractorrev.ogg + + +babynoise.ogg - + OG Commit goonstation/sound/babynoise.ogg +https://github.com/goonstation/goonstation/blob/master/sound/voice/babynoise.ogg + +body_thud.ogg - + OG Commit goonstation/sound/misc/body_thud.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/body_thud.ogg + + +speak_1.ogg - + OG Commit goonstation/sound/misc/talk/speak_1.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_1.ogg + +speak_1_exclaim.ogg - + OG Commit goonstation/sound/misc/talk/speak_1_exclaim.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_1_exclaim.ogg + +speak_1_ask.ogg - + OG Commit goonstation/sound/misc/talk/speak_1_ask.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_1_ask.ogg + +speak_2.ogg - + OG Commit goonstation/sound/misc/talk/speak_2.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_2.ogg + +speak_2_exclaim.ogg - + OG Commit goonstation/sound/misc/talk/speak_2_exclaim.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_2_exclaim.ogg + +speak_2_ask.ogg - + OG Commit goonstation/sound/misc/talk/speak_2_ask.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_2_ask.ogg + +speak_3.ogg - + OG Commit goonstation/sound/misc/talk/speak_3.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_3.ogg + +speak_3_exclaim.ogg - + OG Commit goonstation/sound/misc/talk/speak_3_exclaim.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_3_exclaim.ogg + +speak_3_ask.ogg - + OG Commit goonstation/sound/misc/talk/speak_3_ask.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_3_ask.ogg + +speak_4.ogg - + OG Commit goonstation/sound/misc/talk/speak_4.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_4.ogg + +speak_4_exclaim.ogg - + OG Commit goonstation/sound/misc/talk/speak_4_exclaim.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_4_exclaim.ogg + +speak_4_ask.ogg - + OG Commit goonstation/sound/misc/talk/speak_4_ask.ogg +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/speak_4_ask.ogg + + + +radio_ai.ogg + mybluecorners (8ec37f12e282492a5e7aeb4ec1d5cfa2f1df7460 +https://github.com/goonstation/goonstation/blob/master/sound/misc/talk/radio_ai.ogg + + +neon_lining.dmi + Nebulacrity https://github.com/goonstation/goonstation/pull/1731 +https://github.com/goonstation/goonstation/blob/9470d5bbb76afa2ffdee6bddf8b97a68092d8b01/icons/obj/decals/neon_lining.dmi + +pt_laser.dmi + gannets +https://github.com/goonstation/goonstation/blob/master/icons/obj/pt_laser.dmi + + +teg.dmi - https://github.com/goonstation/goonstation/pull/3408 Azrun blower indication, Inital Commit (circulator's + Azrun https://github.com/goonstation/goonstation/pull/3408 blower indication + gannets - main teg sprite + Azrun https://github.com/goonstation/goonstation/pull/2902, open states +https://github.com/goonstation/goonstation/blob/master/icons/obj/power.dmi +https://github.com/goonstation/goonstation/blob/master/icons/obj/atmospherics/atmos.dmi + +slasher.dmi + Zonespace27 https://github.com/goonstation/goonstation/pull/6094 +https://github.com/Zonespace27/goonstation/blob/d9a36b8ae0203788683a38c0b8546c14b0e0f656/icons/mob/slasher.dmi + +electile.dmi + mybluecorners https://github.com/goonstation/goonstation/pull/1425/files#diff-cc282396fd85af02912a95be13420419cc7a433cfb2280c362f3c3cf4451ad2c +https://github.com/goonstation/goonstation/blob/master/icons/effects/electile.dmi + +320x320.dmi + goonstation/icons/effect/320x320.dmi (lootbox sprites), +https://github.com/goonstation/goonstation/blob/master/icons/effects/320x320.dmi + +displacements.dmi + pali6 (inital commit) +https://github.com/goonstation/goonstation/blob/master/icons/effects/distort.dmi + +particle.dmi + Azrun - https://github.com/goonstation/goonstation/commit/0f11103f910db33e05482a21f567ae8ef01237f1 + flrsh - https://github.com/goonstation/goonstation/commit/9ffc312e1b66aad4810dbf449c60b2b027b38898 + Sovexe - https://github.com/goonstation/goonstation/commit/ad6e662ae7547efff964ff6b39085621162761d8 + TobleroneSwordfish - https://github.com/goonstation/goonstation/commit/01f361fc560da88ab6cca050dd265bac420658f4 +https://github.com/goonstation/goonstation/blame/master/icons/effects/particles.dmi + + +multi_hit.dmi + goonstation/icons/effects/96x96 - swipe + goonstation/icons/effects/96x96 - stab +https://github.com/goonstation/goonstation/blob/master/icons/effects/96x96.dmi + + +networked.dmi + binarysudoku https://github.com/goonstation/goonstation/pull/750 +https://github.com/goonstation/goonstation/blob/master/icons/obj/networked.dmi + + +plants_alien.dmi + binarysudoku https://github.com/goonstation/goonstation/commit/9fb6d4c8df6ca51bbd6178cc703ffbeb5ae64be7 + sovexe https://github.com/goonstation/goonstation/commit/54f6c5b1b825ebf65647a510195e8ec93154b7a1 + sovexe https://github.com/goonstation/goonstation/commit/b5145abcde8113ce371f842ed4c12c6e2e7944c7 + azrun https://github.com/goonstation/goonstation/commit/3100dbc7c3d69f4d1744d9ffa1b9ded1e9f2c126 + m-earthfire, tobleroneswordfish https://github.com/goonstation/goonstation/commit/08c48c389012d17c8bbf735a6bc0f0fec684dd54 +https://github.com/goonstation/goonstation/blob/master/icons/obj/hydroponics/plants_alien.dmi + +plants_crop.dmi + binarysudoku https://github.com/goonstation/goonstation/commit/9fb6d4c8df6ca51bbd6178cc703ffbeb5ae64be7 + binarysudoku https://github.com/goonstation/goonstation/commit/a2bfa53e05fd18fd44d5d8bf9f8c3e4261e10fe6 + emily https://github.com/goonstation/goonstation/commit/6dde7025cf5ffaabc47f264638f90f92b116fbd7 + yellow-mushroom https://github.com/goonstation/goonstation/commit/df3347bf103e30354e1b45f5cea888d5c433be34 + DimWhat https://github.com/goonstation/goonstation/commit/306343902279aad64147a7d95fcb405ca95989af + sovexe https://github.com/goonstation/goonstation/commit/d3e97cde29fef8047983b66c09f6bf5a62449a20 + crackaduck https://github.com/goonstation/goonstation/commit/32e09c6a1834f1042cf49571476117e38c680cdc + crackaduck https://github.com/goonstation/goonstation/commit/350bf56e85732399329d9631485c45519951cf10 + wolfolotl https://github.com/goonstation/goonstation/commit/c0a09331cb7a3841030cd7991144cf92a826b5e1 + tobleroneswordfish https://github.com/goonstation/goonstation/commit/524eaf8aaf84b00920c7013fc5c6385f47b09be5 + flappybatpal https://github.com/goonstation/goonstation/commit/c09ca907184df4861b23a0df5df917d6505ea684 + tobleroneswordfish https://github.com/goonstation/goonstation/commit/1aa16631c7443140fdcf427bb9a04df5eeff8663 + sovexe https://github.com/goonstation/goonstation/commit/d3e97cde29fef8047983b66c09f6bf5a62449a20 +https://github.com/goonstation/goonstation/blob/master/icons/obj/hydroponics/plants_crop.dmi + +plants_flower.dmi + binarysudoku https://github.com/goonstation/goonstation/commit/9fb6d4c8df6ca51bbd6178cc703ffbeb5ae64be7 + janonas, jigjagboi45 tarmunora https://github.com/goonstation/goonstation/commit/243d0bfade03e14829d3c50fee5d09c938f97d41 + munien7 https://github.com/goonstation/goonstation/commit/5b27507352cb4f2c5988018c04e47f26f09ab116 + flrsh https://github.com/goonstation/goonstation/commit/9ffc312e1b66aad4810dbf449c60b2b027b38898 + eggcereal https://github.com/goonstation/goonstation/commit/9198822090a3dad530df408d6cc77b7e77406551 +https://github.com/goonstation/goonstation/blob/master/icons/obj/hydroponics/plants_flower.dmi + +plants_fruit.dmi + binarysudoku https://github.com/goonstation/goonstation/commit/9fb6d4c8df6ca51bbd6178cc703ffbeb5ae64be7 + jan-antilles https://github.com/goonstation/goonstation/commit/85c5d02771d900f72e32cd1ec9b5a85a7f01b9d1 + t-toasted https://github.com/goonstation/goonstation/commit/de386a2b86395f445c7a6ddba7cda039635c2605 + flappybatpal https://github.com/goonstation/goonstation/commit/c09ca907184df4861b23a0df5df917d6505ea684 + tanker4390 https://github.com/goonstation/goonstation/commit/4691dabb8b940bbd9c441af1e6916bd9f0bcd32c +https://github.com/goonstation/goonstation/blob/master/icons/obj/hydroponics/plants_fruit.dmi + +plant_herb.dmi + binarysudoku https://github.com/goonstation/goonstation/commit/9fb6d4c8df6ca51bbd6178cc703ffbeb5ae64be7 + mordent-goonstation https://github.com/goonstation/goonstation/commit/fdf70ea6bbcbde998d616b431328cb6770035524 + binarysudoku https://github.com/goonstation/goonstation/commit/a2bfa53e05fd18fd44d5d8bf9f8c3e4261e10fe6 + Janonas https://github.com/goonstation/goonstation/commit/a6291454d8210c29939c812a432b72f4aa394e62 + WALPVRGIS https://github.com/goonstation/goonstation/commit/4dc053670dc868888030d440feb4b3050370da00 + avimour, tobleroneswordfish https://github.com/goonstation/goonstation/commit/6a5b97afb44e2da544fffe2126e6cf9640089ee8 + colossusqw https://github.com/goonstation/goonstation/commit/114f0262462c4247578b308a4fba04e9350aa4ce + flrsh https://github.com/goonstation/goonstation/commit/9ffc312e1b66aad4810dbf449c60b2b027b38898 + temthrush https://github.com/goonstation/goonstation/commit/a2d3c6262172fa44eafd9071bba0364cf90cac09 + colossusqw https://github.com/goonstation/goonstation/commit/530ef545c793232ba2a57832f17c8deaf6a3cbfb +https://github.com/goonstation/goonstation/blob/master/icons/obj/hydroponics/plants_herb.dmi + +plant_veg.dmi + binarysudoku https://github.com/goonstation/goonstation/commit/9fb6d4c8df6ca51bbd6178cc703ffbeb5ae64be7 + wolfolotl, tarmunora, zewaka, mordent-goonstation https://github.com/goonstation/goonstation/commit/a941272744132922382940516cd83af2259f1ed9 + flappybatpal https://github.com/goonstation/goonstation/commit/c09ca907184df4861b23a0df5df917d6505ea684 + M-Earthfire https://github.com/goonstation/goonstation/commit/8ea2eb4b124dd7bd2c4a689e0bd1895dbe55d024 + Glamurio https://github.com/goonstation/goonstation/commit/d62440d0ecf4bb6380e2484f9ffc0251b2f31bf5 +https://github.com/goonstation/goonstation/blob/master/icons/obj/hydroponics/plants_veg.dmi + +plant_weed.dmi + binarysudoku https://github.com/goonstation/goonstation/commit/9fb6d4c8df6ca51bbd6178cc703ffbeb5ae64be7 + M-earthfire, tobleroneswordfish https://github.com/goonstation/goonstation/commit/08c48c389012d17c8bbf735a6bc0f0fec684dd54 +https://github.com/goonstation/goonstation/blob/master/icons/obj/hydroponics/plants_weed.dmi \ No newline at end of file diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi index 9bf25b8de2bbf9..3d8e46c3837fda 100644 Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ diff --git a/icons/effects/footprints.dmi b/icons/effects/footprints.dmi index a00c6a0f780dbb..8cefa901bc23c5 100644 Binary files a/icons/effects/footprints.dmi and b/icons/effects/footprints.dmi differ diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index f65f56e58c9678..33a1ef4d0288a4 100755 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/mob/actions/actions_items.dmi b/icons/mob/actions/actions_items.dmi index 9b357963e2678a..681e7da89d5f71 100644 Binary files a/icons/mob/actions/actions_items.dmi and b/icons/mob/actions/actions_items.dmi differ diff --git a/icons/mob/effects/dam_mob.dmi b/icons/mob/effects/dam_mob.dmi index 6390a1b34d645b..51883685fb4cb1 100644 Binary files a/icons/mob/effects/dam_mob.dmi and b/icons/mob/effects/dam_mob.dmi differ diff --git a/monkestation/code/datums/stamina_container.dm b/monkestation/code/datums/stamina_container.dm index 28a3c9aa76cede..29dd479f6fff99 100644 --- a/monkestation/code/datums/stamina_container.dm +++ b/monkestation/code/datums/stamina_container.dm @@ -75,11 +75,13 @@ COOLDOWN_START(src, stamina_grace_period, time) ///Adjust stamina by an amount. -/datum/stamina_container/proc/adjust(amt as num, forced) +/datum/stamina_container/proc/adjust(amt as num, forced, base_modify = FALSE) if((!amt || !COOLDOWN_FINISHED(src, stamina_grace_period)) && !forced) return ///Our parent might want to fuck with these numbers var/modify = parent.pre_stamina_change(amt, forced) + if(base_modify) + modify = amt current = round(clamp(current + modify, 0, maximum), DAMAGE_PRECISION) update(1) if((amt < 0) && is_regenerating) diff --git a/monkestation/code/game/machinery/computer/cloning.dm b/monkestation/code/game/machinery/computer/cloning.dm index fcd93b7712f6e6..12ce94de0135a0 100644 --- a/monkestation/code/game/machinery/computer/cloning.dm +++ b/monkestation/code/game/machinery/computer/cloning.dm @@ -529,11 +529,10 @@ if(ishuman(mob_occupant)) dna = C.has_dna() - var/mob/living/carbon/human/human_occupant = mob_occupant var/obj/item/card/id/I = C.get_idcard(TRUE) if(I) has_bank_account = I.registered_account - if(!istype(dna) || (NO_DNA_COPY in human_occupant.dna.species.species_traits)) + if(!istype(dna) || HAS_TRAIT(mob_occupant, TRAIT_NO_DNA_COPY)) scantemp = "Unable to locate valid genetic data." playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) return @@ -577,7 +576,7 @@ R.fields["UE"] = dna.unique_enzymes R.fields["UI"] = dna.unique_identity R.fields["SE"] = dna.mutation_index - R.fields["blood_type"] = dna.blood_type + R.fields["blood_type"] = dna.human_blood_type R.fields["features"] = dna.features R.fields["factions"] = mob_occupant.faction R.fields["quirks"] = list() diff --git a/monkestation/code/game/machinery/exp_cloner.dm b/monkestation/code/game/machinery/exp_cloner.dm index 46bb81111d4c59..1dd46217facd46 100644 --- a/monkestation/code/game/machinery/exp_cloner.dm +++ b/monkestation/code/game/machinery/exp_cloner.dm @@ -404,6 +404,6 @@ temp = "Cloning cycle already in progress." playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) else - pod.growclone(mob_occupant.real_name, dna.unique_identity, dna.mutation_index, null, dna.blood_type, clone_species, dna.features, mob_occupant.faction) + pod.growclone(mob_occupant.real_name, dna.unique_identity, dna.mutation_index, null, dna.human_blood_type, clone_species, dna.features, mob_occupant.faction) temp = "[mob_occupant.real_name] => Cloning data sent to pod." playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) diff --git a/monkestation/code/modules/a_medical_day/internal_bleeding.dm b/monkestation/code/modules/a_medical_day/internal_bleeding.dm new file mode 100644 index 00000000000000..ea622ccaf5a2ae --- /dev/null +++ b/monkestation/code/modules/a_medical_day/internal_bleeding.dm @@ -0,0 +1,48 @@ +/datum/wound_pregen_data/internal_bleeding + abstract = FALSE + wound_path_to_generate = /datum/wound/bleed_internal + ignore_cannot_bleed = FALSE + required_limb_biostate = BIO_BLOODED + required_wounding_types = list(WOUND_BLUNT, WOUND_SLASH, WOUND_PIERCE) + threshold_minimum = 45 + +/datum/wound/bleed_internal + name = "Internal Bleeding" + desc = "The patient is bleeding internally, causing severe pain and difficulty breathing." + treat_text = "Surgical repair of the affected vein is necessary." + treat_text_short = "Surgical repair required." + examine_desc = "" + scar_keyword = "" + severity = WOUND_SEVERITY_MODERATE + simple_treat_text = "Surgery." + homemade_treat_text = "Taking a blood clotting pill may help slow the bleeding, \ + or an iron supplement to help your body recover." + processes = TRUE + wound_flags = NONE + regen_ticks_needed = 120 //around 4 minutes + /// How much blood lost per life tick, gets modified by severity. + var/bleed_amount = 0.25 + /// Cooldown between when the wound can be allowed to worsen + COOLDOWN_DECLARE(worsen_cd) + +/datum/wound/bleed_internal/get_self_check_description(mob/user) + return span_warning("You can see dark bruising.") // same as rib fracture! + +/datum/wound/bleed_internal/handle_process(seconds_per_tick, times_fired) + . = ..() + if(!victim || victim.stat == DEAD || HAS_TRAIT(victim, TRAIT_STASIS) || !victim.needs_heart()) + return + victim.bleed(min(bleed_amount * severity * seconds_per_tick, 3)) + +/datum/wound/bleed_internal/wound_injury(datum/wound/old_wound, attack_direction) + COOLDOWN_START(src, worsen_cd, 5 SECONDS) + +/datum/wound/bleed_internal/receive_damage(wounding_type, wounding_dmg, wound_bonus, attack_direction, damage_source) + if(wounding_type == WOUND_BURN || wound_bonus == CANT_WOUND) + return + if(!COOLDOWN_FINISHED(src, worsen_cd)) + return + if(wounding_dmg + wound_bonus + rand(-10, 30) - victim.getarmor(limb, WOUND) < 45) + return + severity = min(severity + 1, WOUND_SEVERITY_CRITICAL) + COOLDOWN_START(src, worsen_cd, 6 SECONDS) diff --git a/monkestation/code/modules/a_medical_day/lungless.dm b/monkestation/code/modules/a_medical_day/lungless.dm new file mode 100644 index 00000000000000..3611d366aa00fe --- /dev/null +++ b/monkestation/code/modules/a_medical_day/lungless.dm @@ -0,0 +1,30 @@ +/datum/status_effect/lungless + id = "no_lungs" + alert_type = null + duration = -1 + tick_interval = -1 + +/datum/status_effect/lungless/on_apply() + if(!iscarbon(owner)) + return FALSE + var/mob/living/carbon/carbon_owner = owner + if(isnull(carbon_owner.dna?.species?.mutantlungs)) + return FALSE + + RegisterSignal(owner, COMSIG_CARBON_ATTEMPT_BREATHE, PROC_REF(block_breath)) + RegisterSignal(owner, COMSIG_SPECIES_GAIN, PROC_REF(check_new_species)) + return TRUE + +/datum/status_effect/lungless/on_remove() + UnregisterSignal(owner, list(COMSIG_CARBON_ATTEMPT_BREATHE, COMSIG_SPECIES_GAIN)) + +/datum/status_effect/lungless/proc/block_breath(...) + SIGNAL_HANDLER + owner.apply_damage(HUMAN_MAX_OXYLOSS, OXY) + return BREATHE_SKIP_BREATH + +/datum/status_effect/lungless/proc/check_new_species(...) + SIGNAL_HANDLER + var/mob/living/carbon/carbon_owner = owner + if(isnull(carbon_owner.dna?.species?.mutantlungs)) + qdel(src) diff --git a/monkestation/code/modules/a_medical_day/surgery.dm b/monkestation/code/modules/a_medical_day/surgery.dm new file mode 100644 index 00000000000000..90ca00ff332779 --- /dev/null +++ b/monkestation/code/modules/a_medical_day/surgery.dm @@ -0,0 +1,121 @@ +/datum/surgery_step/heal/proc/get_perfect_information(mob/user, mob/target) + if(issilicon(user)) + return TRUE + if(user.is_holding_item_of_type(/obj/item/healthanalyzer)) + return TRUE + for(var/obj/machinery/computer/puter in range(2, target)) + if(istype(puter, /obj/machinery/computer/operating)) + var/obj/machinery/computer/operating/op_comp = puter + if(op_comp.table?.patient == target) + return TRUE + if(istype(puter, /obj/machinery/computer/vitals_reader)) + var/obj/machinery/computer/vitals_reader/vr_comp = puter + if(vr_comp.patient == target) + return TRUE + // melbert todo : add modsuit health analyzer to this + return FALSE + +/datum/surgery/repair_broken_rib + name = "Repair fractured rib (hairline)" + surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB + targetable_wound = /datum/wound/blunt/bone/rib_break + possible_locs = list( + BODY_ZONE_CHEST, + ) + steps = list( + /datum/surgery_step/incise, + /datum/surgery_step/retract_skin, + /datum/surgery_step/clamp_bleeders, + /datum/surgery_step/repair_bone_hairline, + /datum/surgery_step/close, + ) + +/// Repair internal bleeding +/datum/surgery/internal_bleeding + name = "Repair Internal Bleeding" + surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB + targetable_wound = /datum/wound/bleed_internal + target_mobtypes = list(/mob/living/carbon) + possible_locs = list( + BODY_ZONE_R_ARM, + BODY_ZONE_L_ARM, + BODY_ZONE_R_LEG, + BODY_ZONE_L_LEG, + BODY_ZONE_CHEST, + BODY_ZONE_HEAD, + ) + steps = list( + /datum/surgery_step/incise, + /datum/surgery_step/retract_skin, + /datum/surgery_step/clamp_bleeders, + /datum/surgery_step/repair_veins, + /datum/surgery_step/close, + ) + +/datum/surgery_step/repair_veins + name = "repair arterial bleeding (hemostat/blood filter)" + implements = list( + TOOL_HEMOSTAT = 100, + TOOL_BLOODFILTER = 100, + TOOL_WIRECUTTER = 40, + /obj/item/stack/sticky_tape/surgical = 30, + /obj/item/stack/cable_coil = 10, + /obj/item/stack/sticky_tape = 10, + ) + preop_sound = 'sound/surgery/hemostat1.ogg' + success_sound = 'sound/surgery/organ2.ogg' + time = 6 SECONDS + repeatable = TRUE + pain_amount = 12 + +/datum/surgery_step/repair_veins/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/in_where = "[target]'s [parse_zone(target_zone)]" + display_results( + user, + target, + span_notice("You begin repair the arteries in [in_where]..."), + span_notice("[user] begins to repair the arteries in [in_where] with [tool]."), + span_notice("[user] begins to repair the arteries in [in_where]."), + ) + display_pain( + target, + "You feel a horrible stabbing pain in your [parse_zone(target_zone)]!", + target_zone = target_zone, + ) + +/datum/surgery_step/repair_veins/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) + var/in_where = "[target]'s [parse_zone(target_zone)]" + if((surgery.operated_wound?.severity - 1) <= WOUND_SEVERITY_TRIVIAL) + qdel(surgery.operated_wound) + display_results( + user, + target, + span_green("You've finishes repairing all the arterial damage in [in_where]."), + span_green("[user] finishes repaiing all the arterial damage in [in_where] with [tool]!"), + span_green("[user] finishes repaiing all the arterial damage in [in_where]!"), + ) + repeatable = FALSE + return ..() + + surgery.operated_wound.severity-- + display_results( + user, + target, + span_notice("You successfully repair some of the arteries in [in_where] with [tool]."), + span_notice("[user] successfully repairs some of the arteries in [in_where] with [tool]!"), + span_notice("[user] successfully repairs some of the arteries in [in_where]!"), + ) + target.apply_damage(3, BRUTE, surgery.operated_bodypart, wound_bonus = CANT_WOUND, attacking_item = tool) + return ..() + +/datum/surgery_step/repair_veins/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) + var/in_where = "[target]'s [parse_zone(target_zone)]" + display_results( + user, + target, + span_warning("You tear some of the arteries in [in_where]!"), + span_warning("[user] tears some of the arteries in [in_where] with [tool]!"), + span_warning("[user] tears some of the arteries in [in_where]!"), + ) + target.apply_damage(rand(4, 8), BRUTE, surgery.operated_bodypart, wound_bonus = 10, sharpness = SHARP_EDGED, attacking_item = tool) + return FALSE diff --git a/monkestation/code/modules/a_medical_day/thermics.dm b/monkestation/code/modules/a_medical_day/thermics.dm new file mode 100644 index 00000000000000..9c4af98dd405c3 --- /dev/null +++ b/monkestation/code/modules/a_medical_day/thermics.dm @@ -0,0 +1,94 @@ +/// Hypo and Hyperthermia status effects. +/datum/status_effect/thermia + id = "thermia" + alert_type = null + status_type = STATUS_EFFECT_REPLACE + tick_interval = 3 SECONDS + processing_speed = STATUS_EFFECT_NORMAL_PROCESS + /// Flat penalty of consciousness applied over time + var/consciousness_mod = 0 + var/max_consciousness_mod = 0 + var/datum/weakref/alert_ref + COOLDOWN_DECLARE(update_cd) + +/datum/status_effect/thermia/on_apply() + + give_alert() + COOLDOWN_START(src, update_cd, 6 SECONDS) + return TRUE + +/datum/status_effect/thermia/on_remove() + owner.clear_alert(ALERT_TEMPERATURE) + owner.clear_mood_event(id) + owner.remove_movespeed_modifier(/datum/movespeed_modifier/cold) + +/datum/status_effect/thermia/tick(seconds_between_ticks) + if(!COOLDOWN_FINISHED(src, update_cd)) + return + + owner.adjust_pain_shock(1 * (consciousness_mod * 0.1)) + + COOLDOWN_START(src, update_cd, 9 SECONDS) + +/// Manually applying alerts, rather than using the api for it, becuase we need to apply "severity" argument +/datum/status_effect/thermia/proc/give_alert() + return + +/datum/status_effect/thermia/hypo + var/slowdown_mod + +/datum/status_effect/thermia/hypo/on_creation(mob/living/new_owner, slowdown_mod = 1) + src.slowdown_mod = slowdown_mod + return ..() + +/datum/status_effect/thermia/hypo/on_apply() + . = ..() + owner.add_mood_event(id, /datum/mood_event/cold) + // Apply cold slow down + owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/cold, multiplicative_slowdown = slowdown_mod) + +/datum/status_effect/thermia/hypo/one + consciousness_mod = 5 + +/datum/status_effect/thermia/hypo/one/give_alert() + return owner.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) + +/datum/status_effect/thermia/hypo/two + consciousness_mod = 10 + +/datum/status_effect/thermia/hypo/two/give_alert() + return owner.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) + +/datum/status_effect/thermia/hypo/three + consciousness_mod = 20 + max_consciousness_mod = 30 + +/datum/status_effect/thermia/hypo/three/give_alert() + return owner.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) + +/datum/status_effect/thermia/hyper + +/datum/status_effect/thermia/hyper/on_apply() + . = ..() + owner.add_mood_event(id, /datum/mood_event/hot) + //Remove any slowdown from the cold. + owner.remove_movespeed_modifier(/datum/movespeed_modifier/cold) + +/datum/status_effect/thermia/hyper/one + consciousness_mod = 5 + +/datum/status_effect/thermia/hyper/one/give_alert() + return owner.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) + +/datum/status_effect/thermia/hyper/two + consciousness_mod = 10 + +/datum/status_effect/thermia/hyper/two/give_alert() + return owner.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) + +/datum/status_effect/thermia/hyper/three + consciousness_mod = 20 + max_consciousness_mod = 30 + +/datum/status_effect/thermia/hyper/three/give_alert() + return owner.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) diff --git a/monkestation/code/modules/and_roll_credits/_credits.dm b/monkestation/code/modules/and_roll_credits/_credits.dm new file mode 100644 index 00000000000000..de37f7c4d0fead --- /dev/null +++ b/monkestation/code/modules/and_roll_credits/_credits.dm @@ -0,0 +1,179 @@ +#define CREDIT_ROLL_SPEED 9 SECONDS +#define CREDIT_SPAWN_SPEED 1 SECONDS +#define CREDIT_ANIMATE_HEIGHT (16 * world.icon_size) +#define CREDIT_EASE_DURATION 2.2 SECONDS +#define CREDITS_PATH "[global.config.directory]/contributors.dmi" + +/client/proc/RollCredits() + set waitfor = FALSE + if(!fexists(CREDITS_PATH)) + return + LAZYINITLIST(credits) + var/list/_credits = credits + add_verb(src, /client/proc/ClearCredits) + var/static/list/credit_order_for_this_round + if(isnull(credit_order_for_this_round)) + SScredits.draft() + SScredits.finalize() + credit_order_for_this_round = list() + credit_order_for_this_round += SScredits.episode_string + credit_order_for_this_round += SScredits.producers_string + credit_order_for_this_round += SScredits.disclaimers_string + credit_order_for_this_round += SScredits.cast_string + credit_order_for_this_round += "
The Admin Bus
" + var/list/admins = shuffle(SScredits.admin_pref_images) + + var/y_offset = 0 + var/admin_length = length(admins) + for(var/i in 1 to admin_length) + var/x_offset = -40 + for(var/b in 1 to 8) + var/atom/movable/screen/map_view/char_preview/picked = pick_n_take(admins) + if(!picked) + break + picked.pixel_x = x_offset + picked.pixel_y = y_offset + x_offset += 70 + credit_order_for_this_round += picked + + credit_order_for_this_round += "
Our Lovely Contributors
" + var/list/contributors = shuffle(SScredits.contributer_pref_images) + + var/contributors_length = length(contributors) + for(var/i in 1 to contributors_length) + var/x_offset = -40 + for(var/b in 1 to 8) + if(b == 1) + y_offset = 0 + var/atom/movable/screen/map_view/char_preview/picked = pick_n_take(contributors) + if(!picked) + break + picked.pixel_x = x_offset + picked.pixel_y = y_offset + x_offset += 70 + credit_order_for_this_round += picked + + for(var/i in SScredits.major_event_icons) + credit_order_for_this_round += i + var/list/returned_images = SScredits.resolve_clients(SScredits.major_event_icons[i], i) + for(var/y in 1 to length(returned_images)) + var/x_offset = -40 + for(var/b in 1 to 8) + var/atom/movable/screen/map_view/char_preview/client_image = pick_n_take(returned_images) + if(!client_image) + break + client_image.pixel_x = x_offset + client_image.pixel_y = y_offset + x_offset += 70 + credit_order_for_this_round += client_image + + var/count = 0 + for(var/I in credit_order_for_this_round) + if(!credits) + return + if(istype(I, /obj/effect/title_card_object)) //huge image sleep + sleep(CREDIT_SPAWN_SPEED * 3.3) + count = 0 + if(count && !istype(I, /atom/movable/screen/map_view/char_preview)) + sleep(CREDIT_SPAWN_SPEED) + + _credits += new /atom/movable/screen/credit(null, I, src) + if(istype(I, /atom/movable/screen/map_view/char_preview)) + count++ + if(count >= 8) + count = 0 + sleep(CREDIT_SPAWN_SPEED) + if(!istype(I, /atom/movable/screen/map_view/char_preview)) + sleep(CREDIT_SPAWN_SPEED) + count = 0 + sleep(CREDIT_ROLL_SPEED - CREDIT_SPAWN_SPEED) + remove_verb(src, /client/proc/ClearCredits) + +/client/proc/ClearCredits() + set name = "Hide Credits" + set category = "OOC" + remove_verb(src, /client/proc/ClearCredits) + QDEL_LIST(credits) + credits = null + +/atom/movable/screen/credit + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + alpha = 0 + plane = SPLASHSCREEN_PLANE + screen_loc = "3,1" + var/client/parent + var/matrix/target + +/atom/movable/screen/credit/Initialize(mapload, credited, client/P) + . = ..() + icon = CREDITS_PATH + parent = P + var/view = P?.view + var/list/offsets = screen_loc_to_offset("3,1", view) + + if(istype(credited, /atom/movable/screen/map_view/char_preview)) + var/atom/movable/screen/map_view/char_preview/choice = credited + choice.plane = plane + choice.screen_loc = screen_loc + choice.alpha = alpha + maptext_width = choice.maptext_width + maptext = choice.maptext + appearance = choice.appearance + screen_loc = offset_to_screen_loc(offsets[1] + choice.pixel_x, offsets[2] + choice.pixel_y) + add_overlay(choice) + + if(istype(credited, /mutable_appearance)) + var/mutable_appearance/choice = credited + choice.plane = plane + choice.screen_loc = screen_loc + choice.alpha = alpha + maptext_width = choice.maptext_width + maptext = choice.maptext + appearance = choice.appearance + screen_loc = offset_to_screen_loc(offsets[1] + choice.pixel_x, offsets[2] + choice.pixel_y) + add_overlay(choice) + + if(istype(credited, /obj/effect/title_card_object)) + var/obj/effect/title_card_object/choice = credited + choice.plane = plane + choice.screen_loc = screen_loc + choice.alpha = alpha + maptext_width = choice.maptext_width + maptext = choice.maptext + appearance = choice.appearance + screen_loc = offset_to_screen_loc(offsets[1] + choice.pixel_x, offsets[2] + choice.pixel_y) + add_overlay(choice) + + if(istext(credited)) + maptext = MAPTEXT_PIXELLARI(credited) + maptext_x = world.icon_size + 8 + maptext_y = (world.icon_size / 2) - 4 + maptext_width = world.icon_size * 12 + maptext_height = world.icon_size * 2 + + var/matrix/M = matrix(transform) + M.Translate(0, CREDIT_ANIMATE_HEIGHT) + animate(src, transform = M, time = CREDIT_ROLL_SPEED) + target = M + animate(src, alpha = 255, time = CREDIT_EASE_DURATION, flags = ANIMATION_PARALLEL) + addtimer(CALLBACK(src, PROC_REF(FadeOut)), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION) + QDEL_IN(src, CREDIT_ROLL_SPEED) + if(parent) + parent.screen += src + +/atom/movable/screen/credit/Destroy() + icon = null + if(parent) + parent.screen -= src + LAZYREMOVE(parent.credits, src) + parent = null + return ..() + +/atom/movable/screen/credit/proc/FadeOut() + animate(src, alpha = 0, transform = target, time = CREDIT_EASE_DURATION) + +#undef CREDIT_ANIMATE_HEIGHT +#undef CREDIT_EASE_DURATION +#undef CREDIT_ROLL_SPEED +#undef CREDIT_SPAWN_SPEED +#undef CREDITS_PATH diff --git a/monkestation/code/modules/and_roll_credits/credits_subsystem.dm b/monkestation/code/modules/and_roll_credits/credits_subsystem.dm new file mode 100644 index 00000000000000..f3d4360f9ee4e8 --- /dev/null +++ b/monkestation/code/modules/and_roll_credits/credits_subsystem.dm @@ -0,0 +1,240 @@ +SUBSYSTEM_DEF(credits) + name = "Credits Screen Storage" + flags = SS_NO_FIRE + init_order = INIT_ORDER_CREDITS + + var/director = "Some monkey we found on the street" + var/star = "" + var/ss = "" + var/list/disclaimers = list() + var/list/datum/episode_name/episode_names = list() + + var/episode_name = "" + var/episode_reason = "" + var/producers_string = "" + var/list/episode_string + var/list/disclaimers_string + var/list/cast_string + + //If any of the following five are modified, the episode is considered "not a rerun". + var/customized_name = "" + var/customized_star = "" + var/customized_ss = "" + var/rare_episode_name = FALSE + var/theme = "NT" + + var/js_args = list() + + var/list/contributer_pref_images = list() + var/list/admin_pref_images = list() + var/list/major_event_icons = list() + var/list/contributors = list() + +/datum/controller/subsystem/credits/Initialize() + load_contributors() + generate_pref_images() + return SS_INIT_SUCCESS + +/datum/controller/subsystem/credits/proc/load_contributors() + contributors = list() + var/list/lines = world.file2list("[global.config.directory]/contributors.txt") + for(var/line in lines) + if(!length(line)) + continue + if(findtextEx(line, "#", 1, 2)) + continue + contributors |= line + +/datum/controller/subsystem/credits/proc/draft() + draft_episode_names() + draft_disclaimers() + draft_caststring() + +/datum/controller/subsystem/credits/proc/finalize() + finalize_name() + finalize_episodestring() + finalize_disclaimerstring() + +/datum/controller/subsystem/credits/proc/generate_pref_images() + + for(var/ckey in contributors) + var/datum/client_interface/interface = new(ckey) + var/datum/preferences/mocked = new(interface) + + var/mob/living/carbon/human/dummy/extra_tall/dummy = new + dummy.appearance_flags &= ~TILE_BOUND + + var/atom/movable/screen/map_view/char_preview/appereance = new(null, mocked) + appereance.update_body() + appereance.maptext_width = 120 + appereance.maptext_y = -8 + appereance.maptext_x = -42 + appereance.maptext = "
[ckey]
" + contributer_pref_images += appereance + + for(var/ckey in GLOB.admin_datums) + var/datum/client_interface/interface = new(ckey(ckey)) + var/datum/preferences/mocked = new(interface) + + var/mob/living/carbon/human/dummy/extra_tall/dummy = new + dummy.appearance_flags &= ~TILE_BOUND + + var/atom/movable/screen/map_view/char_preview/appereance = new(null, mocked) + appereance.update_body() + appereance.maptext_width = 120 + appereance.maptext_x = -42 + appereance.maptext_y = -8 + appereance.maptext = "
[ckey]
" + admin_pref_images += appereance + +/datum/controller/subsystem/credits/proc/draft_star() + var/mob/living/carbon/human/most_talked + for(var/mob/living/carbon/human/H in GLOB.player_list) + if(!H.ckey || H.stat == DEAD) + continue + if(!most_talked || H.talkcount > most_talked.talkcount) + most_talked = H + star = thebigstar(most_talked) + + +/datum/controller/subsystem/credits/proc/finalize_name() + if(customized_name) + episode_name = customized_name + return + var/list/drafted_names = list() + var/list/name_reasons = list() + var/list/is_rare_assoc_list = list() + for(var/datum/episode_name/N as anything in episode_names) + drafted_names["[N.thename]"] = N.weight + name_reasons["[N.thename]"] = N.reason + is_rare_assoc_list["[N.thename]"] = N.rare + episode_name = pick_weight(drafted_names) + episode_reason = name_reasons[episode_name] + if(is_rare_assoc_list[episode_name] == TRUE) + rare_episode_name = TRUE + +/datum/controller/subsystem/credits/proc/finalize_episodestring() + var/season = time2text(world.timeofday,"YY") + var/episodenum = GLOB.round_id || 1 + episode_string = list("
SEASON [season] EPISODE [episodenum]
") + episode_string += "
[episode_name]
" + +/datum/controller/subsystem/credits/proc/finalize_disclaimerstring() + disclaimers_string = list() + for(var/disclaimer in disclaimers) + disclaimers_string += "
[disclaimer]
" +/datum/controller/subsystem/credits/proc/draft_disclaimers() + disclaimers += "Filmed on Location at [station_name()].
" + disclaimers += "Filmed with BYOND© cameras and lenses. Outer space footage provided by NASA.
" + disclaimers += "Additional special visual effects by LUMMOX® JR. Motion Picture Productions.
" + disclaimers += "Unofficially Sponsored by The United States Navy.
" + disclaimers += "All rights reserved.
" + disclaimers += "
" + disclaimers += pick("All stunts were performed by underpaid and expendable interns. Do NOT try at home.
", "[director] does not endorse behaviour depicted. Attempt at your own risk.
") + disclaimers += "This motion picture is (not) protected under the copyright laws of the United States and all countries throughout the universe" + disclaimers += "Country of first publication: United States of America." + disclaimers += "Any unauthorized exhibition, distribution, or copying of this picture or any part thereof (including soundtrack)" + disclaimers += "is an infringement of the relevant copyright and will subject the infringer to civil liability and criminal prosecution." + disclaimers += "The story, all names, characters, and incidents portrayed in this production are fictitious." + disclaimers += "No identification with actual persons (living or deceased), places, buildings, and products is intended or should be inferred." + +/datum/controller/subsystem/credits/proc/draft_caststring() + cast_string = list("
CAST:
") + var/cast_num = 0 + for(var/mob/living/carbon/human/H in GLOB.player_list) + if(!H.ckey && !(H.stat == DEAD)) + continue + var/assignment = H.get_assignment(if_no_id = "", if_no_job = "") + cast_string += "
[uppertext(H.mind.key)] as [H.real_name][assignment == "" ? "" : ", [assignment]"]
" + cast_num++ + + for(var/mob/living/silicon/S in GLOB.silicon_mobs) + if(!S.ckey) + continue + cast_string += "
[uppertext(S.mind.key)] as [S.name]
" + cast_num++ + + if(!cast_num) + cast_string += "
Nobody!
" + + var/list/corpses = list() + for(var/mob/living/carbon/human/H in GLOB.dead_mob_list) + if(!H.mind) + continue + if(H.real_name) + corpses += H.real_name + if(corpses.len) + var/true_story_bro = "

[pick("BASED ON","INSPIRED BY","A RE-ENACTMENT OF")] [pick("A TRUE STORY","REAL EVENTS","THE EVENTS ABOARD [uppertext(station_name())]")]
" + cast_string += "

[true_story_bro]


In memory of those that did not make it.
[english_list(corpses)].
" + cast_string += "
" + + +/datum/controller/subsystem/credits/proc/thebigstar(star) + if(istext(star)) + return star + if(ismob(star)) + var/mob/M = star + return "[uppertext(M.mind.key)] as [M.real_name]" + +/datum/controller/subsystem/credits/proc/generate_major_icon(list/mobs, passed_icon_state) + if(!passed_icon_state) + return + var/obj/effect/title_card_object/MA + for(var/obj/effect/title_card_object/effect as anything in major_event_icons) + if(effect.icon_state == passed_icon_state) + MA = effect + break + if(!MA) + MA = new + MA.icon_state = passed_icon_state + MA.pixel_x = 80 + major_event_icons += MA + major_event_icons[MA] = list() + + major_event_icons[MA] |= mobs + +/datum/controller/subsystem/credits/proc/resolve_clients(list/clients, icon_state) + var/list/created_appearances = list() + + //hell + if(icon_state == "cult") + var/datum/team/cult/cult = locate(/datum/team/cult) in GLOB.antagonist_teams + if(cult) + for(var/mob/living/cultist in cult.true_cultists) + if(!cultist.client) + continue + clients |= WEAKREF(cultist.client) + if(icon_state == "revolution") + var/datum/team/revolution/cult = locate(/datum/team/revolution) in GLOB.antagonist_teams + if(cult) + for(var/datum/mind/cultist in (cult.ex_revs + cult.ex_headrevs + cult.members)) + if(!cultist?.current?.client) + continue + clients |= WEAKREF(cultist.current.client) + if(icon_state == "clockcult") + var/datum/team/clock_cult/cult = locate(/datum/team/clock_cult) in GLOB.antagonist_teams + if(cult) + for(var/mob/living/carbon/human/cultist in (cult.human_servants)) + if(!cultist.client) + continue + clients |= WEAKREF(cultist.client) + + for(var/datum/weakref/weak as anything in clients) + var/client/client = weak.resolve() + if(!client) + continue + var/atom/movable/screen/map_view/char_preview/appereance = new(null, client.prefs) + var/mutable_appearance/preview = new(getFlatIcon(client.mob?.appearance)) + appereance.appearance = preview.appearance + appereance.maptext_width = 120 + appereance.maptext_y = -8 + appereance.maptext_x = -42 + appereance.maptext = "
[client.mob.real_name]
" + created_appearances += appereance + return created_appearances + +/mob/living/var/talkcount = 0 + +/obj/effect/title_card_object + plane = SPLASHSCREEN_PLANE + icon = 'monkestation/code/modules/and_roll_credits/icons/title_cards.dmi' diff --git a/monkestation/code/modules/and_roll_credits/episode_names.dm b/monkestation/code/modules/and_roll_credits/episode_names.dm new file mode 100644 index 00000000000000..5ec5cc0f99be42 --- /dev/null +++ b/monkestation/code/modules/and_roll_credits/episode_names.dm @@ -0,0 +1,363 @@ +#define BLACKBOX_FEEDBACK_NUM(key) (SSblackbox.feedback_list[key] ? SSblackbox.feedback_list[key].json["data"] : null) + +/datum/episode_name + var/thename = "" + var/reason = "Nothing particularly of note happened this round to influence the episode name." //Explanation on why this episode name fits this round. For the admin panel. + var/weight = 100 //50 will have 50% the chance of being picked. 200 will have 200% the chance of being picked, etc. Relative to other names, not total (just the default names already total 700%) + var/rare = FALSE //If set to true and this episode name is picked, the current round is considered "not a rerun" for client preferences. + +/datum/episode_name/rare + rare = TRUE + +/datum/episode_name/New(thename, reason, weight) + if(!thename) + return + src.thename = thename + if(reason) + src.reason = reason + if(weight) + src.weight = weight + + switch(rand(1,15)) + if(0 to 5) + thename += ": PART I" + if(6 to 10) + thename += ": PART II" + if(11 to 12) + thename += ": PART III" + if(13) + thename += ": NOW IN 3D" + if(14) + thename += ": ON ICE!" + if(15) + thename += ": THE SEASON FINALE" + +/datum/controller/subsystem/credits/proc/draft_episode_names() + var/uppr_name = uppertext(station_name()) //so we don't run these two 500 times + + episode_names += new /datum/episode_name("THE [pick("DOWNFALL OF", "RISE OF", "TROUBLE WITH", "FINAL STAND OF", "DARK SIDE OF")] [pick(200;"[uppr_name]", 150;"SPACEMEN", 150;"HUMANITY", "DIGNITY", "SANITY", "SCIENCE", "CURIOSITY", "EMPLOYMENT", "PARANOIA", "THE CHIMPANZEES", 50;"THE VENDOMAT PRICES")]") + episode_names += new /datum/episode_name("THE CREW [pick("GOES ON WELFARE", "GIVES BACK", "SELLS OUT", "GETS WHACKED", "SOLVES THE PLASMA CRISIS", "HITS THE ROAD", "RISES", "RETIRES", "GOES TO HELL", "DOES A CLIP SHOW", "GETS AUDITED", "DOES A TV COMMERCIAL", "AFTER HOURS", "GETS A LIFE", "STRIKES BACK", "GOES TOO FAR", "IS 'IN' WITH IT", "WINS... BUT AT WHAT COST?", "INSIDE OUT")]") + episode_names += new /datum/episode_name("THE CREW'S [pick("DAY OUT", "BIG GAY ADVENTURE", "LAST DAY", "[pick("WILD", "WACKY", "LAME", "UNEXPECTED")] VACATION", "CHANGE OF HEART", "NEW GROOVE", "SCHOOL MUSICAL", "HISTORY LESSON", "FLYING CIRCUS", "SMALL PROBLEM", "BIG SCORE", "BLOOPER REEL", "GOT IT", "LITTLE SECRET", "SPECIAL OFFER", "SPECIALTY", "WEAKNESS", "CURIOSITY", "ALIBI", "LEGACY", "BIRTHDAY PARTY", "REVELATION", "ENDGAME", "RESCUE", "PAYBACK")]") + episode_names += new /datum/episode_name("THE CREW GETS [pick("PHYSICAL", "SERIOUS ABOUT [pick("DRUG ABUSE", "CRIME", "PRODUCTIVITY", "ANCIENT AMERICAN CARTOONS", "SPACEBALL")]", "PICKLED", "AN ANAL PROBE", "PIZZA", "NEW WHEELS", "A VALUABLE HISTORY LESSON", "A BREAK", "HIGH", "TO LIVE", "TO RELIVE THEIR CHILDHOOD", "EMBROILED IN CIVIL WAR", "DOWN WITH IT", "FIRED", "BUSY", "THEIR SECOND CHANCE", "TRAPPED", "THEIR REVENGE")]") + episode_names += new /datum/episode_name("[pick("BALANCE OF POWER", "SPACE TRACK", "SEX BOMB", "WHOSE IDEA WAS THIS ANYWAY?", "WHATEVER HAPPENED, HAPPENED", "THE GOOD, THE BAD, AND [uppr_name]", "RESTRAIN YOUR ENJOYMENT", "REAL HOUSEWIVES OF [uppr_name]", "MEANWHILE, ON [uppr_name]...", "CHOOSE YOUR OWN ADVENTURE", "NO PLACE LIKE HOME", "LIGHTS, CAMERA, [uppr_name]!", "50 SHADES OF [uppr_name]", "GOODBYE, [uppr_name]!", "THE SEARCH", \ + "THE CURIOUS CASE OF [uppr_name]", "ONE HELL OF A PARTY", "FOR YOUR CONSIDERATION", "PRESS YOUR LUCK", "A STATION CALLED [uppr_name]", "CRIME AND PUNISHMENT", "MY DINNER WITH [uppr_name]", "UNFINISHED BUSINESS", "THE ONLY STATION THAT'S NOT ON FIRE (YET)", "SOMEONE'S GOTTA DO IT", "THE [uppr_name] MIX-UP", "PILOT", "PROLOGUE", "FINALE", "UNTITLED", "THE END")]") + episode_names += new /datum/episode_name("[pick("SPACE", "SEXY", "DRAGON", "WARLOCK", "LAUNDRY", "GUN", "ADVERTISING", "DOG", "CARBON MONOXIDE", "NINJA", "WIZARD", "SOCRATIC", "JUVENILE DELIQUENCY", "POLITICALLY MOTIVATED", "RADTACULAR SICKNASTY", "CORPORATE", "MEGA")] [pick("QUEST", "FORCE", "ADVENTURE")]", weight=25) + + switch(GLOB.start_state.score(SSticker.end_state)) + if(-INFINITY to -2000) + episode_names += new /datum/episode_name("[pick("THE CREW'S PUNISHMENT", "A PUBLIC RELATIONS NIGHTMARE", "[uppr_name]: A NATIONAL CONCERN", "WITH APOLOGIES TO THE CREW", "THE CREW BITES THE DUST", "THE CREW BLOWS IT", "THE CREW GIVES UP THE DREAM", "THE CREW IS DONE FOR", "THE CREW SHOULD NOT BE ALLOWED ON TV", "THE END OF [uppr_name] AS WE KNOW IT")]", "Extremely low score of [GLOB.start_state.score(SSticker.end_state)].", 250) + if(4500 to INFINITY) + episode_names += new /datum/episode_name("[pick("THE CREW'S DAY OUT", "THIS SIDE OF PARADISE", "[uppr_name]: A SITUATION COMEDY", "THE CREW'S LUNCH BREAK", "THE CREW'S BACK IN BUSINESS", "THE CREW'S BIG BREAK", "THE CREW SAVES THE DAY", "THE CREW RULES THE WORLD", "THE ONE WITH ALL THE SCIENCE AND PROGRESS AND PROMOTIONS AND ALL THE COOL AND GOOD THINGS", "THE TURNING POINT")]", "High score of [GLOB.start_state.score(SSticker.end_state)].", 250) + + if(istype(SSticker.mode, /datum/game_mode/dynamic)) + var/list/ran_events = SSgamemode.triggered_round_events.Copy() + switch(rand(1, 100)) + if(0 to 35) + episode_names += new /datum/episode_name("[pick("THE DAY [uppr_name] STOOD STILL", "MUCH ADO ABOUT NOTHING", "WHERE SILENCE HAS LEASE", "RED HERRING", "HOME ALONE", "GO BIG OR GO [uppr_name]", "PLACEBO EFFECT", "ECHOES", "SILENT PARTNERS", "WITH FRIENDS LIKE THESE...", "EYE OF THE STORM", "BORN TO BE MILD", "STILL WATERS")]", "Low threat level.", 150) + if(GLOB.start_state.score(SSticker.end_state) < -1000) + episode_names += new /datum/episode_name/rare("[pick("HOW OH HOW DID IT ALL GO SO WRONG?!", "EXPLAIN THIS ONE TO THE EXECUTIVES", "THE CREW GOES ON SAFARI", "OUR GREATEST ENEMY", "THE INSIDE JOB", "MURDER BY PROXY")]", "Low threat levels... but the crew still had a very low score.", GLOB.start_state.score(SSticker.end_state)/150*-2) + if(35 to 60) + episode_names += new /datum/episode_name("[pick("THERE MIGHT BE BLOOD", "IT CAME FROM [uppr_name]!", "THE [uppr_name] INCIDENT", "THE ENEMY WITHIN", "MIDDAY MADNESS", "AS THE CLOCK STRIKES TWELVE", "CONFIDENCE AND PARANOIA", "THE PRANK THAT WENT WAY TOO FAR", "A HOUSE DIVIDED", "[uppr_name] TO THE RESCUE!", "ESCAPE FROM [uppr_name]", \ + "HIT AND RUN", "THE AWAKENING", "THE GREAT ESCAPE", "THE LAST TEMPTATION OF [uppr_name]", "[uppr_name]'S FALL FROM GRACE", "BETTER THE [uppr_name] YOU KNOW...", "PLAYING WITH FIRE", "UNDER PRESSURE", "THE DAY BEFORE THE DEADLINE", "[uppr_name]'S MOST WANTED", "THE BALLAD OF [uppr_name]")]", "Moderate threat level", 150) + if(60 to 100) + episode_names += new /datum/episode_name("[pick("ATTACK! ATTACK! ATTACK!", "CAN'T FIX CRAZY", "APOCALYPSE [pick("N", "W", "H")]OW", "A TASTE OF ARMAGEDDON", "OPERATION: ANNIHILATE!", "THE PERFECT STORM", "TIME'S UP FOR THE CREW", "A TOTALLY FUN THING THAT THE CREW WILL NEVER DO AGAIN", "EVERYBODY HATES [uppr_name]", "BATTLE OF [uppr_name]", \ + "THE SHOWDOWN", "MANHUNT", "THE ONE WITH ALL THE FIGHTING", "THE RECKONING OF [uppr_name]", "THERE GOES THE NEIGHBORHOOD", "THE THIN RED LINE", "ONE DAY FROM RETIREMENT")]", "High threat levels.", 250) + if(get_station_avg_temp() < T0C) + episode_names += new /datum/episode_name/rare("[pick("THE OPPORTUNITY OF A LIFETIME", "DRASTIC MEASURES", "DEUS EX", "THE SHOW MUST GO ON", "TRIAL BY FIRE", "A STITCH IN TIME", "ALL'S FAIR IN LOVE AND WAR", "COME HELL OR HIGH HEAVEN", "REVERSAL OF FORTUNE", "DOUBLE TOIL AND DOUBLE TROUBLE")]") + episode_names += new /datum/episode_name/rare("A COLD DAY IN HELL", "Station temperature was below 0C this round and threat was high", 1000) + if(locate(/datum/round_event_control/antagonist/solo/malf) in ran_events) + episode_names += new /datum/episode_name/rare("[pick("I'M SORRY [uppr_name], I'M AFRAID I CAN'T LET YOU DO THAT", "A STRANGE GAME", "THE AI GOES ROGUE", "RISE OF THE MACHINES")]", "Round included a malfunctioning AI.", 300) + if(locate(/datum/round_event_control/antagonist/solo/revolutionary) in ran_events) + episode_names += new /datum/episode_name/rare("[pick("THE CREW STARTS A REVOLUTION", "HELL IS OTHER SPESSMEN", "INSURRECTION", "THE CREW RISES UP", 25;"FUN WITH FRIENDS")]", "Round included roundstart revs.", 350) + if(copytext(uppr_name,1,2) == "V") + episode_names += new /datum/episode_name/rare("V FOR [uppr_name]", "Round included roundstart revs... and the station's name starts with V.", 1500) + if(locate(/datum/round_event_control/blob) in ran_events) + episode_names += new /datum/episode_name/rare("[pick("MARRIED TO THE BLOB", "THE CREW GETS QUARANTINED")]", "Round included a roundstart blob.", 350) + + if(BLACKBOX_FEEDBACK_NUM("narsies_spawned") > 0) + episode_names += new /datum/episode_name/rare("[pick("NAR-SIE'S DAY OUT", "NAR-SIE'S VACATION", "THE CREW LEARNS ABOUT SACRED GEOMETRY", "REALM OF THE MAD GOD", "THE ONE WITH THE ELDRITCH HORROR", 50;"STUDY HARD, BUT PART-SIE HARDER")]", "Nar-Sie is loose!", 500) + if(check_holidays(CHRISTMAS)) + episode_names += new /datum/episode_name("A VERY [pick("NANOTRASEN", "EXPEDITIONARY", "SECURE", "PLASMA", "MARTIAN")] CHRISTMAS", "'Tis the season.", 1000) + if(BLACKBOX_FEEDBACK_NUM("guns_spawned") > 0) + episode_names += new /datum/episode_name/rare("[pick("GUNS, GUNS EVERYWHERE", "THUNDER GUN EXPRESS", "THE CREW GOES AMERICA ALL OVER EVERYBODY'S ASS")]", "[BLACKBOX_FEEDBACK_NUM("guns_spawned")] guns were spawned this round.", min(750, BLACKBOX_FEEDBACK_NUM("guns_spawned")*25)) + if(BLACKBOX_FEEDBACK_NUM("heartattacks") > 2) + episode_names += new /datum/episode_name/rare("MY HEART WILL GO ON", "[BLACKBOX_FEEDBACK_NUM("heartattacks")] hearts were reanimated and burst out of someone's chest this round.", min(1500, BLACKBOX_FEEDBACK_NUM("heartattacks")*250)) + + var/datum/bank_account/mr_moneybags + var/static/list/typecache_bank = typecacheof(list(/datum/bank_account/department, /datum/bank_account/remote)) + for(var/i in SSeconomy.bank_accounts_by_id) + var/datum/bank_account/current_acc = SSeconomy.bank_accounts_by_id[i] + if(typecache_bank[current_acc.type]) + continue + if(!mr_moneybags || mr_moneybags.account_balance < current_acc.account_balance) + mr_moneybags = current_acc + + if(mr_moneybags && mr_moneybags.account_balance > 30000) + episode_names += new /datum/episode_name/rare("[pick("WAY OF THE WALLET", "THE IRRESISTIBLE RISE OF [uppertext(mr_moneybags.account_holder)]", "PRETTY PENNY", "IT'S THE ECONOMY, STUPID")]", "Scrooge Mc[mr_moneybags.account_holder] racked up [mr_moneybags.account_balance] credits this round.", min(450, mr_moneybags.account_balance/500)) + if(BLACKBOX_FEEDBACK_NUM("ai_deaths") > 3) + episode_names += new /datum/episode_name/rare("THE ONE WHERE [BLACKBOX_FEEDBACK_NUM("ai_deaths")] AIS DIE", "That's a lot of dead AIs.", min(1500, BLACKBOX_FEEDBACK_NUM("ai_deaths")*300)) + if(BLACKBOX_FEEDBACK_NUM("law_changes") > 12) + episode_names += new /datum/episode_name/rare("[pick("THE CREW LEARNS ABOUT LAWSETS", 15;"THE UPLOAD RAILROAD", 15;"FREEFORM", 15;"ASIMOV SAYS")]", "There were [BLACKBOX_FEEDBACK_NUM("law_changes")] law changes this round.", min(750, BLACKBOX_FEEDBACK_NUM("law_changes")*25)) + if(BLACKBOX_FEEDBACK_NUM("slips") > 50) + episode_names += new /datum/episode_name/rare("THE CREW GOES BANANAS", "People slipped [BLACKBOX_FEEDBACK_NUM("slips")] times this round.", min(500, BLACKBOX_FEEDBACK_NUM("slips")/2)) + + if(BLACKBOX_FEEDBACK_NUM("turfs_singulod") > 200) + episode_names += new /datum/episode_name/rare("[pick("THE SINGULARITY GETS LOOSE", "THE SINGULARITY GETS LOOSE (AGAIN)", "CONTAINMENT FAILURE", "THE GOOSE IS LOOSE", 50;"THE CREW'S ENGINE SUCKS", 50;"THE CREW GOES DOWN THE DRAIN")]", "The Singularity ate [BLACKBOX_FEEDBACK_NUM("turfs_singulod")] turfs this round.", min(1000, BLACKBOX_FEEDBACK_NUM("turfs_singulod")/2)) //no "singularity's day out" please we already have enough + if(BLACKBOX_FEEDBACK_NUM("spacevines_grown") > 150) + episode_names += new /datum/episode_name/rare("[pick("REAP WHAT YOU SOW", "OUT OF THE WOODS", "SEEDY BUSINESS", "[uppr_name] AND THE BEANSTALK", "IN THE GARDEN OF EDEN")]", "[BLACKBOX_FEEDBACK_NUM("spacevines_grown")] tiles worth of Kudzu were grown in total this round.", min(1500, BLACKBOX_FEEDBACK_NUM("spacevines_grown")*2)) + if(BLACKBOX_FEEDBACK_NUM("devastating_booms") >= 6) + episode_names += new /datum/episode_name/rare("THE CREW HAS A BLAST", "[BLACKBOX_FEEDBACK_NUM("devastating_booms")] large explosions happened this round.", min(1000, BLACKBOX_FEEDBACK_NUM("devastating_booms")*100)) + + if(!EMERGENCY_ESCAPED_OR_ENDGAMED) + return + + var/dead = GLOB.joined_player_list.len - SSticker.popcount[POPCOUNT_ESCAPEES] + var/escaped = SSticker.popcount[POPCOUNT_ESCAPEES] + var/human_escapees = SSticker.popcount[POPCOUNT_ESCAPEES_HUMANONLY] + if(dead == 0) + episode_names += new /datum/episode_name/rare("[pick("EMPLOYEE TRANSFER", "LIVE LONG AND PROSPER", "PEACE AND QUIET IN [uppr_name]", "THE ONE WITHOUT ALL THE FIGHTING")]", "No-one died this round.", 2500) //in practice, this one is very very very rare, so if it happens let's pick it more often + if(escaped == 0 || SSshuttle.emergency.is_hijacked()) + episode_names += new /datum/episode_name("[pick("DEAD SPACE", "THE CREW GOES MISSING", "LOST IN TRANSLATION", "[uppr_name]: DELETED SCENES", "WHAT HAPPENS IN [uppr_name], STAYS IN [uppr_name]", "MISSING IN ACTION", "SCOOBY-DOO, WHERE'S THE CREW?")]", "There were no escapees on the shuttle.", 300) + if(escaped < 6 && escaped > 0 && dead > escaped*2) + episode_names += new /datum/episode_name("[pick("AND THEN THERE WERE FEWER", "THE 'FUN' IN 'FUNERAL'", "FREEDOM RIDE OR DIE", "THINGS WE LOST IN [uppr_name]", "GONE WITH [uppr_name]", "LAST TANGO IN [uppr_name]", "GET BUSY LIVING OR GET BUSY DYING", "THE CREW FUCKING DIES", "WISH YOU WERE HERE")]", "[dead] people died this round.", 400) + + var/clowncount = 0 + var/mimecount = 0 + var/assistantcount = 0 + var/chefcount = 0 + var/chaplaincount = 0 + var/lawyercount = 0 + var/minercount = 0 + var/baldycount = 0 + var/horsecount = 0 + for(var/mob/living/carbon/human/H as anything in SSticker.popcount["human_escapees_list"]) + if(HAS_TRAIT(H, TRAIT_MIMING)) + mimecount++ + if(H.is_wearing_item_of_type(list(/obj/item/clothing/mask/gas/clown_hat, /obj/item/clothing/mask/gas/sexyclown)) || (H.mind && H.mind.assigned_role.title == "Clown")) + clowncount++ + if(H.is_wearing_item_of_type(/obj/item/clothing/under/color/grey) || (H.mind && H.mind.assigned_role.title == "Assistant")) + assistantcount++ + if(H.is_wearing_item_of_type(/obj/item/clothing/head/utility/chefhat) || (H.mind && H.mind.assigned_role.title == "Chef")) + chefcount++ + if(H.is_wearing_item_of_type(/obj/item/clothing/under/rank/civilian/lawyer)) + lawyercount++ + if(H.mind && H.mind.assigned_role.title == "Shaft Miner") + minercount++ + /* + if(H.mind && H.mind.assigned_role.title == "Chaplain") + chaplaincount++ + if(IS_CHANGELING(H)) + episode_names += new /datum/episode_name/rare("[uppertext(H.real_name)]: A BLESSING IN DISGUISE", "The Chaplain, [H.real_name], was a changeling and escaped alive.", 750) + */ + if(H.dna.species.type == /datum/species/human && (H.hairstyle == "Bald" || H.hairstyle == "Skinhead") && !(BODY_ZONE_HEAD in H.get_covered_body_zones())) + baldycount++ + if(H.is_wearing_item_of_type(/obj/item/clothing/mask/animal/horsehead)) + horsecount++ + + if(clowncount > 2) + episode_names += new /datum/episode_name/rare("CLOWNS GALORE", "There were [clowncount] clowns on the shuttle.", min(1500, clowncount*250)) + theme = "clown" + if(mimecount > 2) + episode_names += new /datum/episode_name/rare("THE SILENT SHUFFLE", "There were [mimecount] mimes on the shuttle.", min(1500, mimecount*250)) + if(chaplaincount > 2) + episode_names += new /datum/episode_name/rare("COUNT YOUR BLESSINGS", "There were [chaplaincount] chaplains on the shuttle. Like, the real deal, not just clothes.", min(1500, chaplaincount*450)) + if(chefcount > 2) + episode_names += new /datum/episode_name/rare("Too Many Cooks", "There were [chefcount] chefs on the shuttle.", min(1500, chefcount*450)) //intentionally not capitalized, as the theme will customize it + theme = "cooks" + + if(human_escapees) + if(assistantcount / human_escapees > 0.6 && human_escapees > 3) + episode_names += new /datum/episode_name/rare("[pick("GREY GOO", "RISE OF THE GREYTIDE")]", "Most of the survivors were Assistants, or at least dressed like one.", min(1500, assistantcount*200)) + + if(baldycount / human_escapees > 0.6 && SSshuttle.emergency.launch_status == EARLY_LAUNCHED) + episode_names += new /datum/episode_name/rare("TO BALDLY GO", "Most of the survivors were bald, and it shows.", min(1500, baldycount*250)) + if(horsecount / human_escapees > 0.6 && human_escapees> 3) + episode_names += new /datum/episode_name/rare("STRAIGHT FROM THE HORSE'S MOUTH", "Most of the survivors wore horse heads.", min(1500, horsecount*250)) + + if(human_escapees == 1) + var/mob/living/carbon/human/H = SSticker.popcount["human_escapees_list"][1] + + if(IS_TRAITOR(H) || IS_NUKE_OP(H)) + theme = "syndie" + if(H.stat == CONSCIOUS && H.mind && H.mind.assigned_role.title) + switch(H.mind.assigned_role.title) + if("Chef") + var/chance = 250 + if(H.is_wearing_item_of_type(/obj/item/clothing/head/utility/chefhat)) + chance += 500 + if(H.is_wearing_item_of_type(/obj/item/clothing/suit/toggle/chef)) + chance += 500 + if(H.is_wearing_item_of_type(/obj/item/clothing/under/rank/civilian/chef)) + chance += 250 + episode_names += new /datum/episode_name/rare("HAIL TO THE CHEF", "The Chef was the only survivor in the shuttle.", chance) + if("Clown") + var/chance = 250 + if(H.is_wearing_item_of_type(/obj/item/clothing/mask/gas/clown_hat)) + chance += 500 + if(H.is_wearing_item_of_type(list(/obj/item/clothing/shoes/clown_shoes, /obj/item/clothing/shoes/clown_shoes/jester))) + chance += 500 + if(H.is_wearing_item_of_type(list(/obj/item/clothing/under/rank/civilian/clown, /obj/item/clothing/under/rank/civilian/clown/jester))) + chance += 250 + episode_names += new /datum/episode_name/rare("[pick("COME HELL OR HIGH HONKER", "THE LAST LAUGH")]", "The Clown was the only survivor in the shuttle.", chance) + theme = "clown" + if("Detective") + var/chance = 250 + if(H.is_wearing_item_of_type(/obj/item/storage/belt/holster/detective)) + chance += 1000 + if(H.is_wearing_item_of_type(/obj/item/clothing/head/fedora/det_hat)) + chance += 500 + if(H.is_wearing_item_of_type(/obj/item/clothing/suit/jacket/det_suit)) + chance += 500 + if(H.is_wearing_item_of_type(/obj/item/clothing/under/rank/security/detective)) + chance += 250 + episode_names += new /datum/episode_name/rare("[uppertext(H.real_name)]: LOOSE CANNON", "The Detective was the only survivor in the shuttle.", chance) + if("Shaft Miner") + var/chance = 250 + if(H.is_wearing_item_of_type(/obj/item/pickaxe)) + chance += 1000 + if(H.is_wearing_item_of_type(/obj/item/storage/backpack/explorer)) + chance += 500 + if(H.is_wearing_item_of_type(/obj/item/clothing/suit/hooded/explorer)) + chance += 250 + episode_names += new /datum/episode_name/rare("[pick("YOU KNOW THE DRILL", "CAN YOU DIG IT?", "JOURNEY TO THE CENTER OF THE ASTEROI", "CAVE STORY", "QUARRY ON")]", "The Miner was the only survivor in the shuttle.", chance) + if("Librarian") + var/chance = 750 + if(H.is_wearing_item_of_type(/obj/item/book)) + chance += 1000 + episode_names += new /datum/episode_name/rare("COOKING THE BOOKS", "The Librarian was the only survivor in the shuttle.", chance) + if("Chemist") + var/chance = 1000 + if(H.is_wearing_item_of_type(/obj/item/clothing/suit/toggle/labcoat/chemist)) + chance += 500 + if(H.is_wearing_item_of_type(/obj/item/clothing/under/rank/medical/chemist)) + chance += 250 + episode_names += new /datum/episode_name/rare("A BITTER PILL TO SWALLOW", "The Chemist was the only survivor in the shuttle.", chance) + if("Chaplain") //We don't check for uniform here because the chaplain's thing kind of is to improvise their garment gimmick + episode_names += new /datum/episode_name/rare("BLESS THIS MESS", "The Chaplain was the only survivor in the shuttle.", 1250) + + if(H.is_wearing_item_of_type(/obj/item/clothing/mask/luchador) && H.is_wearing_item_of_type(/obj/item/clothing/gloves/boxing)) + episode_names += new /datum/episode_name/rare("[pick("THE CREW, ON THE ROPES", "THE CREW, DOWN FOR THE COUNT", "[uppr_name], DOWN AND OUT")]", "The only survivor in the shuttle wore a luchador mask and boxing gloves.", 1500) + + if(human_escapees == 2) + if(lawyercount == 2) + episode_names += new /datum/episode_name/rare("DOUBLE JEOPARDY", "The only two survivors were IAAs or lawyers.", 2500) + if(chefcount == 2) + episode_names += new /datum/episode_name/rare("CHEF WARS", "The only two survivors were chefs.", 2500) + if(minercount == 2) + episode_names += new /datum/episode_name/rare("THE DOUBLE DIGGERS", "The only two survivors were miners.", 2500) + if(clowncount == 2) + episode_names += new /datum/episode_name/rare("A TALE OF TWO CLOWNS", "The only two survivors were clowns.", 2500) + theme = "clown" + if(clowncount == 1 && mimecount == 1) + episode_names += new /datum/episode_name/rare("THE DYNAMIC DUO", "The only two survivors were the Clown, and the Mime.", 2500) + + else + //more than 0 human escapees + var/braindamage_total = 0 + var/all_braindamaged = TRUE + for(var/mob/living/carbon/human/H as anything in SSticker.popcount["human_escapees_list"]) + var/obj/item/organ/internal/brain/hbrain = H.get_organ_slot(ORGAN_SLOT_BRAIN) + if(hbrain.damage < 60) + all_braindamaged = FALSE + braindamage_total += hbrain.damage + var/average_braindamage = braindamage_total / human_escapees + if(average_braindamage > 30) + episode_names += new /datum/episode_name/rare("[pick("THE CREW'S SMALL IQ PROBLEM", "OW! MY BALLS", "BR[pick("AI", "IA")]N DAM[pick("AGE", "GE", "AG")]", "THE VERY SPECIAL CREW OF [uppr_name]")]", "Average of [average_braindamage] brain damage for each human shuttle escapee.", min(1000, average_braindamage*10)) + if(all_braindamaged && human_escapees > 2) + episode_names += new /datum/episode_name/rare("...AND PRAY THERE'S INTELLIGENT LIFE SOMEWHERE OUT IN SPACE, 'CAUSE THERE'S BUGGER ALL DOWN HERE IN [uppr_name]", "Everyone was braindamaged this round.", human_escapees * 500) + +/proc/get_station_avg_temp() + var/avg_temp = 0 + var/avg_divide = 0 + for(var/obj/machinery/airalarm/alarm in GLOB.machines) + var/turf/location = alarm.loc + if(!istype(location) || !is_station_level(alarm.z)) + continue + var/datum/gas_mixture/environment = location.return_air() + if(!environment) + continue + avg_temp += environment.temperature + avg_divide++ + + if(avg_divide) + return avg_temp / avg_divide + return T0C + + +///Bruteforce check for any type or subtype of an item. +/mob/living/carbon/human/proc/is_wearing_item_of_type(type2check) + var/found + var/list/my_items = get_all_worn_items() + if(islist(type2check)) + for(var/type_iterator in type2check) + found = locate(type_iterator) in my_items + if(found) + return found + else + found = locate(type2check) in my_items + return found + + +/mob/living/carbon/human/get_slot_by_item(obj/item/looking_for) + if(looking_for == belt) + return ITEM_SLOT_BELT + + if(looking_for == wear_id) + return ITEM_SLOT_ID + + if(looking_for == ears) + return ITEM_SLOT_EARS + + if(looking_for == glasses) + return ITEM_SLOT_EYES + + if(looking_for == gloves) + return ITEM_SLOT_GLOVES + + if(looking_for == head) + return ITEM_SLOT_HEAD + + if(looking_for == shoes) + return ITEM_SLOT_FEET + + if(looking_for == wear_suit) + return ITEM_SLOT_OCLOTHING + + if(looking_for == w_uniform) + return ITEM_SLOT_ICLOTHING + + if(looking_for == r_store) + return ITEM_SLOT_RPOCKET + + if(looking_for == l_store) + return ITEM_SLOT_LPOCKET + + if(looking_for == s_store) + return ITEM_SLOT_SUITSTORE + + return ..() + + +/mob/living/carbon/get_slot_by_item(obj/item/looking_for) + if(looking_for == back) + return ITEM_SLOT_BACK + + if(back && (looking_for in back)) + return ITEM_SLOT_BACKPACK + + if(looking_for == wear_mask) + return ITEM_SLOT_MASK + + if(looking_for == wear_neck) + return ITEM_SLOT_NECK + + if(looking_for == head) + return ITEM_SLOT_HEAD + + if(looking_for == handcuffed) + return ITEM_SLOT_HANDCUFFED + + if(looking_for == legcuffed) + return ITEM_SLOT_LEGCUFFED + + return ..() diff --git a/monkestation/code/modules/and_roll_credits/icons/title_cards.dmi b/monkestation/code/modules/and_roll_credits/icons/title_cards.dmi new file mode 100644 index 00000000000000..9191e1539594f9 Binary files /dev/null and b/monkestation/code/modules/and_roll_credits/icons/title_cards.dmi differ diff --git a/monkestation/code/modules/antagonists/abductor/equipment/glands/blood.dm b/monkestation/code/modules/antagonists/abductor/equipment/glands/blood.dm deleted file mode 100644 index 7af70ab4eb7fb3..00000000000000 --- a/monkestation/code/modules/antagonists/abductor/equipment/glands/blood.dm +++ /dev/null @@ -1,15 +0,0 @@ -/obj/item/organ/internal/heart/gland/blood - /// The mob's original blood type, to be reverted to when the organ is removed. - var/original_blood_type - -/obj/item/organ/internal/heart/gland/blood/on_insert(mob/living/carbon/human/organ_owner, special) - . = ..() - if(!ishuman(owner) || !owner.dna.species) - return - original_blood_type = owner.dna.species.exotic_blood - -/obj/item/organ/internal/heart/gland/blood/on_remove(mob/living/carbon/human/organ_owner, special) - . = ..() - if(!ishuman(owner) || !owner.dna.species) - return - owner.dna.species.exotic_blood = original_blood_type diff --git a/monkestation/code/modules/antagonists/borers/code/mobs/cortical_borer.dm b/monkestation/code/modules/antagonists/borers/code/mobs/cortical_borer.dm index 590317db46d49a..3ebfa95db0ee61 100644 --- a/monkestation/code/modules/antagonists/borers/code/mobs/cortical_borer.dm +++ b/monkestation/code/modules/antagonists/borers/code/mobs/cortical_borer.dm @@ -415,7 +415,7 @@ GLOBAL_LIST_INIT(borer_second_name, world.file2list("monkestation/code/modules/a /mob/living/basic/cortical_borer/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) var/loc_temp if(human_host) - loc_temp = human_host.coretemperature // set the local temp to that of the host's core temp + loc_temp = human_host.bodytemperature // set the local temp to that of the host's core temp else loc_temp = get_temperature(environment) var/temp_delta = loc_temp - bodytemperature @@ -426,9 +426,9 @@ GLOBAL_LIST_INIT(borer_second_name, world.file2list("monkestation/code/modules/a if(temp_delta < 0) // it is cold here if(!on_fire) // do not reduce body temp when on fire - adjust_bodytemperature(max(max(temp_delta / BODYTEMP_DIVISOR, BODYTEMP_COOLING_MAX) * seconds_per_tick, temp_delta)) + adjust_bodytemperature(max(max(temp_delta / BODYTEMP_DIVISOR, BODYTEMP_HOMEOSTASIS_COOLING_MAX) * seconds_per_tick, temp_delta)) else // this is a hot place - adjust_bodytemperature(min(min(temp_delta / BODYTEMP_DIVISOR, BODYTEMP_HEATING_MAX) * seconds_per_tick, temp_delta)) + adjust_bodytemperature(min(min(temp_delta / BODYTEMP_DIVISOR, BODYTEMP_HOMEOSTASIS_HEATING_MAX) * seconds_per_tick, temp_delta)) //leave the host, forced or not /mob/living/basic/cortical_borer/proc/leave_host() diff --git a/monkestation/code/modules/antagonists/clock_cult/items/clothing.dm b/monkestation/code/modules/antagonists/clock_cult/items/clothing.dm index 43bd5f81b27ea0..ced2a2f676bcdc 100644 --- a/monkestation/code/modules/antagonists/clock_cult/items/clothing.dm +++ b/monkestation/code/modules/antagonists/clock_cult/items/clothing.dm @@ -514,9 +514,9 @@ icon_state = "clockwork_gauntlets" siemens_coefficient = 0 strip_delay = 8 SECONDS - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF armor_type = /datum/armor/gloves_clockwork diff --git a/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_golem.dm b/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_golem.dm index 4e9507d438ebfc..889d8f97d8064e 100644 --- a/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_golem.dm +++ b/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_golem.dm @@ -9,7 +9,6 @@ special_names = null examine_limb_id = SPECIES_GOLEM armor = 70 - speedmod = 0.2 ///ref to our turf_healing component, used for deletion on_species_loss() var/datum/component/turf_healing/mob_turf_healing diff --git a/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm b/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm index bb1e08ca1ba141..ca83e71932595c 100644 --- a/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm +++ b/monkestation/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm @@ -26,7 +26,7 @@ GLOBAL_LIST_EMPTY(clockwork_marauders) mob_size = MOB_SIZE_LARGE move_resist = MOVE_FORCE_OVERPOWERING unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 obj_damage = 80 faction = list(FACTION_CLOCK) damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) diff --git a/monkestation/code/modules/antagonists/clock_cult/mobs/eminence.dm b/monkestation/code/modules/antagonists/clock_cult/mobs/eminence.dm index 97621c5ea2c161..2623a847aabda1 100644 --- a/monkestation/code/modules/antagonists/clock_cult/mobs/eminence.dm +++ b/monkestation/code/modules/antagonists/clock_cult/mobs/eminence.dm @@ -117,7 +117,7 @@ GLOBAL_DATUM(current_eminence, /mob/living/eminence) //set to the current eminen return FALSE . = ..() -/mob/living/eminence/gib(no_brain, no_organs, no_bodyparts) +/mob/living/eminence/gib(no_brain, no_organs, no_bodyparts, safe_gib = TRUE) return //eminence_act() stuff, might be a better way to do this diff --git a/monkestation/code/modules/blood_datum/blood.dm b/monkestation/code/modules/blood_datum/blood.dm new file mode 100644 index 00000000000000..4a7e7fb8476ef9 --- /dev/null +++ b/monkestation/code/modules/blood_datum/blood.dm @@ -0,0 +1,338 @@ +/// Global list of all blood type singletons (Assoc [type] - [/datum/blood_type singleton]) +GLOBAL_LIST_INIT_TYPED(blood_types, /datum/blood_type, init_subtypes_w_path_keys(/datum/blood_type)) + +/** + * Blood Drying SS + * + * Used as a low priority backround system to handling the drying of blood on the ground + */ +PROCESSING_SUBSYSTEM_DEF(blood_drying) + name = "Blood Drying" + flags = SS_NO_INIT | SS_BACKGROUND + priority = 10 + wait = 10 SECONDS + +/// Takes the name of a blood type and return the typepath +/proc/blood_name_to_blood_type(name) + for(var/datum/blood_type/blood_type as anything in GLOB.blood_types) + if(blood_type.name == name) + return blood_type.type + return null + +/** + * Blood Types + * + * Singleton datums which represent, well, blood inside someone + */ +/datum/blood_type + /// The short-hand name of the blood type + var/name = "?" + /// What color is blood decals spawned of this type + var/color = COLOR_BLOOD + ///do we glow + var/glows = FALSE + /// What blood types can this type receive from + /// Itself is always included in this list + var/list/compatible_types = list() + /// What reagent is represented by this blood type? + var/datum/reagent/reagent_type = /datum/reagent/blood + /// What chem is used to restore this blood type (outside of itself, of course)? + var/datum/reagent/restoration_chem = /datum/reagent/iron + +/datum/blood_type/New() + . = ..() + compatible_types |= type + +/// Gets data to pass to a reagent +/datum/blood_type/proc/get_blood_data(mob/living/sampler) + if(!iscarbon(sampler)) + return null + var/mob/living/carbon/sampled_from = sampler + + var/list/blood_data = list() + //set the blood data + blood_data["viruses"] = list() + + if(sampled_from.immune_system) + blood_data["immunity"] = sampled_from.immune_system.GetImmunity() + + for(var/datum/disease/disease as anything in sampled_from.diseases) + blood_data["viruses"] += disease.Copy() + + blood_data["blood_DNA"] = sampled_from.dna.unique_enzymes + blood_data["resistances"] = LAZYLISTDUPLICATE(sampled_from.disease_resistances) + + var/list/temp_chem = list() + for(var/datum/reagent/trace_chem as anything in sampled_from.reagents.reagent_list) + temp_chem[trace_chem.type] = trace_chem.volume + blood_data["trace_chem"] = list2params(temp_chem) + + blood_data["mind"] = sampled_from.mind || sampled_from.last_mind + blood_data["ckey"] = sampled_from.ckey || ckey(sampled_from.last_mind?.key) + blood_data["cloneable"] = !HAS_TRAIT_FROM(sampled_from, TRAIT_SUICIDED, REF(sampled_from)) + blood_data["blood_type"] = sampled_from.dna.human_blood_type + blood_data["gender"] = sampled_from.gender + blood_data["real_name"] = sampled_from.real_name + blood_data["features"] = sampled_from.dna.features + blood_data["factions"] = sampled_from.faction + blood_data["quirks"] = list() + for(var/datum/quirk/sample_quirk as anything in sampled_from.quirks) + blood_data["quirks"] += sample_quirk.type + return blood_data + +/** + * Used to handle any unique facets of blood spawned of this blood type + * + * Arguments + * * blood - the blood being set up + * * new_splat - whether this is a newly instantiated blood decal, or an existing one this blood is being added to + */ +/datum/blood_type/proc/set_up_blood(obj/effect/decal/cleanable/blood/blood, new_splat = FALSE) + return + +/** + * Helper proc to make a blood splatter from the passed mob of this type + * + * Arguments + * * bleeding - the mob bleeding the blood, note we assume this blood type is that mob's blood + * * blood_turf - the turf to spawn the blood on + * * drip - whether to spawn a drip or a splatter + */ +/datum/blood_type/proc/make_blood_splatter(mob/living/bleeding, turf/blood_turf, drip) + if(HAS_TRAIT(bleeding, TRAIT_NOBLOOD)) + return + if(isgroundlessturf(blood_turf)) + blood_turf = GET_TURF_BELOW(blood_turf) + if(isnull(blood_turf) || isclosedturf(blood_turf)) + return + + var/list/temp_blood_DNA + if(drip) + var/new_blood = /obj/effect/decal/cleanable/blood/drip::bloodiness + // Only a certain number of drips (or one large splatter) can be on a given turf. + var/obj/effect/decal/cleanable/blood/drip/drop = locate() in blood_turf + if(isnull(drop)) + var/obj/effect/decal/cleanable/blood/splatter = locate() in blood_turf + if(!QDELETED(splatter)) + splatter.adjust_bloodiness(new_blood) + splatter.drying_progress -= (new_blood * BLOOD_PER_UNIT_MODIFIER) + splatter.update_blood_drying_effect() + splatter.transfer_mob_blood_dna(bleeding) + return splatter + + drop = new(blood_turf, bleeding.get_static_viruses()) + if(!QDELETED(drop)) + drop.transfer_mob_blood_dna(bleeding) + drop.random_icon_states -= drop.icon_state + return drop + + if(length(drop.random_icon_states)) + // Handle adding a single drip to the base atom + var/image/drop_overlay = image(icon = drop.icon, icon_state = pick_n_take(drop.random_icon_states), layer = drop.layer, loc = drop) + SET_PLANE_EXPLICIT(drop_overlay, drop.plane, drop) + drop_overlay.appearance_flags |= RESET_COLOR // So each drop has its own color + drop_overlay.color = color + drop.add_overlay(drop_overlay) + // Handle adding blood to the base atom + drop.adjust_bloodiness(new_blood) + drop.drying_progress -= (new_blood * BLOOD_PER_UNIT_MODIFIER) + drop.transfer_mob_blood_dna(bleeding) + drop.update_blood_drying_effect() + return drop + + temp_blood_DNA = GET_ATOM_BLOOD_DNA(drop) //we transfer the dna from the drip to the splatter + qdel(drop)//the drip is replaced by a bigger splatter + + // Find a blood decal or create a new one. + var/obj/effect/decal/cleanable/blood/splatter = locate() in blood_turf + if(isnull(splatter)) + splatter = new(blood_turf, bleeding.get_static_viruses()) + if(QDELETED(splatter)) //Give it up + return null + else + splatter.adjust_bloodiness(BLOOD_AMOUNT_PER_DECAL) + splatter.drying_progress -= (BLOOD_AMOUNT_PER_DECAL * BLOOD_PER_UNIT_MODIFIER) + splatter.update_blood_drying_effect() + splatter.transfer_mob_blood_dna(bleeding) //give blood info to the blood decal. + if(temp_blood_DNA) + splatter.add_blood_DNA(temp_blood_DNA) + return splatter + +/// A base type for all blood related to the crew, for organization's sake +/datum/blood_type/crew + +/// A base type for all blood used by humans (NOT humanoids), for organization's sake +/datum/blood_type/crew/human + +/datum/blood_type/crew/human/a_minus + name = "A-" + compatible_types = list( + /datum/blood_type/crew/human/o_minus, + ) + +/datum/blood_type/crew/human/a_plus + name = "A+" + compatible_types = list( + /datum/blood_type/crew/human/a_minus, + /datum/blood_type/crew/human/a_plus, + /datum/blood_type/crew/human/o_minus, + /datum/blood_type/crew/human/o_plus, + ) + +/datum/blood_type/crew/human/b_minus + name = "B-" + compatible_types = list( + /datum/blood_type/crew/human/b_minus, + /datum/blood_type/crew/human/o_minus, + ) + +/datum/blood_type/crew/human/b_plus + name = "B+" + compatible_types = list( + /datum/blood_type/crew/human/b_minus, + /datum/blood_type/crew/human/b_plus, + /datum/blood_type/crew/human/o_minus, + /datum/blood_type/crew/human/o_plus, + ) + +/datum/blood_type/crew/human/ab_minus + name = "AB-" + compatible_types = list( + /datum/blood_type/crew/human/b_minus, + /datum/blood_type/crew/human/ab_minus, + /datum/blood_type/crew/human/a_minus, + /datum/blood_type/crew/human/o_minus, + ) + +/datum/blood_type/crew/human/ab_plus + name = "AB+" + // Universal Recipient + +/datum/blood_type/crew/human/ab_plus/New() + . = ..() + compatible_types |= subtypesof(/datum/blood_type/crew/human) + +/datum/blood_type/crew/human/o_minus + name = "O-" + // Universal Donor + +/datum/blood_type/crew/human/o_plus + name = "O+" + compatible_types = list( + /datum/blood_type/crew/human/o_minus, + /datum/blood_type/crew/human/o_plus, + ) + +/datum/blood_type/crew/lizard + name = "L" + color = "#047200" // Some species of lizards have mutated green blood due to biliverdin build up + compatible_types = list(/datum/blood_type/crew/lizard/silver) + +/datum/blood_type/crew/lizard/silver + color = "#ffffff63" + compatible_types = list(/datum/blood_type/crew/lizard) + +/datum/blood_type/crew/lizard/silver/set_up_blood(obj/effect/decal/cleanable/blood/blood, new_splat) + blood.add_filter("silver_glint", 3, list("type" = "outline", "color" = "#c9c9c963", "size" = 1.5)) + +/datum/blood_type/crew/skrell + name = "S" + color = "#009696" // Did you know octopi have blood blood, thanks to hemocyanin rather than hemoglobin? It binds to copper instead of Iron + restoration_chem = /datum/reagent/copper + +/datum/blood_type/crew/ethereal + name = "LE" + color = "#97ee63" + reagent_type = /datum/reagent/consumable/liquidelectricity + glows = TRUE + +/datum/blood_type/crew/ethereal/set_up_blood(obj/effect/decal/cleanable/blood/blood, new_splat) + blood.glows = TRUE + blood.update_appearance() + if(!new_splat) + return + blood.can_dry = FALSE + blood.update_blood_drying_effect() + RegisterSignals(blood, list(COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_ATTACKBY_SECONDARY), PROC_REF(on_cleaned)) + +/datum/blood_type/crew/ethereal/proc/on_cleaned(obj/effect/decal/cleanable/source, mob/living/user, obj/item/tool, ...) + SIGNAL_HANDLER + + if(!istype(tool, /obj/item/mop)) + return NONE + if(!tool.reagents?.has_reagent()) + return NONE + if(source.bloodiness <= BLOOD_AMOUNT_PER_DECAL * 0.2) + return NONE + if(!user.electrocute_act(clamp(sqrt(source.bloodiness * BLOOD_PER_UNIT_MODIFIER * 4), 5, 50), source, flags = SHOCK_SUPPRESS_MESSAGE)) + return NONE + playsound(source, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + do_sparks(3, FALSE, source) + user.visible_message( + span_warning("Upon touching [source] with [tool], the [initial(reagent_type.name)] inside conducts, shocking [user]!"), + span_warning("Upon touching [source] with [tool], the [initial(reagent_type.name)] conducts, shocking you!"), + ) + return FALSE + +/// Oil based blood for robot lifeforms +/datum/blood_type/oil + name = "Oil" + color = "#1f1a00" + reagent_type = /datum/reagent/fuel/oil + +/datum/blood_type/oil/set_up_blood(obj/effect/decal/cleanable/blood/blood, new_splat) + if(!new_splat) + return + // Oil blood will never dry and can be ignited with fire + blood.can_dry = FALSE + blood.update_blood_drying_effect() + blood.AddElement(/datum/element/easy_ignite) + +/// A universal blood type which accepts everything +/datum/blood_type/universal + name = "U" + +/datum/blood_type/universal/New() + . = ..() + compatible_types = subtypesof(/datum/blood_type) + +/// Clown blood, only used on April Fools +/datum/blood_type/clown + name = "C" + color = "#FF00FF" + reagent_type = /datum/reagent/colorful_reagent + +/// Slimeperson's jelly blood, is also known as "toxic" or "toxin" blood +/datum/blood_type/slime + name = "TOX" + color = "#801E28" + reagent_type = /datum/reagent/toxin/slimejelly + +/// Water based blood for Podpeople primairly +/datum/blood_type/water + name = "H2O" + color = "#AAAAAA77" + reagent_type = /datum/reagent/water + +/// Snails have Lube for blood, for some reason? +/datum/blood_type/snail + name = "Lube" + reagent_type = /datum/reagent/lube + +/// For Xeno blood, though they don't actually USE blood +/datum/blood_type/xenomorph + name = "X*" + color = "#96bb00" + reagent_type = /datum/reagent/toxin/acid + +/// For simplemob blood, which also largely don't actually use blood +/datum/blood_type/animal + name = "Y-" + +/datum/blood_type/crew/bloodsucker + name = "B++" + reagent_type = /datum/reagent/blood/bloodsucker + +/datum/blood_type/spider + name = "S" + color = COLOR_CARP_TURQUOISE diff --git a/monkestation/code/modules/blood_datum/components/item_receiver.dm b/monkestation/code/modules/blood_datum/components/item_receiver.dm new file mode 100644 index 00000000000000..4cd8bd080bed38 --- /dev/null +++ b/monkestation/code/modules/blood_datum/components/item_receiver.dm @@ -0,0 +1,56 @@ +/datum/component/item_receiver + var/list/item_types = list() + var/take_message + +/datum/component/item_receiver/Initialize(list/types = list(), take_message) + . = ..() + var/mob/living/living_parent = parent + if(!living_parent.usable_hands) + return COMPONENT_INCOMPATIBLE + + item_types = types + src.take_message = take_message + +/datum/component/item_receiver/RegisterWithParent() + . = ..() + RegisterSignal(parent, COMSIG_LIVING_ITEM_OFFERED_PRECHECK, PROC_REF(precheck_item)) + RegisterSignal(parent, COMSIG_LIVING_GIVE_ITEM_CHECK, PROC_REF(try_take_item)) + +/datum/component/item_receiver/UnregisterFromParent() + . = ..() + UnregisterSignal(parent, list(COMSIG_LIVING_ITEM_OFFERED_PRECHECK, COMSIG_LIVING_GIVE_ITEM_CHECK)) + +/datum/component/item_receiver/proc/precheck_item(datum/source, obj/item/offer) + if(!length(item_types)) + return TRUE + + for(var/item as anything in item_types) + if(istype(offer, item)) + return TRUE + + return FALSE + + +/datum/component/item_receiver/proc/try_take_item(datum/source, atom/movable/screen/alert/give/alert, obj/item/offer) + var/can_take = FALSE + for(var/item as anything in item_types) + if(istype(offer, item)) + can_take = TRUE + break + + if(!can_take) + return FALSE + + var/visible_message = TRUE + if(take_message) + visible_message = FALSE + + if(!alert.handle_transfer(visible_message)) + return FALSE + + if(take_message) + var/atom/movable/movable = parent + movable.visible_message(span_notice("[movable] [take_message] [offer]")) + + return TRUE + diff --git a/monkestation/code/modules/blood_datum/components/limbless_aid.dm b/monkestation/code/modules/blood_datum/components/limbless_aid.dm new file mode 100644 index 00000000000000..95e10c382c5b31 --- /dev/null +++ b/monkestation/code/modules/blood_datum/components/limbless_aid.dm @@ -0,0 +1,136 @@ +/// Attach to items that help mobs missing limbs move faster when held. +/datum/component/limbless_aid + /// What slot flags must the parent item have to provide the bonus? + var/required_slot + /// How much should the movespeed be modified? + var/movespeed_mod + +/datum/component/limbless_aid/Initialize(required_slot = ITEM_SLOT_HANDS, movespeed_mod = 0.5) + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.required_slot = required_slot + src.movespeed_mod = movespeed_mod + +/datum/component/limbless_aid/RegisterWithParent() + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examined)) + + var/obj/item/item_parent = parent + if(isliving(item_parent.loc)) + var/mob/living/wearer = item_parent.loc + on_equip(parent, wearer, wearer.get_slot_by_item(parent)) + +/datum/component/limbless_aid/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_ATOM_EXAMINE)) + + var/obj/item/item_parent = parent + if(isliving(item_parent.loc)) + on_drop(item_parent, item_parent.loc) + +/datum/component/limbless_aid/proc/examined(obj/item/source, mob/living/user, list/examine_list) + SIGNAL_HANDLER + + examine_list += span_info("It will support your weight, allowing you to move faster with a wounded, disabled, or missing leg.") + examine_list += span_info("Holding two will allow you to walk despite having two missing or disabled legs.") + examine_list += span_info("Resisting will brace you, allowing you to stand on one support, \ + despite having two missing or disabled legs. Moving will cancel this effect.") + +/datum/component/limbless_aid/proc/on_equip(obj/item/source, mob/living/user, slot) + SIGNAL_HANDLER + + if(!(slot & required_slot)) + return + + add_support(user) + +/datum/component/limbless_aid/proc/add_support(mob/living/user) + ADD_TRAIT(user, TRAIT_NO_LEG_AID, "[REF(src)]_aid") + RegisterSignal(user, COMSIG_LIVING_LIMBLESS_MOVESPEED_UPDATE, PROC_REF(modify_movespeed), override = TRUE) + RegisterSignal(user, COMSIG_CARBON_PAINED_STEP, PROC_REF(pain_step), override = TRUE) + RegisterSignal(user, COMSIG_CARBON_LIMPING, PROC_REF(limp_check), override = TRUE) + RegisterSignal(user, COMSIG_LIVING_RESIST, PROC_REF(self_brace), override = TRUE) + user.update_limbless_locomotion() + user.update_limbless_movespeed_mod() + +/datum/component/limbless_aid/proc/on_drop(obj/item/source, mob/living/user) + SIGNAL_HANDLER + + lose_support(user) + +/datum/component/limbless_aid/proc/lose_support(mob/living/user) + REMOVE_TRAIT(user, TRAIT_NO_LEG_AID, "[REF(src)]_aid") + un_self_brace(user) + UnregisterSignal(user, COMSIG_LIVING_LIMBLESS_MOVESPEED_UPDATE) + UnregisterSignal(user, COMSIG_CARBON_PAINED_STEP) + UnregisterSignal(user, COMSIG_CARBON_LIMPING) + UnregisterSignal(user, COMSIG_LIVING_RESIST) + user.update_limbless_locomotion() + user.update_limbless_movespeed_mod() + +/datum/component/limbless_aid/proc/modify_movespeed(mob/living/source, list/modifiers) + SIGNAL_HANDLER + + var/obj/item/bodypart/leg = get_braced_leg(source) + if(isnull(leg) || leg.bodypart_disabled) + modifiers += movespeed_mod + +/datum/component/limbless_aid/proc/pain_step(mob/living/source, obj/item/affected_leg, footstep_count) + SIGNAL_HANDLER + + var/obj/item/bodypart/leg = get_braced_leg(source) + if(isnull(leg) || leg == affected_leg) + return STOP_PAIN + +/datum/component/limbless_aid/proc/limp_check(mob/living/source, obj/item/bodypart/next_leg) + SIGNAL_HANDLER + + var/obj/item/bodypart/leg = get_braced_leg(source) + if(isnull(leg) || leg == next_leg) + return COMPONENT_CANCEL_LIMP + +/// Checks what side the item is equipped on +/datum/component/limbless_aid/proc/get_braced_leg(mob/living/who) + if(required_slot & ITEM_SLOT_HANDS) + // note this is backwards intentionally: + // right arm braces the left leg, and left arm braces right leg + var/side = IS_RIGHT(who.get_held_index_of_item(parent)) ? BODY_ZONE_L_LEG : BODY_ZONE_R_LEG + return who.get_bodypart(side) + + return null // unimplemented + + +/datum/component/limbless_aid/proc/self_brace(mob/living/source) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(self_brace_async), source) + +/datum/component/limbless_aid/proc/un_self_brace(mob/living/source) + REMOVE_TRAIT(source, TRAIT_NO_LEG_AID, "[REF(src)]_brace") + UnregisterSignal(source, COMSIG_MOVABLE_MOVED) + +/datum/component/limbless_aid/proc/self_brace_async(mob/living/source) + if((required_slot & ITEM_SLOT_HANDS) && parent != source.get_active_held_item()) + return + if(HAS_TRAIT_FROM(source, TRAIT_NO_LEG_AID, "[REF(src)]_brace")) + return + if(DOING_INTERACTION_WITH_TARGET(source, source)) + return + // lying down is a lot harder to get up from + if(!do_after(source, (source.body_position == LYING_DOWN ? 2.4 SECONDS : 0.8 SECONDS), source)) + return + + source.balloon_alert(source, "braced") + ADD_TRAIT(source, TRAIT_NO_LEG_AID, "[REF(src)]_brace") + RegisterSignal(source, COMSIG_MOVABLE_MOVED, PROC_REF(brace_moved)) + source.update_limbless_locomotion() + +/datum/component/limbless_aid/proc/brace_moved(mob/living/source, atom/old_loc) + SIGNAL_HANDLER + + if(source.loc == old_loc) + return + + un_self_brace(source) + source.update_limbless_locomotion() diff --git a/monkestation/code/modules/blood_datum/debilitated.dm b/monkestation/code/modules/blood_datum/debilitated.dm new file mode 100644 index 00000000000000..410f8a531206b0 --- /dev/null +++ b/monkestation/code/modules/blood_datum/debilitated.dm @@ -0,0 +1,38 @@ +/datum/physiology + ///our temp stamina mod + var/temp_stamina_mod = 1 + +/datum/status_effect/stacking/debilitated + id = "debilitated" + stacks = 0 + max_stacks = 10 + tick_interval = 10 SECONDS + delay_before_decay = 3 MINUTES + consumed_on_threshold = FALSE + alert_type = /atom/movable/screen/alert/status_effect/debilitated + status_type = STATUS_EFFECT_REFRESH + + ///our base stamina loss multiplier + var/loss_multiplier = 1 + ///our per stack increase to stamina loss + var/per_stack_multiplier_increase = 0.1 + ///our cached stamina_mod + var/cached_stamina + +/datum/status_effect/stacking/debilitated/on_apply() + . = ..() + if(ishuman(owner)) + var/mob/living/carbon/human/human = owner + cached_stamina = human.physiology.temp_stamina_mod + +/datum/status_effect/stacking/debilitated/add_stacks(stacks_added) + . = ..() + if(!ishuman(owner)) + return + var/mob/living/carbon/human/human = owner + human.physiology.temp_stamina_mod = loss_multiplier + (stacks * per_stack_multiplier_increase) + +/atom/movable/screen/alert/status_effect/debilitated + icon_state = "debilitated" + name = "Debilitated" + desc = "You are taking extra stamina damage from incoming projectiles, and lose stamina faster." diff --git a/monkestation/code/modules/blood_datum/designs.dm b/monkestation/code/modules/blood_datum/designs.dm new file mode 100644 index 00000000000000..0da2fcfefdd1c8 --- /dev/null +++ b/monkestation/code/modules/blood_datum/designs.dm @@ -0,0 +1,46 @@ +/datum/design/vitals_monitor + name = "Vitals Monitor" + desc = "A wall mounted computer that displays the vitals of a patient nearby. \ + Links to stasis beds, operating tables, and other machines that can hold patients \ + such as cryo cells, sleepers, and more." + id = "vitals_monitor" + build_type = PROTOLATHE + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 4, + /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, + /datum/material/gold = HALF_SHEET_MATERIAL_AMOUNT * 0.5, + ) + build_path = /obj/item/wallframe/status_display/vitals + category = list(RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_MEDICAL) + departmental_flags = DEPARTMENT_BITFLAG_MEDICAL + +/datum/design/vitals_monitor/advanced + name = "Advanced Vitals Monitor" + desc = "An updated vitals display which performs a more detailed scan of the patient than the basic display." + id = "vitals_monitor_advanced" + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 4, + /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, + /datum/material/gold = HALF_SHEET_MATERIAL_AMOUNT, + /datum/material/silver = HALF_SHEET_MATERIAL_AMOUNT * 0.5, + ) + build_path = /obj/item/wallframe/status_display/vitals/advanced + +/datum/design/board/vital_floor_scanner + name = "Vitals Scanning Pad" + desc = "The circuit board for a vitals scanning pad." + id = "scanning_pad" + build_path = /obj/item/circuitboard/machine/vital_floor_scanner + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_MEDICAL + ) + departmental_flags = DEPARTMENT_BITFLAG_MEDICAL + +/obj/item/circuitboard/machine/vital_floor_scanner + name = "\improper Vitals Scanning Pad" + greyscale_colors = CIRCUIT_COLOR_MEDICAL + build_path = /obj/machinery/health_scanner_floor + req_components = list( + /obj/item/stack/cable_coil = 5, + /datum/stock_part/scanning_module = 1, + ) diff --git a/monkestation/code/modules/blood_datum/elements/easy_ignite.dm b/monkestation/code/modules/blood_datum/elements/easy_ignite.dm new file mode 100644 index 00000000000000..15416cf05e68b5 --- /dev/null +++ b/monkestation/code/modules/blood_datum/elements/easy_ignite.dm @@ -0,0 +1,97 @@ +/datum/element/easy_ignite + element_flags = ELEMENT_DETACH_ON_HOST_DESTROY|ELEMENT_BESPOKE // because turfs + argument_hash_start_idx = 2 + /// Temp required for ignition + var/required_temp = 450 + +/datum/element/easy_ignite/Attach(datum/target, required_temp = 450) + . = ..() + if(!isatom(target) || isarea(target)) + return ELEMENT_INCOMPATIBLE + + src.required_temp = required_temp + RegisterSignal(target, COMSIG_ATOM_ATTACKBY, PROC_REF(attackby_react)) + RegisterSignal(target, COMSIG_ATOM_FIRE_ACT, PROC_REF(flame_react)) + RegisterSignal(target, COMSIG_ATOM_BULLET_ACT, PROC_REF(projectile_react)) + RegisterSignal(target, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), PROC_REF(welder_react)) + if(isturf(target)) + RegisterSignal(target, COMSIG_TURF_EXPOSE, PROC_REF(hotspots_react)) + +/datum/element/easy_ignite/Detach(datum/source, ...) + . = ..() + UnregisterSignal(source, COMSIG_ATOM_ATTACKBY) + UnregisterSignal(source, COMSIG_ATOM_FIRE_ACT) + UnregisterSignal(source, COMSIG_ATOM_BULLET_ACT) + UnregisterSignal(source, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER)) + if(isturf(source)) + UnregisterSignal(source, COMSIG_TURF_EXPOSE) + +/datum/element/easy_ignite/proc/ignite(atom/igniting, mob/user) + var/delete_after = TRUE + + igniting.visible_message(span_warning("[igniting] ignite[igniting.p_s()]!"), span_warning("You ignite into flames!")) + new /obj/effect/hotspot(isturf(igniting) ? igniting : igniting.loc) + + if(isturf(igniting)) + var/turf/parent_turf = igniting + parent_turf.ScrapeAway(1, CHANGETURF_INHERIT_AIR) + delete_after = FALSE + + // Logging-related + var/log_message = "ignited [igniting]" + if(user) + user.log_message(log_message, LOG_ATTACK, log_globally = FALSE)//only individual log + + else + log_message = "[key_name(user)] " + log_message + " by fire" + log_attack(log_message) + + if(delete_after && !QDELETED(igniting)) + qdel(igniting) + +/datum/element/easy_ignite/proc/flame_react(obj/item/source, exposed_temperature, exposed_volume) + SIGNAL_HANDLER + + if(exposed_temperature > required_temp) + ignite(source) + +/datum/element/easy_ignite/proc/hotspots_react(obj/item/source, air, exposed_temperature) + SIGNAL_HANDLER + + if(exposed_temperature > required_temp) + ignite(source) + +/datum/element/easy_ignite/proc/attackby_react(obj/item/source, mob/user, obj/item/tool, modifiers) + SIGNAL_HANDLER + + if(tool.get_temperature() && item_ignition(source, tool, user)) + ignite(source, user) + return FALSE + +/datum/element/easy_ignite/proc/projectile_react(obj/item/source, obj/projectile/shot) + SIGNAL_HANDLER + + if(shot.damage_type == BURN && shot.damage > 0) + ignite(source, shot.firer) + +/datum/element/easy_ignite/proc/welder_react(obj/item/source, mob/user, obj/item/tool) + SIGNAL_HANDLER + + if(tool.get_temperature() && item_ignition(source, tool, user)) + ignite(source, user) + return FALSE + +/datum/element/easy_ignite/proc/item_ignition(obj/item/source, obj/item/tool, mob/user) + if(tool.get_temperature() >= required_temp) + source.visible_message( + span_warning("[user] ignites [source] with [tool]!"), + span_warning("You ignite [source] with [tool]!"), + ) + ignite(source, user) + return TRUE + + source.visible_message( + span_warning("[user] tries to ignite [source] with [tool]!"), + span_warning("You try to ignite [source] with [tool], but it's not hot enough!"), + ) + return FALSE diff --git a/monkestation/code/modules/blood_datum/forensics_helpers.dm b/monkestation/code/modules/blood_datum/forensics_helpers.dm new file mode 100644 index 00000000000000..b866e245a9f279 --- /dev/null +++ b/monkestation/code/modules/blood_datum/forensics_helpers.dm @@ -0,0 +1,39 @@ +/atom + /// Cached mixed color of all blood DNA on us + VAR_PROTECTED/cached_blood_dna_color + +/atom/proc/get_blood_dna_color() + if(cached_blood_dna_color) + return cached_blood_dna_color + + var/list/colors = list() + var/list/all_dna = GET_ATOM_BLOOD_DNA(src) + for(var/dna_sample in all_dna) + colors += GLOB.blood_types[all_dna[dna_sample]]?.color + list_clear_nulls(colors) + var/final_color = COLOR_BLOOD + if(length(colors)) + final_color = pop(colors) + for(var/color in colors) + final_color = BlendRGB(final_color, color, 0.5) + cached_blood_dna_color = final_color + return final_color + +/obj/effect/decal/cleanable/blood/drip/get_blood_dna_color() + var/list/all_dna = GET_ATOM_BLOOD_DNA(src) + return GLOB.blood_types[all_dna[all_dna[1]]]?.color || COLOR_BLOOD + +/obj/effect/decal/cleanable/blood/add_blood_DNA(list/blood_DNA_to_add) + var/first_dna = GET_ATOM_BLOOD_DNA_LENGTH(src) + if(!..()) + return FALSE + + color = get_blood_dna_color() + // Imperfect, ends up with some blood types being double-set-up, but harmless (for now) + for(var/new_blood in blood_DNA_to_add) + var/datum/blood_type/blood = GLOB.blood_types[blood_DNA_to_add[new_blood]] + if(!blood) + continue + blood.set_up_blood(src, first_dna == 0) + update_appearance() + return TRUE diff --git a/monkestation/code/modules/blood_datum/icons/beam.dmi b/monkestation/code/modules/blood_datum/icons/beam.dmi new file mode 100644 index 00000000000000..2ac3e0da83fa0a Binary files /dev/null and b/monkestation/code/modules/blood_datum/icons/beam.dmi differ diff --git a/monkestation/code/modules/blood_datum/icons/melee_lefthand.dmi b/monkestation/code/modules/blood_datum/icons/melee_lefthand.dmi new file mode 100644 index 00000000000000..62675c5968d2f3 Binary files /dev/null and b/monkestation/code/modules/blood_datum/icons/melee_lefthand.dmi differ diff --git a/monkestation/code/modules/blood_datum/icons/melee_righthand.dmi b/monkestation/code/modules/blood_datum/icons/melee_righthand.dmi new file mode 100644 index 00000000000000..47b673a6f322d5 Binary files /dev/null and b/monkestation/code/modules/blood_datum/icons/melee_righthand.dmi differ diff --git a/monkestation/code/modules/blood_datum/icons/staff.dmi b/monkestation/code/modules/blood_datum/icons/staff.dmi new file mode 100644 index 00000000000000..2a710cc60cf907 Binary files /dev/null and b/monkestation/code/modules/blood_datum/icons/staff.dmi differ diff --git a/monkestation/code/modules/blood_datum/icons/status_display.dmi b/monkestation/code/modules/blood_datum/icons/status_display.dmi new file mode 100644 index 00000000000000..4c245723bfa33e Binary files /dev/null and b/monkestation/code/modules/blood_datum/icons/status_display.dmi differ diff --git a/monkestation/code/modules/blood_datum/items/crutch.dm b/monkestation/code/modules/blood_datum/items/crutch.dm new file mode 100644 index 00000000000000..a7108337065550 --- /dev/null +++ b/monkestation/code/modules/blood_datum/items/crutch.dm @@ -0,0 +1,21 @@ +/obj/item/cane/crutch + name = "medical crutch" + desc = "A medical crutch used by people missing a leg. Not all that useful if you're missing both of them, though." + icon = 'monkestation/code/modules/blood_datum/icons/staff.dmi' + icon_state = "crutch_med" + inhand_icon_state = "crutch_med" + lefthand_file = 'monkestation/code/modules/blood_datum/icons/melee_lefthand.dmi' + righthand_file = 'monkestation/code/modules/blood_datum/icons/melee_righthand.dmi' + force = 12 + throwforce = 8 + w_class = WEIGHT_CLASS_BULKY + custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.5) + attack_verb_continuous = list("bludgeons", "whacks", "thrashes") + attack_verb_simple = list("bludgeon", "whack", "thrash") + +/obj/item/cane/crutch/wood + name = "wooden crutch" + desc = "A handmade crutch. Also makes a decent bludgeon if you need it." + icon_state = "crutch_wood" + inhand_icon_state = "crutch_wood" + custom_materials = list(/datum/material/wood = SMALL_MATERIAL_AMOUNT * 0.5) diff --git a/monkestation/code/modules/blood_datum/stunning.dm b/monkestation/code/modules/blood_datum/stunning.dm new file mode 100644 index 00000000000000..a4a81799d8dd6a --- /dev/null +++ b/monkestation/code/modules/blood_datum/stunning.dm @@ -0,0 +1,290 @@ + +#define COMSIG_BEAM_ENTERED "beam_entered" + +/// Status effect tracking being tased by someone! +/datum/status_effect/tased + id = "being_tased" + status_type = STATUS_EFFECT_MULTIPLE + alert_type = /atom/movable/screen/alert/status_effect/tazed + tick_interval = 0.25 SECONDS + on_remove_on_mob_delete = TRUE + /// What atom is tasing us? + var/atom/taser + /// What atom is using the atom tasing us? Sometimes the same as the taser, such as with turrets. + var/atom/firer + /// The beam datum representing the taser electrodes + var/datum/beam/tase_line + +/datum/status_effect/tased/on_creation(mob/living/new_owner, atom/fired_from, atom/firer) + if(isnull(fired_from) || isnull(firer) || !can_tase_with(fired_from)) + qdel(src) + return + + if(new_owner.has_status_effect(type) != src) + alert_type = null + + . = ..() + if(!.) + return + + set_taser(fired_from) + set_firer(firer) + +/// Checks if the passed atom is captable of being used to tase someone +/datum/status_effect/tased/proc/can_tase_with(atom/with_what) + if(istype(with_what, /obj/item/gun/energy)) + var/obj/item/gun/energy/taser_gun = with_what + if(isnull(taser_gun.cell)) + return FALSE + + else if(istype(with_what, /obj/machinery)) + var/obj/machinery/taser_machine = with_what + if(!taser_machine.is_operational) + return FALSE + + return TRUE + +/// Actually does the tasing with the passed atom +/// Returns TRUE if the tasing was successful, FALSE if it failed +/datum/status_effect/tased/proc/do_tase_with(atom/with_what, seconds_between_ticks) + if(!can_see(taser, owner, 5)) + return FALSE + if(istype(with_what, /obj/item/gun/energy)) + var/obj/item/gun/energy/taser_gun = with_what + if(!taser_gun.cell?.use(60 * seconds_between_ticks)) + return FALSE + taser_gun.update_appearance() + return TRUE + + if(istype(taser, /obj/machinery)) + var/obj/machinery/taser_machine = taser + if(!taser_machine.is_operational) + return FALSE + // We can't measure the output of this but if we use too much power the area will depower -> depower the machine -> stop taze next tick + taser_machine.use_power(60 * seconds_between_ticks) + return TRUE + + if(istype(taser, /obj/item/mecha_parts/mecha_equipment)) + var/obj/item/mecha_parts/mecha_equipment/taser_equipment = taser + if(!taser_equipment.chassis \ + || !taser_equipment.activated \ + || taser_equipment.get_integrity() <= 1 \ + || taser_equipment.chassis.is_currently_ejecting \ + || taser_equipment.chassis.equipment_disabled \ + || !taser_equipment.chassis.use_power(60 * seconds_between_ticks)) + return FALSE + return TRUE + + return TRUE + +/datum/status_effect/tased/on_apply() + if(issilicon(owner) \ + || istype(owner, /mob/living/basic/bot) \ + || istype(owner, /mob/living/simple_animal/bot) \ + || HAS_TRAIT(owner, TRAIT_PIERCEIMMUNE)) + return FALSE + + RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(try_remove_taser)) + SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK) + owner.add_mood_event("tased", /datum/mood_event/tased) + owner.add_movespeed_modifier(/datum/movespeed_modifier/being_tased) + if(owner.pain_controller?.pain_modifier > 0.5) + owner.pain_emote("scream") + if(ishuman(owner)) + var/mob/living/carbon/human/human_owner = owner + human_owner.force_say() + return TRUE + +/datum/status_effect/tased/on_remove() + if(istype(taser, /obj/machinery/porta_turret)) + var/obj/machinery/porta_turret/taser_turret = taser + taser_turret.manual_control = initial(taser_turret.manual_control) + taser_turret.always_up = initial(taser_turret.always_up) + taser_turret.check_should_process() + else if(istype(taser, /obj/machinery/power/emitter)) + var/obj/machinery/power/emitter/taser_emitter = taser + taser_emitter.manual = initial(taser_emitter.manual) + + var/mob/living/mob_firer = firer + if(istype(mob_firer)) + mob_firer.remove_movespeed_modifier(/datum/movespeed_modifier/tasing_someone) + + owner.remove_movespeed_modifier(/datum/movespeed_modifier/being_tased) + if(!QDELING(owner)) + owner.adjust_jitter_up_to(10 SECONDS, 1 MINUTES) + + taser = null + firer = null + QDEL_NULL(tase_line) + +/datum/status_effect/tased/tick(seconds_between_ticks) + if(!do_tase_with(taser, seconds_between_ticks)) + end_tase() + return + if(owner.check_stun_immunity(CANSTUN|CANKNOCKDOWN)) + return + // You are damp, that's bad when you're being tased + if(owner.fire_stacks < 0) + owner.apply_damage(max(1, owner.fire_stacks * -0.5 * seconds_between_ticks), FIRE, spread_damage = TRUE) + if(SPT_PROB(25, seconds_between_ticks)) + do_sparks(1, FALSE, owner) + + owner.set_stutter_if_lower(10 SECONDS) + owner.set_jitter_if_lower(20 SECONDS) + owner.cause_pain(BODY_ZONES_ALL, 2 * seconds_between_ticks, BURN) + owner.apply_damage(120 * seconds_between_ticks * (owner.pain_controller?.pain_modifier || 1), STAMINA) + if(owner.stat <= SOFT_CRIT) + owner.do_jitter_animation(INFINITY) // maximum POWER + +/// Sets the passed atom as the "taser" +/datum/status_effect/tased/proc/set_taser(atom/new_taser) + taser = new_taser + RegisterSignals(taser, list(COMSIG_QDELETING, COMSIG_ITEM_DROPPED, COMSIG_ITEM_EQUIPPED), PROC_REF(end_tase)) + RegisterSignal(taser, COMSIG_GUN_TRY_FIRE, PROC_REF(block_firing)) + if(istype(taser, /obj/machinery/porta_turret)) + var/obj/machinery/porta_turret/taser_turret = taser + taser_turret.manual_control = TRUE + taser_turret.always_up = TRUE + else if(istype(taser, /obj/machinery/power/emitter)) + var/obj/machinery/power/emitter/taser_emitter = taser + taser_emitter.manual = TRUE + +/// Sets the passed atom as the person operating the taser, the "firer" +/datum/status_effect/tased/proc/set_firer(atom/new_firer) + firer = new_firer + if(taser != firer) // Turrets, notably, are both + RegisterSignal(firer, COMSIG_QDELETING, PROC_REF(end_tase)) + + // RegisterSignals(firer, list(COMSIG_MOB_SWAP_HANDS), PROC_REF(end_tase)) + RegisterSignal(firer, COMSIG_MOB_CLICKON, PROC_REF(user_cancel_tase)) + + // Ensures AI mobs or turrets don't tase players until they run out of power + var/mob/living/mob_firer = new_firer + if(!istype(mob_firer) || isnull(mob_firer.client)) + // If multiple things are tasing the same mob, give up sooner, so they can select a new target potentially + addtimer(CALLBACK(src, PROC_REF(end_tase)), (owner.has_status_effect(type) != src) ? 2 SECONDS : 8 SECONDS) + if(istype(mob_firer)) + mob_firer.add_movespeed_modifier(/datum/movespeed_modifier/tasing_someone) + + tase_line = firer.Beam( + BeamTarget = owner, + icon = 'monkestation/code/modules/blood_datum/icons/beam.dmi', + icon_state = "electrodes", + maxdistance = 6, + beam_type = /obj/effect/ebeam/react_to_entry/electrodes, + ) + RegisterSignal(tase_line, COMSIG_BEAM_ENTERED, PROC_REF(disrupt_tase)) + RegisterSignal(tase_line, COMSIG_QDELETING, PROC_REF(end_tase)) + tase_line.RegisterSignal(owner, COMSIG_LIVING_SET_BODY_POSITION, TYPE_PROC_REF(/datum/beam, redrawing)) + +/datum/status_effect/tased/proc/block_firing(...) + SIGNAL_HANDLER + return COMPONENT_CANCEL_GUN_FIRE + +/datum/status_effect/tased/proc/user_cancel_tase(mob/living/source, atom/clicked_on, modifiers) + SIGNAL_HANDLER + if(clicked_on != owner) + return NONE + if(LAZYACCESS(modifiers, SHIFT_CLICK)) + return NONE + end_tase() + return COMSIG_MOB_CANCEL_CLICKON + +/datum/status_effect/tased/proc/end_tase(...) + SIGNAL_HANDLER + if(QDELING(src)) + return + owner.visible_message( + span_warning("The electrodes stop shocking [owner], and fall to the ground."), + span_notice("The electrodes stop shocking you, and fall to the ground."), + ) + qdel(src) + +/datum/status_effect/tased/proc/try_remove_taser(datum/source) + SIGNAL_HANDLER + INVOKE_ASYNC(src, PROC_REF(try_remove_taser_async), source) + +/datum/status_effect/tased/proc/try_remove_taser_async() + owner.visible_message( + span_warning("[owner] tries to remove the electrodes!"), + span_notice("You try to remove the electrodes!"), + ) + // If embedding was less... difficult to work with, I would make tasers rely on an embedded object to handle this + if(!do_after(src, 5 SECONDS, src, extra_checks = CALLBACK(src, PROC_REF(try_remove_taser_checks)), interaction_key = "tazed")) + return + owner.visible_message( + span_warning("[owner] removes the electrodes from [owner.p_their()] body!"), + span_notice("You remove the electrodes!"), + ) + end_tase() + +/datum/status_effect/tased/proc/try_remove_taser_checks() + return !QDELETED(src) + +/datum/status_effect/tased/proc/disrupt_tase(datum/beam/source, obj/effect/ebeam/beam_effect, atom/movable/entering) + SIGNAL_HANDLER + + if(!isliving(entering) || entering == taser || entering == firer || entering == owner) + return + if(entering.pass_flags & (PASSMOB|PASSGRILLE|PASSTABLE)) + return + var/mob/living/disruptor = entering + if(disruptor.body_position == LYING_DOWN) + return + disruptor.visible_message( + span_warning("[disruptor] gets tangled in the electrodes!"), + span_warning("You get tangled in the electrodes!"), + ) + disruptor.apply_damage(90, STAMINA) + disruptor.Knockdown(5 SECONDS) + disruptor.adjust_jitter_up_to(10 SECONDS, 30 SECONDS) + qdel(src) + +/// Screen alert for being tased, clicking does a resist (like being on fire or w/e) +/atom/movable/screen/alert/status_effect/tazed + name = "Tased!" + desc = "Taser electrodes are shocking you! You can resist to try to remove them." + icon_state = "stun" + +/atom/movable/screen/alert/status_effect/tazed/Click(location, control, params) + . = ..() + if(!.) + return + var/mob/living/clicker = usr + clicker.resist() + +/// Beam subtype which sends a signal to the beam itself when someone walks inside it +/obj/effect/ebeam/react_to_entry + +/obj/effect/ebeam/react_to_entry/Initialize(mapload, beam_owner) + . = ..() + if(isnull(owner)) + return + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON = PROC_REF(on_entered), + ) + AddElement(/datum/element/connect_loc, loc_connections) + // Technically the beam is entering the mob but we'll count it + for(var/thing in loc) + on_entered(src, thing) + +/obj/effect/ebeam/react_to_entry/proc/on_entered(datum/source, atom/movable/entering) + SIGNAL_HANDLER + SEND_SIGNAL(owner, COMSIG_BEAM_ENTERED, src, entering) + +/obj/effect/ebeam/react_to_entry/electrodes + name = "electrodes" + light_system = OVERLAY_LIGHT + light_on = TRUE + light_color = COLOR_YELLOW + light_power = 1 + light_outer_range = 1.5 + +/datum/movespeed_modifier/tasing_someone + multiplicative_slowdown = 2 + +/datum/movespeed_modifier/being_tased + multiplicative_slowdown = 4 + +#undef COMSIG_BEAM_ENTERED diff --git a/monkestation/code/modules/blood_datum/vital_monitor/operating_table_additions.dm b/monkestation/code/modules/blood_datum/vital_monitor/operating_table_additions.dm new file mode 100644 index 00000000000000..061d8895d30edb --- /dev/null +++ b/monkestation/code/modules/blood_datum/vital_monitor/operating_table_additions.dm @@ -0,0 +1,72 @@ +/obj/machinery/computer/operating + +/obj/machinery/computer/operating/emag_act(mob/user, obj/item/card/emag/emag_card) + . = ..() + if(obj_flags & EMAGGED) + return + if(!is_operational) + return + + obj_flags |= EMAGGED + balloon_alert(user, "safeties overridden") + playsound(src, 'sound/machines/terminal_alert.ogg', 50, FALSE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(src, SFX_SPARKS, 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + +/obj/machinery/computer/operating/ui_data(mob/user) + var/list/data = ..() + if(isnull(table)) + return data + + if(isnull(table.patient)) + return data + + var/obj/item/organ/patient_brain = table.patient.get_organ_slot(ORGAN_SLOT_BRAIN) + data["patient"]["brain"] = isnull(patient_brain) ? 100 : ((patient_brain.damage / patient_brain.maxHealth) * 100) + data["patient"]["bloodVolumePercent"] = round((table.patient.blood_volume / BLOOD_VOLUME_NORMAL) * 100) + data["patient"]["heartRate"] = table.patient.get_pretend_heart_rate() + // We can also show pain and stuff here if we want. + + return data + +/// I fully intend on adding real heart rate eventually, but now we fake it +/// This also serves as a nice way to collect things which should affect heart rate later. +/mob/living/carbon/proc/get_pretend_heart_rate() + if(stat == DEAD) + return 0 + + var/obj/item/organ/internal/heart/heart = get_organ_slot(ORGAN_SLOT_HEART) + if(isnull(heart) || !heart.beating) + return 0 + + var/base_amount = 0 + + if(has_status_effect(/datum/status_effect/jitter)) + base_amount = 100 + rand(0, 25) + else if(stat == SOFT_CRIT || stat == HARD_CRIT) + base_amount = 60 + rand(-15, -10) + else + base_amount = 90 + rand(-10, 10) + + switch(pain_controller?.get_average_pain()) // pain raises it a bit + if(25 to 50) + base_amount += 5 + if(50 to 75) + base_amount += 10 + if(75 to INFINITY) + base_amount += 15 + + switch(pain_controller?.pain_modifier) // numbness lowers it a bit + if(0.25 to 0.5) + base_amount -= 15 + if(0.5 to 0.75) + base_amount -= 10 + if(0.75 to 1) + base_amount -= 5 + + if(has_status_effect(/datum/status_effect/determined)) // adrenaline + base_amount += 10 + + if(has_reagent(/datum/reagent/consumable/coffee)) // funny + base_amount += 10 + + return round(base_amount * clamp(1.5 * ((heart.maxHealth - heart.damage) / heart.maxHealth), 0.5, 1)) // heart damage puts a multiplier on it diff --git a/monkestation/code/modules/blood_datum/vital_monitor/vital_reader.dm b/monkestation/code/modules/blood_datum/vital_monitor/vital_reader.dm new file mode 100644 index 00000000000000..27634b075d66cf --- /dev/null +++ b/monkestation/code/modules/blood_datum/vital_monitor/vital_reader.dm @@ -0,0 +1,440 @@ +/obj/item/wallframe/status_display/vitals + name = "vitals display frame" + desc = "Used to build vitals displays. Secure on a wall nearby a stasis bed, operating table, \ + or another machine that can hold patients such as cryo cells or sleepers." + custom_materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 4, + /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, + /datum/material/gold = HALF_SHEET_MATERIAL_AMOUNT * 0.5, + ) + result_path = /obj/machinery/computer/vitals_reader + +/obj/item/wallframe/status_display/vitals/advanced + name = "advanced vitals display frame" + desc = "Used to build advanced vitals displays. Performs a more detailed scan of the patient than the basic display." + custom_materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 4, + /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, + /datum/material/gold = HALF_SHEET_MATERIAL_AMOUNT, + /datum/material/silver = HALF_SHEET_MATERIAL_AMOUNT * 0.5, + ) + result_path = /obj/machinery/computer/vitals_reader/advanced + +/// A wall mounted screen that showcases the vitals of a patient nearby. +/obj/machinery/computer/vitals_reader + name = "vitals display" + desc = "A small screen that displays the vitals of a patient." + icon = 'monkestation/code/modules/blood_datum/icons/status_display.dmi' + icon_state = "frame" + verb_say = "beeps" + verb_ask = "beeps" + verb_exclaim = "beeps" + density = FALSE + layer = ABOVE_WINDOW_LAYER + interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_REQUIRES_DEXTERITY + interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON + use_power = IDLE_POWER_USE + idle_power_usage = 0 + active_power_usage = BASE_MACHINE_IDLE_CONSUMPTION + icon_keyboard = null + icon_screen = null + + /// Whether we perform an advanced scan on examine or not, currently admin only + var/advanced = FALSE + /// Typepath to spawn when deconstructed + var/frame = /obj/item/wallframe/status_display/vitals + /// Whether we are on or off + VAR_FINAL/active = FALSE + /// Reference to the mob that is being tracked / scanned + VAR_FINAL/mob/living/patient + /// Static typecache of things the vitals display can connect to. + /// By default it will connect to these and grab their occupant to display as a patient. + var/static/list/connectable_typecache = typecacheof(list( + /obj/machinery/abductor/experiment, + /obj/machinery/atmospherics/components/unary/cryo_cell, + /obj/machinery/computer/operating, // Snowflaked + /obj/machinery/dna_scannernew, + /obj/machinery/gulag_teleporter, + /obj/machinery/hypnochair, + /obj/machinery/implantchair, + /obj/machinery/sleeper, + /obj/machinery/stasis, + /obj/machinery/health_scanner_floor, + )) + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/vitals_reader, 32) + +/obj/machinery/computer/vitals_reader/advanced + name = "advanced vitals display" + desc = "A small screen that displays the vitals of a patient. \ + Performs a more detailed scan of the patient than the basic display." + frame = /obj/item/wallframe/status_display/vitals/advanced + advanced = TRUE + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/vitals_reader/advanced, 32) + +/obj/machinery/computer/vitals_reader/no_hand + name = "automatic vitals display" + desc = "A small screen that displays the vitals of a patient. \ + It has no button to toggle it manually." + interaction_flags_atom = NONE + interaction_flags_machine = NONE + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/vitals_reader/no_hand, 32) + +/obj/machinery/computer/vitals_reader/attackby(obj/item/weapon, mob/living/user, params) + if(!istype(user) || (user.istate & ISTATE_HARM)) + return ..() + if((interaction_flags_atom & INTERACT_ATOM_ATTACK_HAND) && (weapon.item_flags & SURGICAL_TOOL)) + // You can flick it on while doing surgery + return interact(user) + return ..() + +/obj/machinery/computer/vitals_reader/wrench_act(mob/living/user, obj/item/tool) + if(flags_1 & NODECONSTRUCT_1) + return FALSE + if(user.istate & ISTATE_HARM) + return FALSE + balloon_alert(user, "detaching...") + if(tool.use_tool(src, user, 6 SECONDS, volume = 50)) + playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) + deconstruct(TRUE) + return TRUE + +/obj/machinery/computer/vitals_reader/deconstruct(disassembled) + if(flags_1 & NODECONSTRUCT_1) + return + var/atom/drop_loc = drop_location() + if(disassembled) + new frame(drop_loc) + else + new /obj/item/stack/sheet/iron(drop_loc, 2) + new /obj/item/shard(drop_loc) + new /obj/item/shard(drop_loc) + qdel(src) + +/obj/machinery/computer/vitals_reader/examine(mob/user) + . = ..() + if(!is_operational || !active || user.is_blind()) + return + + if(isnull(patient)) + . += span_notice("The display is currently scanning for a patient.") + else if(!issilicon(user) && !isobserver(user) && get_dist(patient, user) > 2) + . += span_notice("You are too far away to read the display.") + else if(HAS_TRAIT(user, TRAIT_DUMB) || !user.can_read(src, reading_check_flags = READING_CHECK_LITERACY, silent = TRUE)) + . += span_warning("You try to comprehend the display, but it's too complex for you to understand.") + else if(get_dist(patient, user) <= 2 || isobserver(user) || issilicon(user)) + . += healthscan(user, patient, advanced = advanced, tochat = FALSE) + else + . += span_notice("You are too far away to read the display.") + +/obj/machinery/computer/vitals_reader/Initialize(mapload, obj/item/circuitboard/C) + . = ..() + register_context() + +/obj/machinery/computer/vitals_reader/Destroy() + unset_patient() + return ..() + +/obj/machinery/computer/vitals_reader/add_context(atom/source, list/context, obj/item/held_item, mob/user) + if(isnull(held_item) || (held_item.item_flags & SURGICAL_TOOL)) + if(interaction_flags_atom & INTERACT_ATOM_ATTACK_HAND) + context[SCREENTIP_CONTEXT_LMB] = "Toggle readout" + else if(held_item.tool_behaviour == TOOL_WRENCH) + context[SCREENTIP_CONTEXT_LMB] = "Detach" + if(!isnull(patient)) + context[SCREENTIP_CONTEXT_SHIFT_LMB] = "Examine vitals" + return CONTEXTUAL_SCREENTIP_SET + +/obj/machinery/computer/vitals_reader/AIShiftClick(mob/user) + // Lets AIs perform healthscans on people indirectly (they can't examine) + if(is_operational && !isnull(patient)) + healthscan(user, patient, advanced = advanced) + +#define LOWER_BAR_OFFSET -3 + +/// Returns overlays to be used when active but without a patient detected +/obj/machinery/computer/vitals_reader/proc/get_scanning_overlays() + return list( + construct_overlay("unknown"), + construct_overlay("scanning"), + ) + +/** + * Returns all overlays to be shown when a simple / basic animal patient is detected + * + * * hp_color - color being used for general, overrall health + */ +/obj/machinery/computer/vitals_reader/proc/get_simple_mob_overlays(hp_color) + return list( + construct_overlay("mob", hp_color), + construct_overlay("blood", COLOR_GRAY), + construct_overlay("bar9", COLOR_GRAY), + construct_overlay("bar9", COLOR_GRAY, LOWER_BAR_OFFSET), + ) + +/** + * Returns all overlays to be shown when a humanoid patient is detected + * + * * hp_color - color being used for general, overrall health + */ +/obj/machinery/computer/vitals_reader/proc/get_humanoid_overlays(hp_color) + var/list/returned_overlays = list() + + for(var/body_zone in BODY_ZONES_ALL) + var/obj/item/bodypart/real_part = patient.get_bodypart(body_zone) + var/bodypart_color = isnull(real_part) ? COLOR_GRAY : percent_to_color((real_part.brute_dam + real_part.burn_dam) / real_part.max_damage) + returned_overlays += construct_overlay("human_[body_zone]", bodypart_color) + + if(HAS_TRAIT(patient, TRAIT_NOBLOOD)) + returned_overlays += construct_overlay("blood", COLOR_GRAY) + else + var/blood_color = "#a51919" + switch((patient.blood_volume - BLOOD_VOLUME_SURVIVE) / (BLOOD_VOLUME_NORMAL - BLOOD_VOLUME_SURVIVE)) + if(-INFINITY to 0.2) + blood_color = "#a1a1a1" + if(0.2 to 0.4) + blood_color = "#a18282" + if(0.4 to 0.6) + blood_color = "#a16363" + if(0.6 to 0.8) + blood_color = "#a14444" + if(0.8 to INFINITY) + blood_color = "#a51919" + + returned_overlays += construct_overlay("blood", blood_color) + + if(HAS_TRAIT(patient, TRAIT_NOBREATH)) + returned_overlays += construct_overlay("bar9", COLOR_GRAY) + else + var/oxy_percent = patient.getOxyLoss() / patient.maxHealth + returned_overlays += construct_overlay(percent_to_bar(oxy_percent), "#2A72AA") + + if(HAS_TRAIT(patient, TRAIT_TOXIMMUNE)) + returned_overlays += construct_overlay("bar9", COLOR_GRAY, LOWER_BAR_OFFSET) + else + var/tox_percent = patient.getToxLoss() / patient.maxHealth + returned_overlays += construct_overlay(percent_to_bar(tox_percent), "#5d9c11", LOWER_BAR_OFFSET) + + return returned_overlays + +/obj/machinery/computer/vitals_reader/update_overlays() + . = ..() + if(!active || !is_operational) + return + + if(isnull(patient)) + . += get_scanning_overlays() + + else + var/ekg_icon_state = "ekg" + var/resp_icon_state = (patient.losebreath || HAS_TRAIT(patient, TRAIT_NOBREATH)) ? "resp_flat" : "resp" + if(!patient.appears_alive()) + ekg_icon_state = "ekg_flat" + resp_icon_state = "resp_flat" + else if(ishuman(patient)) + var/mob/living/carbon/human/human_patient = patient + switch(human_patient.get_pretend_heart_rate()) + if(0) + ekg_icon_state = "ekg_flat" + resp_icon_state = "resp_flat" + if(100 to INFINITY) + ekg_icon_state = "ekg_fast" + + var/hp_color = percent_to_color((patient.maxHealth - patient.health) / patient.maxHealth) + . += construct_overlay(ekg_icon_state, hp_color) + . += construct_overlay(resp_icon_state, "#00f7ff") + + if(ishuman(patient)) + . += get_humanoid_overlays(hp_color) + else + . += get_simple_mob_overlays(hp_color) + + . += emissive_appearance(icon, "outline", src, alpha = src.alpha) + +/// Converts a percentage to a color +/obj/machinery/computer/vitals_reader/proc/percent_to_color(percent) + if(machine_stat & (EMPED|EMAGGED|BROKEN)) + percent = rand(1, 100) * 0.01 + if(percent == 0) + return "#2A72AA" + + switch(percent) + if(0 to 0.125) + return "#A6BD00" + if(0.125 to 0.25) + return "#BDA600" + if(0.25 to 0.375) + return "#BD7E00" + if(0.375 to 0.5) + return "#BD4200" + + return "#BD0600" + +/// Converts a percentage to a bar icon state +/obj/machinery/computer/vitals_reader/proc/percent_to_bar(percent) + if(machine_stat & (EMPED|EMAGGED|BROKEN)) + percent = rand(1, 100) * 0.01 + if(percent >= 1) + return "bar9" + if(percent <= 0) + return "bar1" + + switch(percent) + if(0 to 0.125) + return "bar1" + if(0.125 to 0.25) + return "bar2" + if(0.25 to 0.375) + return "bar3" + if(0.375 to 0.5) + return "bar4" + if(0.5 to 0.625) + return "bar5" + if(0.625 to 0.75) + return "bar6" + if(0.75 to 0.875) + return "bar7" + if(0.875 to 1) + return "bar8" + + return "bar9" // ?? + +/** + * Helper to construct an overlay for the vitals display + * + * * state_to_use - icon state to use, required + * * color_to_use - color to use, optional + * * y_offset - offset to apply to the y position of the overlay, defaults to 0 + */ +/obj/machinery/computer/vitals_reader/proc/construct_overlay(state_to_use, color_to_use, y_offset = 0) + var/mutable_appearance/overlay = mutable_appearance(icon, state_to_use, alpha = src.alpha) + overlay.appearance_flags |= RESET_COLOR + overlay.color = color_to_use + overlay.pixel_z += 32 + overlay.pixel_y += -32 + y_offset + return overlay + +#undef LOWER_BAR_OFFSET + +/obj/machinery/computer/vitals_reader/interact(mob/user, special_state) + . = ..() + if(.) + return . + if(!is_operational) + return . + + toggle_active() + balloon_alert(user, "readout [active ? "" : "de"]activated") + playsound(src, 'sound/machines/click.ogg', 50) + return TRUE + +/obj/machinery/computer/vitals_reader/on_set_is_operational(old_value) + if(is_operational) + return + if(active) + toggle_active() + return + update_appearance(UPDATE_OVERLAYS) + +/// Toggles whether the display is active or not +/obj/machinery/computer/vitals_reader/proc/toggle_active() + if(active) + active = FALSE + update_use_power(IDLE_POWER_USE) + unset_patient() + else + active = TRUE + update_use_power(ACTIVE_POWER_USE) + find_active_patient() + update_appearance(UPDATE_OVERLAYS) + +/** + * Recursively checks all nearby machines to find a patient to track. + * + * This can (and should be) signal driven in the future, but machines don't have a set_occupant proc yet, + * so this will do for the moment. + * + * * scan_attempts - number of times this has been called, used to prevent infinite loops + */ +/obj/machinery/computer/vitals_reader/proc/find_active_patient(scan_attempts = 0) + if(!active || !isnull(patient) || QDELETED(src)) + return + + for(var/obj/machinery/nearby_thing in view(3, src)) + if(!is_type_in_typecache(nearby_thing, connectable_typecache)) + continue + + var/mob/living/patient = nearby_thing.occupant + if(istype(nearby_thing, /obj/machinery/computer/operating)) + var/obj/machinery/computer/operating/op = nearby_thing + patient = op.table?.patient + + if(!istype(patient) || (patient.mob_biotypes & MOB_ROBOTIC)) + continue + + set_patient(patient) + return + + if(scan_attempts > 12) + toggle_active() + return + + addtimer(CALLBACK(src, PROC_REF(find_active_patient), scan_attempts + 1), 5 SECONDS) + +/// Sets the passed mob as the active patient +/// If there is already a patient, it will be unset first. +/obj/machinery/computer/vitals_reader/proc/set_patient(mob/living/new_patient) + if(!isnull(patient)) + unset_patient() + + patient = new_patient + RegisterSignals(patient, list( + COMSIG_QDELETING, + COMSIG_MOVABLE_MOVED + ), PROC_REF(unset_patient)) + RegisterSignals(patient, list( + COMSIG_CARBON_POST_REMOVE_LIMB, + COMSIG_CARBON_POST_ATTACH_LIMB, + COMSIG_LIVING_HEALTH_UPDATE, + ), PROC_REF(update_overlay_on_signal)) + update_appearance(UPDATE_OVERLAYS) + +/// Unset the current patient. +/obj/machinery/computer/vitals_reader/proc/unset_patient(...) + SIGNAL_HANDLER + if(isnull(patient)) + return + + UnregisterSignal(patient, list( + COMSIG_QDELETING, + COMSIG_MOVABLE_MOVED, + COMSIG_CARBON_POST_REMOVE_LIMB, + COMSIG_CARBON_POST_ATTACH_LIMB, + COMSIG_LIVING_HEALTH_UPDATE, + )) + + patient = null + if(QDELING(src)) + return + + update_appearance(UPDATE_OVERLAYS) + if(active) + find_active_patient() + +/// Signal proc to update the display when a signal is received. +/obj/machinery/computer/vitals_reader/proc/update_overlay_on_signal(...) + SIGNAL_HANDLER + update_appearance(UPDATE_OVERLAYS) + +/obj/machinery/vitals_reader/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF) + return + + set_machine_stat(machine_stat | EMPED) + addtimer(CALLBACK(src, PROC_REF(fix_emp)), (severity == EMP_HEAVY ? 150 SECONDS : 75 SECONDS)) + +/obj/machinery/vitals_reader/proc/fix_emp() + set_machine_stat(machine_stat & ~EMPED) diff --git a/monkestation/code/modules/blood_for_the_blood_gods/particle.dm b/monkestation/code/modules/blood_for_the_blood_gods/particle.dm index cd0966cfb06c03..a20f12b5c38c97 100644 --- a/monkestation/code/modules/blood_for_the_blood_gods/particle.dm +++ b/monkestation/code/modules/blood_for_the_blood_gods/particle.dm @@ -5,7 +5,6 @@ random_icon_states = list("drip1","drip2","drip3","drip4","drip5") plane = GAME_PLANE layer = BELOW_MOB_LAYER - should_dry = FALSE bloodiness = BLOOD_AMOUNT_PER_DECAL * 0.2 mergeable_decal = FALSE /// Splatter type we create when we bounce on the floor @@ -15,6 +14,11 @@ /// Whether or not we transfer our pixel_x and pixel_y to the splatter, only works for floor splatters though var/messy_splatter = TRUE +/obj/effect/decal/cleanable/blood/particle/Initialize(mapload) + . = ..() + if(QDELETED(loc)) + return INITIALIZE_HINT_QDEL + /obj/effect/decal/cleanable/blood/particle/can_bloodcrawl_in() return FALSE @@ -39,12 +43,13 @@ /obj/effect/decal/cleanable/blood/particle/proc/on_bounce() if(QDELETED(src)) return - if(QDELETED(loc) || !isturf(loc) || !splatter_type_floor) + else if(!isturf(loc) || QDELING(loc) || !splatter_type_floor) qdel(src) return var/obj/effect/decal/cleanable/splatter if(!ispath(splatter_type_floor, /obj/effect/decal/cleanable/blood/splatter/stacking)) splatter = new splatter_type_floor(loc) + splatter.color = color if(messy_splatter) splatter.pixel_x = src.pixel_x splatter.pixel_y = src.pixel_y @@ -52,6 +57,7 @@ var/obj/effect/decal/cleanable/blood/splatter/stacking/stacker = locate(splatter_type_floor) in loc if(!stacker) stacker = new splatter_type_floor(loc) + stacker.color = color if(messy_splatter && length(stacker.splat_overlays)) var/mutable_appearance/existing_appearance = stacker.splat_overlays[1] existing_appearance.pixel_x = src.pixel_x @@ -60,6 +66,7 @@ stacker.update_appearance(UPDATE_ICON) else var/obj/effect/decal/cleanable/blood/splatter/stacking/other_splatter = new splatter_type_floor() + other_splatter.color = color if(messy_splatter && length(other_splatter.splat_overlays)) var/mutable_appearance/existing_appearance = other_splatter.splat_overlays[1] existing_appearance.pixel_x = src.pixel_x @@ -74,7 +81,7 @@ qdel(src) /obj/effect/decal/cleanable/blood/particle/proc/on_bump(atom/bumped_atom) - if(QDELETED(src) || QDELETED(bumped_atom) || !isturf(loc) || !splatter_type_wall) + if(QDELETED(src) || !isturf(loc) || QDELING(loc) || QDELETED(bumped_atom) || !splatter_type_wall) return if(iswallturf(bumped_atom)) //Adjust pixel offset to make splatters appear on the wall @@ -82,6 +89,7 @@ var/dir_to_wall = get_dir(src, bumped_atom) final_splatter.pixel_x = (dir_to_wall & EAST ? world.icon_size : (dir_to_wall & WEST ? -world.icon_size : 0)) final_splatter.pixel_y = (dir_to_wall & NORTH ? world.icon_size : (dir_to_wall & SOUTH ? -world.icon_size : 0)) + final_splatter.color = color var/list/blood_dna = GET_ATOM_BLOOD_DNA(src) if(blood_dna) final_splatter.add_blood_DNA(blood_dna) @@ -95,6 +103,7 @@ return var/obj/effect/decal/cleanable/blood/splatter/over_window/final_splatter = new splatter_type_wall() final_splatter.forceMove(the_window) + final_splatter.color = color the_window.vis_contents += final_splatter the_window.bloodied = TRUE qdel(src) @@ -106,12 +115,15 @@ /// Listing containing overlays of all the splatters we've merged with var/list/splat_overlays = list() -/obj/effect/decal/cleanable/blood/splatter/stacking/Initialize(mapload) +/obj/effect/decal/cleanable/blood/splatter/stacking/Initialize(mapload, blood_color = COLOR_BLOOD) + color = blood_color . = ..() var/mutable_appearance/our_appearance = mutable_appearance(src.icon, src.icon_state) our_appearance.color = src.color our_appearance.pixel_x = src.pixel_x our_appearance.pixel_y = src.pixel_y + if(glows) + our_appearance.plane = EMISSIVE_PLANE icon_state = null color = null pixel_x = 0 @@ -140,8 +152,8 @@ desc = "Raining blood, from a lacerated sky, bleeding its horror!" icon_state = "line" random_icon_states = null - dryname = "dried blood line" - drydesc = "Creating my structure - Now I shall reign in blood!" + base_name = "dried blood line" + dry_desc = "Creating my structure - Now I shall reign in blood!" /obj/effect/decal/cleanable/blood/line/Initialize(mapload, direction) if(!isnull(direction)) diff --git a/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/blood_walk.dm b/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/blood_walk.dm index e846a42139a037..f07316b9eec73c 100644 --- a/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/blood_walk.dm +++ b/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/blood_walk.dm @@ -36,17 +36,6 @@ /datum/status_effect/blood_trial/proc/on_move(atom/movable/mover, turf/old_loc) var/turf/oldLocTurf = get_turf(old_loc) - if(prob(5)) - for(var/mob/living/carbon/human/human in view(7, oldLocTurf)) - if(human == owner) - continue - human.emote("scream") - human.stamina.adjust(-5) - human.Shake(duration = 3 SECONDS) - human.emote("cries blood") - var/turf/turf = get_turf(human) - var/list/blood_drop = list(human.get_blood_id() = 3) - turf.add_liquid_list(blood_drop, FALSE, 300) var/obj/effect/decal/cleanable/blood/footprints/oldLocFP = find_pool_by_blood_state(oldLocTurf, /obj/effect/decal/cleanable/blood/footprints) if(oldLocFP) diff --git a/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/recall_machette.dm b/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/recall_machette.dm index f5c53dfdbf66ab..9e0a5eef5f1573 100644 --- a/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/recall_machette.dm +++ b/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/recall_machette.dm @@ -67,11 +67,6 @@ user.emote("scream") living_user.adjustBruteLoss(force) to_chat(user, span_warning("You scream out in pain as you hold the [src]!")) - if(ishuman(user)) - var/mob/living/carbon/human/human = user - var/turf/turf = get_turf(user) - var/list/blood_drop = list(human.get_blood_id() = 3) - turf.add_liquid_list(blood_drop, FALSE, 300) return FALSE . = ..() @@ -83,10 +78,5 @@ user.emote("scream") living_user.adjustBruteLoss(force) to_chat(user, span_warning("You scream out in pain as you hold the [src]!")) - if(ishuman(user)) - var/mob/living/carbon/human/human = user - var/turf/turf = get_turf(user) - var/list/blood_drop = list(human.get_blood_id() = 3) - turf.add_liquid_list(blood_drop, FALSE, 300) return FALSE . = ..() diff --git a/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/soul_steal.dm b/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/soul_steal.dm index 272978a07a8421..95af858a2fa429 100644 --- a/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/soul_steal.dm +++ b/monkestation/code/modules/blood_for_the_blood_gods/slasher/abilities/soul_steal.dm @@ -78,12 +78,12 @@ human_target.soul_sucked = TRUE - if(human_target.dna.species.use_skintones) // make them deathly white, afterall they dont have a soul anymore + if(HAS_TRAIT(human_target, TRAIT_USES_SKINTONES)) // make them deathly white, afterall they dont have a soul anymore human_target.skin_tone = "albino" human_target.dna.update_ui_block(DNA_SKIN_TONE_BLOCK) else // we dont discriminate, even skeletons can be white... (arent they already white?) - human_target.dna.features["mcolor"] = "#FFFFFF" - human_target.dna.update_uf_block(DNA_MUTANT_COLOR_BLOCK) + var/datum/color_palette/generic_colors/located = human_target.dna.color_palettes[/datum/color_palette/generic_colors] + located.mutant_color = "#FFFFFF" human_target.update_body(is_creating = TRUE) diff --git a/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_datum.dm b/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_datum.dm index 36e8ea3347cab1..9d9324824c1627 100644 --- a/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_datum.dm +++ b/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_datum.dm @@ -95,7 +95,7 @@ TRAIT_NOSOFTCRIT, TRAIT_NOHARDCRIT, TRAIT_AGEUSIA, - TRAIT_COLDBLOODED, + TRAIT_COLD_BLOODED, TRAIT_VIRUSIMMUNE, TRAIT_TOXIMMUNE, TRAIT_HARDLY_WOUNDED, @@ -246,7 +246,7 @@ if(old_body && ishuman(old_body)) var/mob/living/carbon/human/old_user = old_body var/datum/species/old_species = old_user.dna.species - old_species.species_traits -= DRINKSBLOOD + old_species.inherent_traits -= TRAIT_DRINKS_BLOOD //Keep track of what they were old_left_arm_unarmed_damage_low = old_left_arm.unarmed_damage_low old_left_arm_unarmed_damage_high = old_left_arm.unarmed_damage_high @@ -260,7 +260,7 @@ if(ishuman(new_body)) var/mob/living/carbon/human/new_user = new_body var/datum/species/new_species = new_user.dna.species - new_species.species_traits += DRINKSBLOOD + new_species.inherent_traits += TRAIT_DRINKS_BLOOD var/obj/item/bodypart/new_left_arm var/obj/item/bodypart/new_right_arm //Give old punch damage values @@ -408,7 +408,7 @@ var/datum/species/user_species = user.dna.species var/obj/item/bodypart/user_left_arm = user.get_bodypart(BODY_ZONE_L_ARM) var/obj/item/bodypart/user_right_arm = user.get_bodypart(BODY_ZONE_R_ARM) - user_species.species_traits += DRINKSBLOOD + user_species.inherent_traits += TRAIT_DRINKS_BLOOD user.dna?.remove_all_mutations() user_left_arm.unarmed_damage_low += 1 //lowest possible punch damage - 0 user_left_arm.unarmed_damage_high += 1 //highest possible punch damage - 9 @@ -450,7 +450,7 @@ if(ishuman(owner.current)) var/mob/living/carbon/human/user = owner.current var/datum/species/user_species = user.dna.species - user_species.species_traits -= DRINKSBLOOD + user_species.inherent_traits -= TRAIT_DRINKS_BLOOD // Remove all bloodsucker traits owner.current.remove_traits(bloodsucker_traits, BLOODSUCKER_TRAIT) // Update Health diff --git a/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_overwrites.dm b/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_overwrites.dm index 4b7131c9a11941..578f90322e4679 100644 --- a/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_overwrites.dm +++ b/monkestation/code/modules/bloodsuckers/bloodsucker/bloodsucker_overwrites.dm @@ -30,11 +30,6 @@ return return ..() -/mob/living/carbon/human/natural_bodytemperature_stabilization(datum/gas_mixture/environment, seconds_per_tick, times_fired) - // Return 0 as your natural temperature. Species proc handle_environment() will adjust your temperature based on this. - if(HAS_TRAIT(src, TRAIT_COLDBLOODED)) - return 0 - return ..() // Used when analyzing a Bloodsucker, Masquerade will hide brain traumas (Unless you're a Beefman) /mob/living/carbon/get_traumas() diff --git a/monkestation/code/modules/bloodsuckers/clans/venture.dm b/monkestation/code/modules/bloodsuckers/clans/venture.dm index 173e6bc7fe29bb..20cf06a6f0a550 100644 --- a/monkestation/code/modules/bloodsuckers/clans/venture.dm +++ b/monkestation/code/modules/bloodsuckers/clans/venture.dm @@ -60,7 +60,7 @@ vassaldatum.vassal_level++ switch(vassaldatum.vassal_level) if(2) - target.add_traits(list(TRAIT_COLDBLOODED, TRAIT_NOBREATH, TRAIT_AGEUSIA), BLOODSUCKER_TRAIT) + target.add_traits(list(TRAIT_COLD_BLOODED, TRAIT_NOBREATH, TRAIT_AGEUSIA), BLOODSUCKER_TRAIT) to_chat(target, span_notice("Your blood begins to feel cold, and as a mote of ash lands upon your tongue, you stop breathing...")) if(3) target.add_traits(list(TRAIT_NOCRITDAMAGE, TRAIT_NOSOFTCRIT), BLOODSUCKER_TRAIT) diff --git a/monkestation/code/modules/bloodsuckers/structures/bloodsucker_objects.dm b/monkestation/code/modules/bloodsuckers/structures/bloodsucker_objects.dm index c71f94b02d5493..92d09ee4fcf592 100644 --- a/monkestation/code/modules/bloodsuckers/structures/bloodsucker_objects.dm +++ b/monkestation/code/modules/bloodsuckers/structures/bloodsucker_objects.dm @@ -41,7 +41,7 @@ ///Bloodbag of Bloodsucker blood (used by Vassals only) /obj/item/reagent_containers/blood/o_minus/bloodsucker name = "blood pack" - unique_blood = /datum/reagent/blood/bloodsucker + blood_type = /datum/blood_type/crew/bloodsucker /obj/item/reagent_containers/blood/o_minus/bloodsucker/examine(mob/user) . = ..() diff --git a/monkestation/code/modules/blueshift/clothing/kahraman.dm b/monkestation/code/modules/blueshift/clothing/kahraman.dm index b99237b4bb1166..92c8eeb0d95c86 100644 --- a/monkestation/code/modules/blueshift/clothing/kahraman.dm +++ b/monkestation/code/modules/blueshift/clothing/kahraman.dm @@ -277,9 +277,9 @@ supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON worn_icon_state = "flak" body_parts_covered = CHEST - cold_protection = CHEST|GROIN + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT armor_type = /datum/armor/colonist_armor resistance_flags = NONE @@ -361,9 +361,9 @@ worn_icon_state = "gloves" greyscale_colors = "#3a373e" siemens_coefficient = 0.25 // Doesn't insulate you entirely, but makes you a little more resistant - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE clothing_traits = list(TRAIT_QUICK_CARRY) diff --git a/monkestation/code/modules/blueshift/clothing/nova_coats.dm b/monkestation/code/modules/blueshift/clothing/nova_coats.dm index 04e73300acd3ac..bfd1707c4851e7 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_coats.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_coats.dm @@ -88,8 +88,8 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS armor_type = /datum/armor/toggle_deckard - cold_protection = CHEST|GROIN|LEGS|ARMS - heat_protection = CHEST|GROIN|LEGS|ARMS + + /datum/armor/toggle_deckard melee = 25 @@ -145,8 +145,8 @@ desc = "\"You look like a good Joe.\"" icon_state = "bladerunner_neue" body_parts_covered = CHEST|GROIN|ARMS|LEGS - cold_protection = CHEST|GROIN|ARMS|LEGS - heat_protection = CHEST|ARMS|GROIN|LEGS + + icon = 'monkestation/code/modules/blueshift/icons/obj/clothing/suits.dmi' worn_icon = 'monkestation/code/modules/blueshift/icons/mob/clothing/suit.dmi' blood_overlay_type = "coat" @@ -158,7 +158,7 @@ icon = 'monkestation/code/modules/blueshift/icons/obj/clothing/suits/jacket.dmi' worn_icon = 'monkestation/code/modules/blueshift/icons/mob/clothing/suits/jacket.dmi' body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS + greyscale_config = /datum/greyscale_config/croptop greyscale_config_worn = /datum/greyscale_config/croptop/worn greyscale_colors = "#1d1b1b" @@ -229,7 +229,7 @@ greyscale_config_worn = /datum/greyscale_config/warm_coat/worn greyscale_colors = "#7a5f4f#d9cec7" flags_1 = IS_PLAYER_COLORABLE_1 - cold_protection = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON diff --git a/monkestation/code/modules/blueshift/clothing/nova_cowboy.dm b/monkestation/code/modules/blueshift/clothing/nova_cowboy.dm index 2f11d9d774ce7e..65afb157bbdb3e 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_cowboy.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_cowboy.dm @@ -42,7 +42,7 @@ greyscale_colors = "#c26934#8f89ae#774B2D" greyscale_config = /datum/greyscale_config/cowboy_flat_cowl greyscale_config_worn = /datum/greyscale_config/cowboy_flat_cowl/worn - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT flags_inv = HIDEHAIR diff --git a/monkestation/code/modules/blueshift/clothing/nova_field.dm b/monkestation/code/modules/blueshift/clothing/nova_field.dm index 92b22b3c07f65f..49e1a81d53b7d4 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_field.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_field.dm @@ -87,9 +87,9 @@ icon_state = "exp_corps" icon = 'monkestation/code/modules/blueshift/icons/obj/clothing/gloves.dmi' worn_icon = 'monkestation/code/modules/blueshift/icons/mob/clothing/hands.dmi' - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF uses_advanced_reskins = FALSE @@ -114,9 +114,9 @@ icon = 'monkestation/code/modules/blueshift/icons/obj/clothing/gloves.dmi' worn_icon = 'monkestation/code/modules/blueshift/icons/mob/clothing/hands.dmi' worn_icon_state = "exp_corps" - cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT - heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF armor_type = /datum/armor/nitrile_expeditionary_corps @@ -152,8 +152,8 @@ icon_state = "exp_corps" body_parts_covered = CHEST|GROIN|ARMS armor_type = /datum/armor/vest_expeditionary_corps - cold_protection = CHEST|GROIN|ARMS - heat_protection = CHEST|GROIN|ARMS + + dog_fashion = null allowed = list( /obj/item/melee, diff --git a/monkestation/code/modules/blueshift/clothing/nova_heads.dm b/monkestation/code/modules/blueshift/clothing/nova_heads.dm index d0d49655c12eaf..0f13b9f231fdcf 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_heads.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_heads.dm @@ -117,9 +117,9 @@ desc = "Despite seeming like it's made of metal, it's actually a very cheap plastic.." armor_type = /datum/armor/imperial_ce clothing_flags = STOPSPRESSUREDAMAGE - heat_protection = HEAD + max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT icon_state = "impce" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT @@ -175,7 +175,7 @@ worn_icon = 'monkestation/code/modules/blueshift/gags/icons/head/head.dmi' icon_state = "hood" body_parts_covered = HEAD - cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT flags_inv = HIDEEARS|HIDEHAIR flags_1 = IS_PLAYER_COLORABLE_1 diff --git a/monkestation/code/modules/blueshift/clothing/nova_jackets.dm b/monkestation/code/modules/blueshift/clothing/nova_jackets.dm index ab550ed6c8ee75..b62a1580988c05 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_jackets.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_jackets.dm @@ -7,7 +7,7 @@ icon_state = "bomberalt" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/radio) body_parts_covered = CHEST|ARMS|GROIN - cold_protection = CHEST|ARMS|GROIN + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON toggle_noun = "zipper" @@ -88,8 +88,8 @@ desc = "A cozy and warm plaid flannel jacket. Praised by Lumberjacks and Truckers alike." icon_state = "flannel" body_parts_covered = CHEST|ARMS //Being a bit shorter, flannels dont cover quite as much as the rest of the woolen jackets (- GROIN) - cold_protection = CHEST|ARMS - heat_protection = CHEST|ARMS //As a plus side, they're more insulating, protecting a bit from the heat as well + + /obj/item/clothing/suit/toggle/jacket/flannel/red name = "red flannel jacket" diff --git a/monkestation/code/modules/blueshift/clothing/nova_misc.dm b/monkestation/code/modules/blueshift/clothing/nova_misc.dm index c8b18cd8f0be8e..39ba890481b7e0 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_misc.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_misc.dm @@ -93,7 +93,7 @@ icon_state = "chi_korea_coat" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/modernwintercoatthing @@ -104,7 +104,7 @@ icon_state = "modern_winter" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/toggle/jacket/cardigan @@ -145,7 +145,7 @@ icon_state = "expensivecoat" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/brownbattlecoat @@ -156,7 +156,7 @@ icon_state = "battlecoat" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/brownfurrich @@ -167,7 +167,7 @@ icon_state = "winter_coat" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor_type = /datum/armor/suit_brownfurrich @@ -197,7 +197,7 @@ icon_state = "fallsparka" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/british_officer @@ -208,7 +208,7 @@ icon_state = "british_officer" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor_type = /datum/armor/suit_british_officer @@ -224,7 +224,7 @@ icon_state = "modern_winter" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/woolcoat @@ -245,7 +245,7 @@ icon_state = "soldier" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor_type = /datum/armor/suit_gautumn @@ -263,7 +263,7 @@ icon_state = "autumn" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor_type = /datum/armor/suit_autumn diff --git a/monkestation/code/modules/blueshift/clothing/nova_neck.dm b/monkestation/code/modules/blueshift/clothing/nova_neck.dm index e999df7ece5bc9..cf85b439c14815 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_neck.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_neck.dm @@ -156,7 +156,7 @@ icon = 'monkestation/code/modules/blueshift/icons/obj/clothing/neck.dmi' worn_icon = 'monkestation/code/modules/blueshift/icons/mob/clothing/neck.dmi' icon_state = "cowboy_poncho" - heat_protection = CHEST + /obj/item/clothing/neck/cowboylea/Initialize(mapload) . = ..() @@ -171,7 +171,7 @@ greyscale_config_worn = /datum/greyscale_config/ranger_poncho/worn greyscale_colors = "#917A57#858585" //Roughly the same color as the original non-greyscale item was flags_1 = IS_PLAYER_COLORABLE_1 - heat_protection = CHEST + /obj/item/clothing/neck/ranger_poncho/Initialize(mapload) . = ..() diff --git a/monkestation/code/modules/blueshift/clothing/nova_security.dm b/monkestation/code/modules/blueshift/clothing/nova_security.dm index 66a885a84ed4b9..eb62d6a8c530b5 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_security.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_security.dm @@ -277,8 +277,8 @@ icon_state = "peacekeeper_jacket" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS - heat_protection = CHEST|GROIN|ARMS + + /obj/item/clothing/suit/armor/vest/peacekeeper/jacket/Initialize(mapload) . = ..() @@ -299,9 +299,9 @@ worn_icon_state = "peacekeeper" siemens_coefficient = 0.5 strip_delay = 20 - cold_protection = 0 + min_cold_protection_temperature = null - heat_protection = 0 + max_heat_protection_temperature = null resistance_flags = FLAMMABLE armor_type = /datum/armor/none @@ -357,9 +357,9 @@ worn_icon = 'monkestation/code/modules/blueshift/icons/mob/clothing/suit.dmi' icon_state = "cowboy_vest" body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON - heat_protection = CHEST|ARMS + /obj/item/clothing/suit/jacket/det_suit/cowboyvest name = "blonde cowboy vest" @@ -368,9 +368,9 @@ worn_icon = 'monkestation/code/modules/blueshift/icons/mob/clothing/suit.dmi' icon_state = "cowboy_vest" body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON - heat_protection = CHEST|ARMS + /obj/item/clothing/under/rank/security/detective/runner name = "runner sweater" diff --git a/monkestation/code/modules/blueshift/clothing/nova_syndicate.dm b/monkestation/code/modules/blueshift/clothing/nova_syndicate.dm index 9bb1a92ed1c61d..158f2ebff0acc0 100644 --- a/monkestation/code/modules/blueshift/clothing/nova_syndicate.dm +++ b/monkestation/code/modules/blueshift/clothing/nova_syndicate.dm @@ -199,7 +199,7 @@ name = "insulated tactical turtleneck skirt" desc = "A non-descript and slightly suspicious looking skirtleneck. The interior has been padded with special insulation for both warmth and protection." armor_type = /datum/armor/clothing_under/syndicate/coldres - cold_protection = CHEST|GROIN|ARMS|LEGS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -248,7 +248,7 @@ worn_icon = 'monkestation/code/modules/blueshift/icons/worn.dmi' icon_state = "syndievest_winter" body_parts_covered = CHEST|GROIN - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT resistance_flags = FIRE_PROOF diff --git a/monkestation/code/modules/blueshift/items/barber.dm b/monkestation/code/modules/blueshift/items/barber.dm index 3448f9bd87a9de..293f0dd70a5886 100644 --- a/monkestation/code/modules/blueshift/items/barber.dm +++ b/monkestation/code/modules/blueshift/items/barber.dm @@ -407,13 +407,6 @@ visible_message(span_notice("[user] starts to masterfully paint [target_human]!")) if(do_after(user, 20 SECONDS, target_human)) - switch(selected_mutant_color) - if("One") - target_human.dna.features["mcolor"] = selected_color - if("Two") - target_human.dna.features["mcolor1"] = selected_color - if("Three") - target_human.dna.features["mcolor2"] = selected_color target_human.regenerate_icons() item_use_power(power_use_amount, user) diff --git a/monkestation/code/modules/blueshift/mobs/misc_pets.dm b/monkestation/code/modules/blueshift/mobs/misc_pets.dm index b25cb375f64127..55bdd7d908f1db 100644 --- a/monkestation/code/modules/blueshift/mobs/misc_pets.dm +++ b/monkestation/code/modules/blueshift/mobs/misc_pets.dm @@ -27,8 +27,8 @@ real_name = "Teshari" desc = "A timeless classic." unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 30000 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 30000 /mob/living/basic/lizard/tegu name = "tegu" diff --git a/monkestation/code/modules/blueshift/reagents/deforest.dm b/monkestation/code/modules/blueshift/reagents/deforest.dm index 556d1b96df25c4..1b5e073689cc30 100644 --- a/monkestation/code/modules/blueshift/reagents/deforest.dm +++ b/monkestation/code/modules/blueshift/reagents/deforest.dm @@ -366,7 +366,7 @@ if(!ishuman(our_guy)) return var/mob/living/carbon/human/human = our_guy - human.adjust_coretemperature(heating * TEMPERATURE_DAMAGE_COEFFICIENT) + human.adjust_bodytemperature(heating * TEMPERATURE_DAMAGE_COEFFICIENT) else our_guy.adjustOrganLoss(ORGAN_SLOT_HEART, 0.1 * REM * seconds_per_tick) @@ -404,7 +404,7 @@ if(!ishuman(our_guy)) return var/mob/living/carbon/human/human = our_guy - human.adjust_coretemperature(heating * TEMPERATURE_DAMAGE_COEFFICIENT) + human.adjust_bodytemperature(heating * TEMPERATURE_DAMAGE_COEFFICIENT) else our_guy.adjustOrganLoss(ORGAN_SLOT_HEART, 1 * REM * seconds_per_tick, required_organtype = affected_organtype) our_guy.adjustToxLoss(1 * REM * seconds_per_tick, updating_health = FALSE, forced = TRUE, required_biotype = affected_biotype) diff --git a/monkestation/code/modules/blueshift/species/ashwalker.dm b/monkestation/code/modules/blueshift/species/ashwalker.dm index e897dbb54164a3..773eb4b40f2c64 100644 --- a/monkestation/code/modules/blueshift/species/ashwalker.dm +++ b/monkestation/code/modules/blueshift/species/ashwalker.dm @@ -148,10 +148,12 @@ /obj/item/bodypart/arm/left/lizard/ashwalker brute_modifier = ASHWALKER_BRUTE_MODIFIER burn_modifier = ASHWALKER_BURN_MODIFIER + hand_traits = list(TRAIT_CHUNKYFINGERS) /obj/item/bodypart/arm/right/lizard/ashwalker brute_modifier = ASHWALKER_BRUTE_MODIFIER burn_modifier = ASHWALKER_BURN_MODIFIER + hand_traits = list(TRAIT_CHUNKYFINGERS) /obj/item/bodypart/leg/left/lizard/ashwalker brute_modifier = ASHWALKER_BRUTE_MODIFIER diff --git a/monkestation/code/modules/blueshift/wounds/muscle_wounds.dm b/monkestation/code/modules/blueshift/wounds/muscle_wounds.dm index 70df1ab6b097d6..fbb8da9e99829f 100644 --- a/monkestation/code/modules/blueshift/wounds/muscle_wounds.dm +++ b/monkestation/code/modules/blueshift/wounds/muscle_wounds.dm @@ -9,10 +9,6 @@ wound_flags = (ACCEPTS_GAUZE) processes = TRUE - /// How much do we need to regen. Will regen faster if we're splinted and or laying down - var/regen_ticks_needed - /// Our current counter for healing - var/regen_ticks_current = 0 can_scar = FALSE @@ -70,13 +66,6 @@ if(limb.current_gauze) regen_ticks_current += (1-limb.current_gauze.splint_factor) - if(regen_ticks_current > regen_ticks_needed) - if(!victim || !limb) - qdel(src) - return - to_chat(victim, span_green("Your [parse_zone(limb.body_zone)] has regenerated its muscle!")) - remove_wound() - /// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so /datum/wound/muscle/proc/attack_with_hurt_hand(mob/M, atom/target, proximity) SIGNAL_HANDLER diff --git a/monkestation/code/modules/botany/potty.dm b/monkestation/code/modules/botany/potty.dm index b55c8f53ae148c..9a82db572fb0fc 100644 --- a/monkestation/code/modules/botany/potty.dm +++ b/monkestation/code/modules/botany/potty.dm @@ -26,6 +26,7 @@ /mob/living/basic/pet/potty/Initialize(mapload) ..() + AddComponent(/datum/component/item_receiver, list(/obj/item/reagent_containers/cup/watering_can), "happily takes") AddComponent(/datum/component/plant_tray_overlay, icon, null, null, null, null, null, null, 3, 8) AddComponent(/datum/component/plant_growing) AddComponent(/datum/component/obeys_commands, pet_commands) diff --git a/monkestation/code/modules/botany/species/apid/species.dm b/monkestation/code/modules/botany/species/apid/species.dm index cd67ebf489938d..cad389f9a0dc74 100644 --- a/monkestation/code/modules/botany/species/apid/species.dm +++ b/monkestation/code/modules/botany/species/apid/species.dm @@ -27,14 +27,6 @@ name = "\improper Apid" plural_form = "Apids" id = SPECIES_APID - species_traits = list(HAS_MARKINGS,) - - /* - mutant_bodyparts = list( - "apid_stripes" = "None", - "apid_headstripes" = "None", - ) - */ mutanteyes = /obj/item/organ/internal/eyes/apid @@ -46,17 +38,16 @@ inherent_traits = list( TRAIT_TACKLING_WINGED_ATTACKER, TRAIT_ANTENNAE, + TRAIT_HAS_MARKINGS, ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG meat = /obj/item/food/meat/slab/human/mutant/apid - liked_food = VEGETABLES | MEAT | FRUIT - disliked_food = GROSS | BUGS | GORE - toxic_food = RAW | SEAFOOD changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT species_language_holder = /datum/language_holder/apid + mutanttongue = /obj/item/organ/internal/tongue/apid bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/apid, BODY_ZONE_CHEST = /obj/item/bodypart/chest/apid, @@ -140,11 +131,25 @@ if(istype(attacking_item, /obj/item/melee/flyswatter)) damage_mods += 10 // Yes, a 10x damage modifier -/datum/species/apid/get_scream_sound(mob/living/carbon/human/human) - return 'sound/voice/moth/scream_moth.ogg' - /datum/species/apid/get_species_description() return "Apids are a race of bipedal bees from the jungle planet of Saltu. Due to their large bodies, they have lost the ability to fly." #undef ui_honeydisplay #undef FORMAT_HONEY_CHARGES_TEXT + +/obj/item/organ/internal/tongue/apid + name = "apid tongue" + + liked_foodtypes = VEGETABLES | MEAT | FRUIT + disliked_foodtypes = GROSS | BUGS | GORE + toxic_foodtypes = RAW | SEAFOOD + +/obj/item/organ/internal/tongue/apid/get_scream_sound() + return 'sound/voice/moth/scream_moth.ogg' + +/obj/item/organ/internal/tongue/apid/get_laugh_sound() + return pick( + 'monkestation/sound/voice/laugh/moth/mothchitter.ogg', + 'monkestation/sound/voice/laugh/moth/mothlaugh.ogg', + 'monkestation/sound/voice/laugh/moth/mothsqueak.ogg', + ) diff --git a/monkestation/code/modules/brewin_and_chewin/chewing/cooking_containers.dm b/monkestation/code/modules/brewin_and_chewin/chewing/cooking_containers.dm index 43500418a3bb8f..a53e907e182360 100644 --- a/monkestation/code/modules/brewin_and_chewin/chewing/cooking_containers.dm +++ b/monkestation/code/modules/brewin_and_chewin/chewing/cooking_containers.dm @@ -374,8 +374,8 @@ appliancetype = GRILL /obj/item/reagent_containers/cooking_container/bowl - name = "cooking bowl" - shortname = "cooking bowl" + name = "mixing bowl" + shortname = "mixing bowl" desc = "A bowl." icon_state = "bowl" diff --git a/monkestation/code/modules/brewin_and_chewin/chewing/fryer_overhaul.dm b/monkestation/code/modules/brewin_and_chewin/chewing/fryer_overhaul.dm index 9cdf1cd244ad59..cdbda90678426f 100644 --- a/monkestation/code/modules/brewin_and_chewin/chewing/fryer_overhaul.dm +++ b/monkestation/code/modules/brewin_and_chewin/chewing/fryer_overhaul.dm @@ -60,7 +60,7 @@ if(!basket) return for(var/obj/item/item as anything in basket.contents) - if(!QDELETED(item)) + if(!QDELETED(item) && !(item.type in GLOB.oilfry_blacklisted_items)) item.AddElement(/datum/element/fried_item, cook_time) if(user) basket.process_item(src, user, lower_quality_on_fail=CHEWIN_BASE_QUAL_REDUCTION, send_message=TRUE) diff --git a/monkestation/code/modules/brewin_and_chewin/chewing/recipes/fried_rice.dm b/monkestation/code/modules/brewin_and_chewin/chewing/recipes/fried_rice.dm index bc3c2d2c35ae68..f21996d94c5e28 100644 --- a/monkestation/code/modules/brewin_and_chewin/chewing/recipes/fried_rice.dm +++ b/monkestation/code/modules/brewin_and_chewin/chewing/recipes/fried_rice.dm @@ -15,3 +15,21 @@ list(CHEWIN_ADD_REAGENT, /datum/reagent/consumable/soysauce, 3, base=3), list(CHEWIN_USE_STOVE, J_HI, 5 SECONDS , finish_text = "You can smell fried rice!"), ) + +/datum/chewin_cooking/recipe/ikareis + cooking_container = PAN + food_category = CAT_STOVETOP + product_type = /obj/item/food/salad/ikareis + recipe_guide = "Add boiled rice to pan, some squid ink, add vegetables and sausage, cook for 20 seconds on high." + step_builder = list( + list(CHEWIN_ADD_ITEM, /obj/item/food/boiledrice, qmod=0.5), + list(CHEWIN_ADD_ITEM, /obj/item/food/canned/squid_ink, qmod=0.5), + list(CHEWIN_ADD_PRODUCE, /obj/item/food/grown/bell_pepper, qmod=0.5), + list(CHEWIN_ADD_ITEM, /obj/item/food/sausage, qmod=0.5), + + list(CHEWIN_ADD_ITEM_OPTIONAL, /obj/item/food/onion_slice, qmod=0.5), + list(CHEWIN_ADD_ITEM_OPTIONAL, /obj/item/food/pineappleslice, qmod=0.5, prod_desc = "Extra sweet!"), + list(CHEWIN_ADD_ITEM_OPTIONAL, /obj/item/food/grown/chili, qmod=0.5, prod_desc = "Extra spicy!"), + + list(CHEWIN_USE_STOVE, J_HI, 20 SECONDS , finish_text = "You can smell ikareis!"), + ) diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/_base.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/_base.dm index f036f5a7afae83..43f917a3340d54 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/_base.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/_base.dm @@ -22,10 +22,14 @@ /// Amount of shock building up from higher levels of pain /// When greater than current health, we go into shock var/shock_buildup = 0 + /// Tracks how many successful heart attack rolls in a row + VAR_FINAL/heart_attack_counter = 0 /// Cooldown to track the last time we lost pain. COOLDOWN_DECLARE(time_since_last_pain_loss) /// Cooldown to track last time we sent a pain message. COOLDOWN_DECLARE(time_since_last_pain_message) + /// Cooldown to track last time heart attack counter went up. + COOLDOWN_DECLARE(time_since_last_heart_attack_counter) #ifdef TESTING /// For testing. Does this pain datum print testing messages when it happens? @@ -84,11 +88,10 @@ RegisterSignal(parent, COMSIG_LIVING_POST_FULLY_HEAL, PROC_REF(remove_all_pain)) RegisterSignal(parent, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(add_damage_pain)) RegisterSignal(parent, COMSIG_MOB_STATCHANGE, PROC_REF(on_parent_statchance)) - RegisterSignals(parent, list(COMSIG_LIVING_SET_BODY_POSITION, COMSIG_LIVING_SET_BUCKLED), PROC_REF(check_lying_pain_modifier)) RegisterSignals(parent, list(SIGNAL_ADDTRAIT(TRAIT_NO_PAIN_EFFECTS), SIGNAL_REMOVETRAIT(TRAIT_NO_PAIN_EFFECTS)), PROC_REF(refresh_pain_attributes)) - - if(ishuman(parent)) - RegisterSignal(parent, COMSIG_HUMAN_BURNING, PROC_REF(on_burn_tick)) + RegisterSignal(parent, COMSIG_LIVING_TREAT_MESSAGE, PROC_REF(handle_message)) + RegisterSignal(parent, COMSIG_MOB_FIRED_GUN, PROC_REF(on_mob_fired_gun)) + RegisterSignal(parent, COMSIG_LIVING_REVIVE, PROC_REF(revived)) /** * Unregister all of our signals from our parent when we're done, if we have signals to unregister. @@ -99,12 +102,12 @@ COMSIG_CARBON_GAIN_WOUND, COMSIG_CARBON_LOSE_WOUND, COMSIG_CARBON_REMOVE_LIMB, - COMSIG_HUMAN_BURNING, COMSIG_LIVING_HEALTHSCAN, COMSIG_LIVING_POST_FULLY_HEAL, - COMSIG_LIVING_SET_BODY_POSITION, - COMSIG_LIVING_SET_BUCKLED, + COMSIG_LIVING_REVIVE, + COMSIG_LIVING_TREAT_MESSAGE, COMSIG_MOB_APPLY_DAMAGE, + COMSIG_MOB_FIRED_GUN, COMSIG_MOB_STATCHANGE, SIGNAL_ADDTRAIT(TRAIT_NO_PAIN_EFFECTS), SIGNAL_REMOVETRAIT(TRAIT_NO_PAIN_EFFECTS), @@ -218,6 +221,14 @@ pain_modifier = 1 for(var/mod in pain_mods) pain_modifier *= pain_mods[mod] + // Throw alert if a drug specifically is numbing us + if(pain_modifier < 0.75) + for(var/datum/reagent/med as anything in parent.reagents.reagent_list) + if(med.pain_modifier <= 0.5) + parent.throw_alert("numbed", /atom/movable/screen/alert/numbed) + break + else + parent.clear_alert("numbed") return old_pain_mod != pain_modifier /** @@ -234,9 +245,9 @@ // No pain at all if(amount == 0) - return + return FALSE if(amount > 0 && (parent.status_flags & GODMODE)) - return + return FALSE for(var/zone in shuffle(def_zones)) var/adjusted_amount = round(amount, 0.01) @@ -244,18 +255,22 @@ if(isnull(adjusted_bodypart)) // it's valid - for if we're passed a zone we don't have continue + var/current_amount = adjusted_bodypart.pain + // Pain is negative (healing) if(adjusted_amount < 0) // Pain is negative and we're at min pain - if(adjusted_bodypart.pain <= adjusted_bodypart.min_pain) + if(current_amount <= adjusted_bodypart.min_pain) continue // Pain is negative and we're above soft cap, incraese the healing amount greatly - if(adjusted_bodypart.pain >= adjusted_bodypart.soft_max_pain) - adjusted_amount *= 3 + if(current_amount >= adjusted_bodypart.soft_max_pain) + adjusted_amount *= 2 * (current_amount / adjusted_bodypart.soft_max_pain) // Pain is positive (dealing) else - // Adjust incoming dealt pain by modifiers + // Pain is positive and we're at the soft cap, reduce the incoming pain + if(current_amount >= adjusted_bodypart.soft_max_pain) + adjusted_amount *= 0.75 * (adjusted_bodypart.soft_max_pain / current_amount) adjusted_amount = round(adjusted_amount * pain_modifier * adjusted_bodypart.bodypart_pain_modifier, 0.01) // Pain modifiers results in us taking 0 pain // (If someone adds a negative pain mod and causes "inverse pain" (which you shouldn't) this needs to go) @@ -271,7 +286,7 @@ #endif // Actually do the pain addition / subtraction here - adjusted_bodypart.pain = max(adjusted_bodypart.pain + adjusted_amount, adjusted_bodypart.min_pain) + adjusted_bodypart.pain = max(current_amount + adjusted_amount, adjusted_bodypart.min_pain) if(adjusted_amount > 0) INVOKE_ASYNC(src, PROC_REF(on_pain_gain), adjusted_bodypart, amount, dam_type) @@ -316,16 +331,18 @@ * affected_part - the bodypart that gained the pain * amount - amount of pain that was gained, post-[pain_modifier] applied */ -/datum/pain/proc/on_pain_gain(obj/item/bodypart/affected_part, amount, type) - affected_part.on_gain_pain_effects(amount) +/datum/pain/proc/on_pain_gain(obj/item/bodypart/affected_part, amount, dam_type) + affected_part.on_gain_pain_effects(amount, dam_type) refresh_pain_attributes() - SEND_SIGNAL(parent, COMSIG_CARBON_PAIN_GAINED, affected_part, amount, type) - COOLDOWN_START(src, time_since_last_pain_loss, 30 SECONDS) + SEND_SIGNAL(parent, COMSIG_CARBON_PAIN_GAINED, affected_part, amount, dam_type) + COOLDOWN_START(src, time_since_last_pain_loss, 60 SECONDS) + if(amount > PAIN_LIMB_MAX * 0.25) + parent.pain_emote("scream", 5 SECONDS) + parent.flash_pain_overlay(2) - if(amount > 12 && prob(25)) - do_pain_emote("scream", 5 SECONDS) - else if(amount > 6 && prob(10)) - do_pain_emote() + else if(amount > PAIN_LIMB_MAX * 0.1) + parent.pain_emote(pick("wince", "gasp", "grimace", "inhale_s", "exhale_s", "flinch"), 3 SECONDS) + parent.flash_pain_overlay(1) /** * Called when pain is lost, if the mob did not lose pain in the last 60 seconds. @@ -363,7 +380,7 @@ SIGNAL_HANDLER - if(damage <= 0 || (parent.status_flags & GODMODE)) + if(damage <= 2.5 || (parent.status_flags & GODMODE)) return if(isbodypart(def_zone)) var/obj/item/bodypart/targeted_part = def_zone @@ -375,12 +392,12 @@ // Attacks with a wound bonus add additional pain (usually, like 2-5) // (Note that if they also succeed in applying a wound, more pain comes from that) // Also, sharp attacks apply a smidge extra pain - var/pain = (2 * damage) + (0.1 * max(wound_bonus + bare_wound_bonus, 1)) * (sharpness ? 1.2 : 1) + var/pain = ((100 - blocked) / 100) * ((10 * damage) ** 0.66 + (0.2 * max(wound_bonus + bare_wound_bonus - parent.getarmor(def_zone, WOUND), 0))) * (sharpness ? 1.2 : 1) switch(damagetype) // Brute pain is dealt to the target zone // pain is just divided by a random number, for variance if(BRUTE) - pain *= (rand(60, 80) / 100) + pain *= pick(0.6, 0.7, 0.8) // Burn pain is dealt to the target zone // pain is lower for weaker burns, but scales up for more damaging burns @@ -442,33 +459,12 @@ // // Note: 99% of sources of oxydamage is done through adjustoxyloss, and as such doesn't go through this if(OXY) - if(HAS_TRAIT(parent, TRAIT_NOBREATH)) - return - def_zone = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST) - var/obj/item/organ/internal/lungs/our_lungs = source.get_organ_slot(ORGAN_SLOT_LUNGS) - if(our_lungs) - switch(our_lungs.damage) - if(20 to 50) - pain += 1 - if(50 to 80) - pain += 2 - if(80 to INFINITY) - pain += 3 - else - pain += 5 - - switch(parent.getOxyLoss()) - if(0 to 20) - pain = 0 - if(20 to 50) - pain += 1 - if(50 to INFINITY) - pain += 3 + return // No pain from stamina loss // In the future stamina can probably cause very sharp pain and replace stamcrit, // but the system will require much finer tuning before then - if(STAMINA) + if(STAMINA, PAIN) return // Head pain causes brain damage, so brain damage causes no pain (to prevent death spirals) @@ -547,105 +543,159 @@ if(checked_bodypart.pain_feedback(seconds_per_tick, no_recent_pain)) COOLDOWN_START(src, time_since_last_pain_message, 12 SECONDS) - if(!has_pain) + if(!has_pain && (shock_buildup <= -30) && !HAS_TRAIT_FROM(parent, TRAIT_LABOURED_BREATHING, PAINSHOCK)) // no-op if none of our bodyparts are in pain return - var/curr_pain = get_average_pain() - switch(curr_pain) - if(-INFINITY to 10) - shock_buildup = max(shock_buildup - 3, -30) // staying out of pain for a while gives you a small resiliency to shock (~1 minute) - - if(10 to 25) - shock_buildup = max(shock_buildup - 1, -30) - - if(25 to 40) + var/shock_mod = max(pain_modifier, 0.33) + if(HAS_TRAIT(parent, TRAIT_ABATES_SHOCK)) + shock_mod *= 0.5 + if(parent.health > 0) + shock_mod *= 0.25 + if(parent.health <= parent.maxHealth * -2 || (!HAS_TRAIT(parent, TRAIT_NOBLOOD) && parent.blood_volume < BLOOD_VOLUME_BAD)) + shock_mod *= 1.5 + if(parent.health <= parent.maxHealth * -4 || (!HAS_TRAIT(parent, TRAIT_NOBLOOD) && parent.blood_volume < BLOOD_VOLUME_SURVIVE)) + shock_mod *= 2 // stacks with above + var/curr_pain = get_total_pain() + if(curr_pain < PAIN_LIMB_MAX * 0.5) + parent.adjust_pain_shock(-3 * seconds_per_tick) // staying out of pain for a while gives you a small resiliency to shock (~1 minute) + else if(curr_pain < PAIN_LIMB_MAX) + parent.adjust_pain_shock(-1 * seconds_per_tick) + else if(curr_pain < PAIN_LIMB_MAX * 2) + if(shock_buildup <= 30) + parent.adjust_pain_shock(0.5 * shock_mod * seconds_per_tick) + else if(curr_pain < PAIN_LIMB_MAX * 4) + if(shock_buildup <= 65) + parent.adjust_pain_shock(1 * shock_mod * seconds_per_tick) + if(SPT_PROB(2, seconds_per_tick)) + do_pain_message(span_userdanger(pick("It hurts."))) + else + parent.adjust_pain_shock(clamp(round(0.5 * (curr_pain / PAIN_LIMB_MAX), 0.1), 1.5, 8) * shock_mod * seconds_per_tick) + if(SPT_PROB(2, seconds_per_tick)) + do_pain_message(span_userdanger(pick("Stop the pain!", "It hurts!"))) + + switch(shock_buildup) + if(10 to 60) + parent.adjust_bodytemperature(-5 * seconds_per_tick, min_temp = parent.bodytemp_cold_damage_limit + 5) + if(60 to 120) if(SPT_PROB(2, seconds_per_tick)) - do_pain_message(span_danger(pick("Everything aches.", "Everything feels sore."))) - - if(40 to 70) - if(!HAS_TRAIT(parent, TRAIT_NO_SHOCK_BUILDUP)) - shock_buildup += 1 + do_pain_message(span_bolddanger(pick("It hurts.", "You really need some painkillers."))) + if(SPT_PROB(4, seconds_per_tick)) + do_pain_message(span_warning(pick("You feel cold!", "You feel sweaty!"))) + parent.pain_emote("shiver", 3 SECONDS) + parent.adjust_bodytemperature(-10 * seconds_per_tick, min_temp = parent.bodytemp_cold_damage_limit - 5) + if(120 to 180) if(SPT_PROB(2, seconds_per_tick)) - do_pain_message(span_bolddanger(pick("Everything hurts.", "Everything feels very sore.", "It hurts."))) + do_pain_message(span_userdanger(pick("Stop the pain!", "It hurts!", "You need painkillers now!"))) + if(SPT_PROB(4, seconds_per_tick)) + do_pain_message(span_warning("You feel freezing!")) + parent.pain_emote("shiver", 3 SECONDS) + parent.adjust_bodytemperature(-20 * seconds_per_tick, min_temp = parent.bodytemp_cold_damage_limit - 20) + + if((shock_buildup >= 20 || curr_pain >= PAIN_LIMB_MAX) && !just_cant_feel_anything) + if(SPT_PROB(min(curr_pain / 5, 24), seconds_per_tick)) + parent.adjust_jitter_up_to(5 SECONDS * pain_modifier, 30 SECONDS) + if(SPT_PROB(min(curr_pain / 10, 12), seconds_per_tick)) + parent.adjust_dizzy_up_to(5 SECONDS * pain_modifier, 30 SECONDS) + if(SPT_PROB(min(curr_pain / 20, 6), seconds_per_tick)) // pain applies its own stutter + parent.adjust_stutter_up_to(5 SECONDS * pain_modifier, 30 SECONDS) + + if(shock_buildup >= 40 && parent.stat != HARD_CRIT) + if(SPT_PROB(shock_buildup / 60, seconds_per_tick)) + //parent.vomit(VOMIT_CATEGORY_KNOCKDOWN, lost_nutrition = 7.5) + parent.Knockdown(rand(3 SECONDS, 6 SECONDS)) + + if(shock_buildup >= 60 || curr_pain >= PAIN_CHEST_MAX) + if(SPT_PROB(shock_buildup / 20, seconds_per_tick) && !parent.IsParalyzed() && parent.Paralyze(rand(2 SECONDS, 8 SECONDS))) + parent.visible_message( + span_warning("[parent]'s body falls limp!"), + span_warning("Your body [just_cant_feel_anything ? "goes" : "falls"] limp!"), + + ) + if(SPT_PROB(shock_buildup / 20, seconds_per_tick)) + parent.adjust_confusion_up_to(8 SECONDS * pain_modifier, 24 SECONDS) + + if((shock_buildup >= 120 || curr_pain >= PAIN_CHEST_MAX * 2) && SPT_PROB(shock_buildup / 40, seconds_per_tick) && parent.stat != HARD_CRIT) + if(!parent.IsUnconscious() && parent.Unconscious(rand(4 SECONDS, 16 SECONDS))) + parent.visible_message( + span_warning("[parent] falls unconscious!"), + span_warning(pick("You black out!", "You feel like you're about to die!", "You lose consciousness!")), + + ) + + // This is death + if(shock_buildup >= 120 && !parent.undergoing_cardiac_arrest()) + var/heart_attack_prob = 0 + if(parent.health <= parent.maxHealth * -1) + heart_attack_prob += abs(parent.health + parent.maxHealth) * 0.1 + if(shock_buildup >= 180) + heart_attack_prob += (shock_buildup * 0.1) + if(SPT_PROB(min(20, heart_attack_prob), seconds_per_tick)) + if(!COOLDOWN_FINISHED(src, time_since_last_heart_attack_counter)) + parent.losebreath += 1 + else if(!parent.can_heartattack()) + parent.losebreath += 4 + else if(heart_attack_counter >= 3) + to_chat(parent, span_userdanger("Your heart stops!")) + if(!parent.incapacitated()) + parent.visible_message(span_danger("[parent] grabs at [parent.p_their()] chest!"), ignored_mobs = parent) + parent.set_heartattack(TRUE) + heart_attack_counter = -2 + else + COOLDOWN_START(src, time_since_last_heart_attack_counter, 6 SECONDS) + parent.losebreath += 1 + heart_attack_counter += 1 + switch(heart_attack_counter) + if(-INFINITY to 0) + pass() + if(1) + to_chat(parent, span_userdanger("You feel your heart beat irregularly.")) + if(2) + to_chat(parent, span_userdanger("You feel your heart skip a beat.")) + else + to_chat(parent, span_userdanger("You feel your body shutting down!")) + else + heart_attack_counter = 0 - if(70 to INFINITY) - if(!HAS_TRAIT(parent, TRAIT_NO_SHOCK_BUILDUP)) - shock_buildup += 3 - if(SPT_PROB(2, seconds_per_tick)) - do_pain_message(span_userdanger(pick("Stop the pain!", "Everything hurts!"))) - - // If shock buildup exceeds our health + 30 ticks then well, we enter shock - // This means at 100 health you can be in moderate pain for 130 ticks / 260 seconds / ~4 minutes before falling into shock - if(shock_buildup >= (parent.health + 30) \ - && curr_pain >= 50 \ - && !HAS_TRAIT(parent, TRAIT_NO_SHOCK_BUILDUP) \ - && !is_undergoing_shock() \ - && !parent.undergoing_cardiac_arrest() \ - ) - parent.infect_disease_predefined(DISEASE_SHOCK, TRUE, "[ROUND_TIME()] Inflicted with Pain Shock [key_name(parent)]") - to_chat(parent, span_userdanger("You feel your body start to shut down!")) - if(parent.stat == CONSCIOUS && !parent.incapacitated(IGNORE_RESTRAINTS|IGNORE_GRAB) && !HAS_TRAIT(parent, TRAIT_NO_PAIN_EFFECTS)) - parent.visible_message(span_danger("[parent] grabs at their chest and stares into the distance as they go into shock!"), ignored_mobs = parent) - shock_buildup = -200 // requires another 200 ticks / 400 seconds / ~6 minutes of pain to go into shock again - return + // This is where "soft crit" is now + if(shock_buildup >= 90) + if(!HAS_TRAIT_FROM(parent, TRAIT_LABOURED_BREATHING, PAINSHOCK)) + ADD_TRAIT(parent, TRAIT_LABOURED_BREATHING, PAINSHOCK) + set_pain_modifier(PAINSHOCK, 1.2) + parent.apply_status_effect(/datum/status_effect/low_blood_pressure) + parent.add_traits(list(TRAIT_LABOURED_BREATHING), PAINSHOCK) - var/standard_effect_prob = (curr_pain * 0.05) - 0.75 // starts at 15, caps at 4.5 - var/rare_effect_prob = (curr_pain * 0.04) - 1.5 // starts at 40 - var/very_rare_effect_prob = (curr_pain * 0.03) - 2.25 // starts at 70 - - if(standard_effect_prob > 0) - if(!just_cant_feel_anything) - if(SPT_PROB(standard_effect_prob, seconds_per_tick)) - parent.adjust_stutter_up_to(10 SECONDS * pain_modifier, 30 SECONDS) - if(SPT_PROB(standard_effect_prob, seconds_per_tick)) - parent.adjust_jitter_up_to(20 SECONDS * pain_modifier, 60 SECONDS) - if(SPT_PROB(standard_effect_prob, seconds_per_tick)) - parent.adjust_dizzy_up_to(10 SECONDS * pain_modifier, 30 SECONDS) - if(curr_pain >= 70) - parent.adjust_confusion_up_to(8 SECONDS * pain_modifier, 24 SECONDS) - if(SPT_PROB(standard_effect_prob * 1.2, seconds_per_tick) && parent.stamina?.loss <= 80) - var/stam_taken = round((0.2 * curr_pain + 8) * pain_modifier) // 10 = 10, 100 = 28, good enough - if(just_cant_feel_anything) - parent.apply_damage(stam_taken * 1.2, STAMINA) - // First we apply damage, if that succeeds -> - // Check how much damage, if above a threshold -> - // Run a pain emote, if the pain emote succeeds as well -> - else if(parent.apply_damage(stam_taken, STAMINA) && stam_taken >= 15 && do_pain_emote(pick("wince", "gasp"))) - parent.visible_message(span_warning("[parent] doubles over in pain!")) - - if(rare_effect_prob > 0) - if(SPT_PROB(rare_effect_prob * 2, seconds_per_tick)) - var/list/options = list("wince", "whimper") - if(curr_pain >= 70) - options.Add("cry", "scream") - do_pain_emote(pick(options), 5 SECONDS) - if(SPT_PROB(rare_effect_prob, seconds_per_tick) && parent.body_position != LYING_DOWN && !just_cant_feel_anything) - parent.Knockdown(2 SECONDS * pain_modifier) - parent.visible_message(span_warning("[parent] collapses from pain!")) - if(SPT_PROB(rare_effect_prob, seconds_per_tick)) - var/obj/item/held_item = parent.get_active_held_item() - var/obj/item/bodypart/active_hand = parent.get_active_hand() - if(held_item && active_hand && parent.dropItemToGround(held_item)) - if(active_hand.bodytype & BODYTYPE_ROBOTIC) - to_chat(parent, span_danger("Your hand malfunctions, causing you to drop [held_item]!")) - parent.visible_message(span_warning("[parent]'s hand malfunctions, causing them to drop [held_item]!"), ignored_mobs = parent) - do_sparks(number = 1, source = parent) - else if(just_cant_feel_anything) - to_chat(parent, span_danger("Your hand spams and you drop [held_item]!")) - else - to_chat(parent, span_danger("Your fumble though the pain and drop [held_item]!")) - parent.visible_message(span_warning("[parent] fumbles around and drops [held_item]!"), ignored_mobs = parent) - do_pain_emote("gasp") - - if(very_rare_effect_prob > 0) - if(SPT_PROB(very_rare_effect_prob, seconds_per_tick)) - parent.vomit(50) - if(SPT_PROB(very_rare_effect_prob, seconds_per_tick) && !just_cant_feel_anything) - parent.adjust_confusion_up_to(8 SECONDS, 24 SECONDS) + else + if(HAS_TRAIT_FROM(parent, TRAIT_LABOURED_BREATHING, PAINSHOCK)) + unset_pain_modifier(PAINSHOCK) + parent.remove_status_effect(/datum/status_effect/low_blood_pressure) + parent.remove_traits(list(TRAIT_LABOURED_BREATHING), PAINSHOCK) + + // This is "pain crit", it's where stamcrit has moved and is also applied by extreme shock + if(curr_pain >= PAIN_LIMB_MAX * 3 || shock_buildup >= 150) + parent.adjust_jitter_up_to(5 SECONDS * pain_modifier, 60 SECONDS) + if(!HAS_TRAIT_FROM(parent, TRAIT_LABOURED_BREATHING, PAINCRIT)) + var/is_standing = parent.body_position == STANDING_UP + parent.add_traits(list(TRAIT_LABOURED_BREATHING, TRAIT_INCAPACITATED, TRAIT_IMMOBILIZED, TRAIT_FLOORED, TRAIT_HANDS_BLOCKED), PAINCRIT) + if(is_standing && parent.body_position != STANDING_UP) + parent.visible_message( + span_warning("[parent] collapses!"), + span_userdanger("You collapse, unable to stand!"), + + ) + else + parent.visible_message( + span_warning("[parent] slumps against the ground!"), + span_userdanger("You go limp, unable to get up!"), + + ) + + else if(HAS_TRAIT_FROM(parent, TRAIT_LABOURED_BREATHING, PAINCRIT)) + parent.Paralyze(2 SECONDS) + parent.remove_traits(list(TRAIT_LABOURED_BREATHING, TRAIT_INCAPACITATED, TRAIT_IMMOBILIZED, TRAIT_FLOORED, TRAIT_HANDS_BLOCKED), PAINCRIT) // Finally, handle pain decay over time - if(HAS_TRAIT(parent, TRAIT_STASIS) || parent.on_fire || parent.stat == DEAD) + if(parent.on_fire || parent.stat == DEAD) return // Decay every 3 ticks / 6 seconds, or 1 ticks / 2 seconds if "sleeping" @@ -684,62 +734,72 @@ else unset_pain_modifier(PAIN_MOD_LYING) -/** - * While actively burning, cause pain - */ -/datum/pain/proc/on_burn_tick(datum/source) +/// Affect accuracy of fired guns while in pain. +/datum/pain/proc/on_mob_fired_gun(mob/living/carbon/human/user, obj/item/gun/gun_fired, target, params, zone_override, list/bonus_spread_values) SIGNAL_HANDLER - - var/mob/living/carbon/human/human_parent = parent - if(human_parent.get_thermal_protection() >= FIRE_SUIT_MAX_TEMP_PROTECT) - return - - // The more firestacks, the more pain we apply per burn tick, up to 2 per tick per bodypart. - // We can be liberal with this because when they're extinguished most of it will go away. - parent.apply_status_effect(/datum/status_effect/pain_from_fire, clamp(parent.fire_stacks * 0.2, 0, 2)) - -/** - * Apply or remove pain various modifiers from pain (mood, action speed, movement speed) based on the [average_pain]. - */ + var/obj/item/bodypart/shooting_with = user.get_active_hand() + var/obj/item/bodypart/chest = user.get_bodypart(BODY_ZONE_CHEST) + var/obj/item/bodypart/head = user.get_bodypart(BODY_ZONE_HEAD) + + var/penalty = 0 + // Basically averaging the pain of the shooting hand, chest, and head, with the hand being weighted more + penalty += shooting_with?.get_modified_pain() + penalty += chest?.get_modified_pain() * 0.5 + penalty += head?.get_modified_pain() * 0.5 + penalty /= 3 + // Then actually making it into the final value + penalty = floor(penalty / 5) + // Applying min and max + /* + bonus_spread_values[MIN_BONUS_SPREAD_INDEX] += penalty + bonus_spread_values[MAX_BONUS_SPREAD_INDEX] += penalty * 3 + */ + +/// Apply or remove pain various modifiers from pain (mood, action speed, movement speed) based on the [average_pain]. /datum/pain/proc/refresh_pain_attributes(...) SIGNAL_HANDLER - if(!parent.can_feel_pain()) - clear_pain_attributes() - return + var/avg_pain = get_average_pain() - switch(get_average_pain()) + // Pain is halved if you can't feel pain (but ignore pain modifier for now) + if(avg_pain && parent.stat != DEAD && !parent.can_feel_pain(TRUE)) + avg_pain *= 0.5 + + // Pain is set to 0 fully if you can't feel pain OR pain modifier <= 0.5 (numbness threshold) + if(avg_pain && (parent.stat == DEAD || !parent.can_feel_pain(FALSE))) + avg_pain = 0 + + switch(avg_pain) if(-INFINITY to 20) - clear_pain_attributes() + parent.mob_surgery_speed_mod = initial(parent.mob_surgery_speed_mod) + parent.outgoing_damage_mod = initial(parent.outgoing_damage_mod) + parent.remove_movespeed_modifier(MOVESPEED_ID_PAIN) + parent.remove_actionspeed_modifier(ACTIONSPEED_ID_PAIN) + parent.clear_mood_event(PAIN) if(20 to 40) parent.mob_surgery_speed_mod = 0.9 + parent.outgoing_damage_mod = 0.9 parent.add_movespeed_modifier(/datum/movespeed_modifier/pain/light) parent.add_actionspeed_modifier(/datum/actionspeed_modifier/pain/light) - parent.add_mood_event("pain", /datum/mood_event/light_pain) + parent.add_mood_event(PAIN, /datum/mood_event/light_pain) if(40 to 60) parent.mob_surgery_speed_mod = 0.75 + parent.outgoing_damage_mod = 0.75 parent.add_movespeed_modifier(/datum/movespeed_modifier/pain/medium) parent.add_actionspeed_modifier(/datum/actionspeed_modifier/pain/medium) - parent.add_mood_event("pain", /datum/mood_event/med_pain) + parent.add_mood_event(PAIN, /datum/mood_event/med_pain) if(60 to 80) parent.mob_surgery_speed_mod = 0.6 + parent.outgoing_damage_mod = 0.6 parent.add_movespeed_modifier(/datum/movespeed_modifier/pain/heavy) parent.add_actionspeed_modifier(/datum/actionspeed_modifier/pain/heavy) - parent.add_mood_event("pain", /datum/mood_event/heavy_pain) + parent.add_mood_event(PAIN, /datum/mood_event/heavy_pain) if(80 to INFINITY) parent.mob_surgery_speed_mod = 0.5 + parent.outgoing_damage_mod = 0.5 parent.add_movespeed_modifier(/datum/movespeed_modifier/pain/crippling) parent.add_actionspeed_modifier(/datum/actionspeed_modifier/pain/crippling) - parent.add_mood_event("pain", /datum/mood_event/crippling_pain) - -/** - * Clears all pain related attributes - */ -/datum/pain/proc/clear_pain_attributes() - parent.mob_surgery_speed_mod = initial(parent.mob_surgery_speed_mod) - parent.remove_movespeed_modifier(MOVESPEED_ID_PAIN) - parent.remove_actionspeed_modifier(ACTIONSPEED_ID_PAIN) - parent.clear_mood_event("pain") + parent.add_mood_event(PAIN, /datum/mood_event/crippling_pain) /** * Run a pain related emote, if a few checks are successful. @@ -758,7 +818,7 @@ if(parent.stat >= UNCONSCIOUS || parent.incapacitated(IGNORE_RESTRAINTS|IGNORE_GRAB)) return FALSE - parent.emote(emote) + INVOKE_ASYNC(parent, TYPE_PROC_REF(/mob, emote), emote) COOLDOWN_START(src, time_since_last_pain_message, cooldown) return TRUE @@ -803,13 +863,50 @@ total_pain += adjusted_bodypart.pain max_total_pain += adjusted_bodypart.soft_max_pain - return 100 * total_pain / max_total_pain + return round(100 * total_pain / max_total_pain, 0.01) -/** - * Returns a disease datum (Truthy value) if we are undergoing shock. - */ -/datum/pain/proc/is_undergoing_shock() - return locate(/datum/disease/advanced/premade/shock) in parent.diseases +/// Get the total pain of all bodyparts. +/datum/pain/proc/get_total_pain() + var/total_pain = 0 + for(var/zone in body_zones) + var/obj/item/bodypart/adjusted_bodypart = body_zones[zone] + total_pain += adjusted_bodypart.pain + + return total_pain + +/// Adds a custom stammer to people under the effects of pain. +/datum/pain/proc/handle_message(datum/source, list/message_args) + SIGNAL_HANDLER + + var/phrase = html_decode(message_args[TREAT_MESSAGE_MESSAGE]) + if(!length(phrase)) + return + + var/num_repeats = get_average_pain() * pain_modifier + if(HAS_TRAIT(parent, TRAIT_NO_PAIN_EFFECTS) && shock_buildup < 90) + num_repeats *= 0.5 + + num_repeats = floor(num_repeats / 20) + if(num_repeats <= 1) + return + var/static/regex/no_stammer = regex(@@[ ""''()[\]{}.!?,:;_`~-]@) + var/static/regex/half_stammer = regex(@@[aeiouAEIOU]@) + var/final_phrase = "" + var/original_char = "" + for(var/i = 1, i <= length(phrase), i += length(original_char)) + original_char = phrase[i] + if(no_stammer.Find(original_char)) + final_phrase += original_char + continue + if(half_stammer.Find(original_char)) + if(num_repeats <= 2) + final_phrase += original_char + continue + final_phrase += repeat_string(ceil(num_repeats / 2), original_char) + continue + final_phrase += repeat_string(num_repeats, original_char) + + message_args[TREAT_MESSAGE_MESSAGE] = sanitize(final_phrase) /** * Remove all pain, pain paralysis, side effects, etc. from our mob after we're fully healed by something (like an adminheal) @@ -844,6 +941,33 @@ else START_PROCESSING(SSpain, src) +/// When we are revived, reduced shock +/datum/pain/proc/revived(...) + SIGNAL_HANDLER + + shock_buildup /= 3 + +/// Used to get the effect of pain on the parent's heart rate. +/datum/pain/proc/get_heartrate_modifier() + var/base_amount = 0 + switch(get_average_pain()) // pain raises it a bit + if(25 to 50) + base_amount += 5 + if(50 to 75) + base_amount += 10 + if(75 to INFINITY) + base_amount += 15 + + switch(pain_modifier) // numbness lowers it a bit + if(0.25 to 0.5) + base_amount -= 15 + if(0.5 to 0.75) + base_amount -= 10 + if(0.75 to 1) + base_amount -= 5 + + return base_amount + /** * Signal proc for [COMSIG_LIVING_HEALTHSCAN] * Reports how much pain [parent] is sustaining to [user]. @@ -853,14 +977,18 @@ * the patient is encouraged to elaborate on which bodyparts hurt the most, and how much they hurt. * (To encourage a bit more interaction between the doctors.) */ -/datum/pain/proc/on_analyzed(datum/source, list/render_list, advanced, mob/user, mode) +/datum/pain/proc/on_analyzed(datum/source, list/render_list, advanced, mob/user, mode, tochat) SIGNAL_HANDLER + if(parent.stat == DEAD) + return + + var/in_shock = HAS_TRAIT_FROM(parent, TRAIT_LABOURED_BREATHING, PAINSHOCK) + var/amount = "" var/tip = "" - var/in_shock = !!is_undergoing_shock() - if(in_shock) - tip += span_bold("Neurogenic shock has begun and should be treated urgently. ") + var/amount_text = "" + var/shock_text = "" switch(get_average_pain()) if(5 to 15) @@ -883,11 +1011,24 @@ tip += span_bold("Alert: High potential of neurogenic shock. ") tip += "Treat wounds and abate pain with long rest, cryogenics, and heavy painkilling medication." - if(amount && tip) - render_list += "" - render_list += span_bold("Subject is experiencing [amount] pain. ") - render_list += tip - render_list += "\n" + if(!amount) + return + + amount_text = span_danger("Subject is experiencing [amount] pain.") + if(tochat && tip) + amount_text = span_tooltip(tip, amount_text) + + if(in_shock) + shock_text = span_bold("Neurogenic shock has begun and should be treated urgently.") + if(shock_text && tochat) + shock_text = span_tooltip("Provide immediate pain relief, epinephrine, and moderate body temperature. \ + [in_shock ? "Monitor closely for worsening condition or cardiac arrest. " : ""]Cryogenics may also aid in recovery.", shock_text) + + render_list += "" + if(shock_text) + render_list += "[shock_text] / " + render_list += amount_text + render_list += "\n" #ifdef TESTING debug_print_pain() @@ -940,3 +1081,13 @@ amount = clamp(amount, -200, 200) adjust_bodypart_pain(zone, amount) + + +/** + * Clears all pain related attributes + */ +/datum/pain/proc/clear_pain_attributes() + parent.mob_surgery_speed_mod = initial(parent.mob_surgery_speed_mod) + parent.remove_movespeed_modifier(MOVESPEED_ID_PAIN) + parent.remove_actionspeed_modifier(ACTIONSPEED_ID_PAIN) + parent.clear_mood_event("pain") diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/designs.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/designs.dm new file mode 100644 index 00000000000000..27dfc0f3a4f92c --- /dev/null +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/designs.dm @@ -0,0 +1,42 @@ +/datum/design/crutch + name = "Medical Crutch" + id = "medical_crutch" + build_type = PROTOLATHE | AWAY_LATHE + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 1, + ) + build_path = /obj/item/cane/crutch + category = list( + RND_CATEGORY_INITIAL, + RND_CATEGORY_TOOLS + ) + departmental_flags = DEPARTMENT_BITFLAG_MEDICAL + +/datum/design/heat_pack + name = "Heat Pack" + id = "heat_pack" + build_type = PROTOLATHE | AWAY_LATHE + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 1, //eg for now its fine dont wanna force plastic for this + ) + build_path = /obj/item/temperature_pack/heat + category = list( + RND_CATEGORY_INITIAL, + RND_CATEGORY_TOOLS + ) + departmental_flags = DEPARTMENT_BITFLAG_MEDICAL + + +/datum/design/cold_pack + name = "Cold Pack" + id = "cold_pack" + build_type = PROTOLATHE | AWAY_LATHE + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 1, //eg for now its fine dont wanna force plastic for this + ) + build_path = /obj/item/temperature_pack/cold + category = list( + RND_CATEGORY_INITIAL, + RND_CATEGORY_TOOLS + ) + departmental_flags = DEPARTMENT_BITFLAG_MEDICAL diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/modifiers.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/modifiers.dm index 3d30c8f8348b18..89b0510adb5d25 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/modifiers.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/modifiers.dm @@ -114,12 +114,3 @@ var/mob/living/carbon/human/human_owner = owner human_owner.unset_pain_mod(id) return ..() - -// Reacting to all cases of gaining knocked out rather than just sleeping -/mob/living/on_knockedout_trait_gain(datum/source) - . = ..() - set_pain_mod(PAIN_MOD_KOD, 0.8) - -/mob/living/on_knockedout_trait_loss(datum/source) - . = ..() - unset_pain_mod(PAIN_MOD_KOD) diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/pain_assistance_tools.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/pain_assistance_tools.dm index 57d8200e5b9c37..7690e941a5ac13 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/pain_assistance_tools.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/pain_assistance_tools.dm @@ -329,8 +329,8 @@ slot_flags = ITEM_SLOT_OCLOTHING body_parts_covered = CHEST resistance_flags = FIRE_PROOF - heat_protection = CHEST|GROIN|LEGS|ARMS - cold_protection = CHEST|GROIN|LEGS|ARMS + + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor_type = /datum/armor/shock_blanket @@ -415,7 +415,7 @@ /obj/item/shock_blanket/proc/enable_protection(mob/living/source) if(istype(source) && !(datum_flags & DF_ISPROCESSING)) var/temp_change = "warmer" - if(source.bodytemperature > source.get_body_temp_normal(apply_change = FALSE)) + if(source.bodytemperature > source.standard_body_temperature) temp_change = "colder" to_chat(source, span_notice("You feel [temp_change] as [src] begins regulating your body temperature.")) @@ -429,7 +429,7 @@ if(istype(source) && (datum_flags & DF_ISPROCESSING)) var/temp_change = "freezing" - if(source.bodytemperature > source.get_body_temp_normal(apply_change = FALSE)) + if(source.bodytemperature > source.standard_body_temperature) temp_change = "hotter" to_chat(source, span_notice("You feel [temp_change] again as [src] stops regulating your body temperature.")) @@ -442,17 +442,10 @@ disable_protection() return - var/target_temp = wearer.get_body_temp_normal(apply_change = FALSE) - if(wearer.bodytemperature > target_temp) - wearer.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, target_temp) - else if(wearer.bodytemperature < (target_temp + 1)) - wearer.adjust_bodytemperature(8 * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, target_temp) - if(ishuman(wearer)) - var/mob/living/carbon/human/human_wearer = wearer - if(human_wearer.coretemperature > target_temp) - human_wearer.adjust_coretemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, target_temp) - else if(human_wearer.coretemperature < (target_temp + 1)) - human_wearer.adjust_coretemperature(8 * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, target_temp) + if(wearer.bodytemperature < wearer.standard_body_temperature) + wearer.adjust_bodytemperature(0.25 KELVIN * seconds_per_tick, max_temp = wearer.standard_body_temperature) + else if(wearer.bodytemperature > wearer.standard_body_temperature) + wearer.adjust_bodytemperature(-0.25 KELVIN * seconds_per_tick, min_temp = wearer.standard_body_temperature) /obj/item/shock_blanket/emergency desc = "An emergency variant shock blanket intended to be placed in medkits for field treatment. Faster to apply to patients, but more restrictive to movement." diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/reagents/painkillers.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/reagents/painkillers.dm index a217837a0e0626..6572fc4984ed84 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/reagents/painkillers.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/reagents/painkillers.dm @@ -179,7 +179,7 @@ M.cause_pain(BODY_ZONES_LIMBS, -0.16 * REM * seconds_per_tick) M.cause_pain(BODY_ZONE_CHEST, -0.32 * REM * seconds_per_tick) // Okay at fevers. - M.adjust_bodytemperature(-15 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, M.get_body_temp_normal()) + M.adjust_bodytemperature(-0.1 KELVIN * REM * seconds_per_tick, M.standard_body_temperature) if(M.disgust < DISGUST_LEVEL_VERYGROSS && SPT_PROB(66 * max(1 - creation_purity, 0.5), seconds_per_tick)) M.adjust_disgust(1.5 * REM * seconds_per_tick) @@ -191,7 +191,7 @@ return // On overdose, heat up the body... - M.adjust_bodytemperature(30 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick) + M.adjust_bodytemperature(0.5 KELVIN * REM * seconds_per_tick, max_temp = HYPERTHERMIA - 1 KELVIN) // Causes sickness... M.apply_damage(1 * REM * seconds_per_tick, TOX) if(M.disgust < 100 && SPT_PROB(100 * max(1 - creation_purity, 0.5), seconds_per_tick)) @@ -229,7 +229,7 @@ M.adjustToxLoss(-0.05 * REM * seconds_per_tick, FALSE) M.cause_pain(BODY_ZONES_ALL, -0.2 * REM * seconds_per_tick) // Not very good at treating fevers. - M.adjust_bodytemperature(-10 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, M.get_body_temp_normal()) + M.adjust_bodytemperature(-0.05 KELVIN * REM * seconds_per_tick, M.standard_body_temperature) // Causes liver damage - higher dosages causes more liver damage. M.adjustOrganLoss(ORGAN_SLOT_LIVER, volume / 30 * REM * seconds_per_tick) if(M.disgust < DISGUST_LEVEL_VERYGROSS && SPT_PROB(66 * max(1 - creation_purity, 0.5), seconds_per_tick)) @@ -273,7 +273,7 @@ // Causes flat liver damage. M.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.25 * REM * seconds_per_tick) // Really good at treating fevers. - M.adjust_bodytemperature(-25 * TEMPERATURE_DAMAGE_COEFFICIENT * REM * seconds_per_tick, M.get_body_temp_normal()) + M.adjust_bodytemperature(-0.5 KELVIN * REM * seconds_per_tick, M.standard_body_temperature) // Causes more disgust the longer it's in someone... if(M.disgust < DISGUST_LEVEL_VERYGROSS && SPT_PROB(66 * max(1 - creation_purity, 0.5), seconds_per_tick)) M.adjust_disgust(min(current_cycle * 0.02, 2.4) * REM * seconds_per_tick) diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/shock.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/shock.dm index 279d14a9262b73..8c8e04577b9d73 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/shock.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/shock.dm @@ -45,7 +45,7 @@ var/conditions_fulfilled = 0 // Good: Body temperature is stable (not freezing, we don't care about heat) - if(affected_mob.bodytemperature > affected_mob.get_body_temp_cold_damage_limit()) + if(affected_mob.bodytemperature > affected_mob.bodytemp_cold_damage_limit) conditions_fulfilled += 1 // Good: Sleeping (or unconscious I guess) if(affected_mob.IsSleeping() || affected_mob.IsUnconscious()) @@ -147,7 +147,7 @@ if(SPT_PROB(6, seconds_per_tick)) to_chat(affected_mob, span_danger("You feel cold.")) affected_mob.pain_emote("shiver", 3 SECONDS) - affected_mob.adjust_bodytemperature(-5 * seconds_per_tick, affected_mob.get_body_temp_cold_damage_limit() + 5) // Not lethal + affected_mob.adjust_bodytemperature(-5 * seconds_per_tick, min_temp = affected_mob.bodytemp_cold_damage_limit + 5) // Not lethal // decompensated (or progressive) - unable to maintain themselves // - mental issues @@ -180,7 +180,7 @@ if(SPT_PROB(8, seconds_per_tick)) to_chat(affected_mob, span_danger("You feel freezing!")) affected_mob.pain_emote("shiver", 3 SECONDS) - affected_mob.adjust_bodytemperature(-10 * seconds_per_tick, affected_mob.get_body_temp_cold_damage_limit() - 5) // uh oh + affected_mob.adjust_bodytemperature(-10 * seconds_per_tick, min_temp = affected_mob.bodytemp_cold_damage_limit - 5) // uh oh // irreversible - point of no return, system failure // cardiac arrest @@ -204,4 +204,4 @@ affected_mob.losebreath += 10 else if(SPT_PROB(10, seconds_per_tick)) to_chat(affected_mob, span_userdanger(pick("You feel your heart skip a beat...", "You feel your body shutting down...", "You feel your heart beat irregularly..."))) - affected_mob.adjust_bodytemperature(-10 * seconds_per_tick, affected_mob.get_body_temp_cold_damage_limit() - 20) // welp + affected_mob.adjust_bodytemperature(-10 * seconds_per_tick, min_temp = affected_mob.bodytemp_cold_damage_limit - 20) // welp diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/anesthetics.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/anesthetics.dm index 03f24a52b8a037..22a82216fce513 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/anesthetics.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/anesthetics.dm @@ -2,6 +2,7 @@ /datum/status_effect/grouped/anesthetic id = "anesthetics" alert_type = /atom/movable/screen/alert/status_effect/anesthetics + var/applied_at = -1 /datum/status_effect/grouped/anesthetic/on_creation(mob/living/new_owner, source) if(!istype(get_area(new_owner), /area/station/medical)) @@ -13,10 +14,13 @@ /datum/status_effect/grouped/anesthetic/on_apply() . = ..() RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), PROC_REF(try_removal)) + applied_at = world.time /datum/status_effect/grouped/anesthetic/on_remove() . = ..() UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT)) + if(!QDELETED(owner)) + owner.apply_status_effect(/datum/status_effect/anesthesia_grog, applied_at) /datum/status_effect/grouped/anesthetic/get_examine_text() return span_warning("[owner.p_Theyre()] out cold.") @@ -40,3 +44,17 @@ . = ..() if(HAS_TRAIT(breather, TRAIT_KNOCKEDOUT)) breather.apply_status_effect(/datum/status_effect/grouped/anesthetic, /datum/gas/nitrous_oxide) + +/datum/status_effect/anesthesia_grog + id = "anesthesia_grog" + duration = 4 MINUTES + alert_type = null + var/strength = 0 + +/datum/status_effect/anesthesia_grog/on_creation(mob/living/new_owner, anesthesia_appied_at) + strength = (world.time - anesthesia_appied_at > 1 MINUTES) ? 50 : 90 + return ..() + +/datum/status_effect/anesthesia_grog/on_apply() + to_chat(owner, span_warning("You feel[strength <= 90 ? " ":" a bit "]groggy...")) + return TRUE diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/fire_pain.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/fire_pain.dm deleted file mode 100644 index b359a5a477b610..00000000000000 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/fire_pain.dm +++ /dev/null @@ -1,42 +0,0 @@ -/// Handler for pain from fire. Goes up the longer you're on fire, largely goes away when extinguished -/datum/status_effect/pain_from_fire - id = "sharp_pain_from_fire" - status_type = STATUS_EFFECT_REFRESH - alert_type = null - remove_on_fullheal = TRUE - heal_flag_necessary = HEAL_ADMIN|HEAL_WOUNDS|HEAL_STATUS - - /// Amount of pain being given - var/pain_amount = 0 - -/datum/status_effect/pain_from_fire/on_creation(mob/living/new_owner, pain_amount = 0) - src.pain_amount = pain_amount - return ..() - -/datum/status_effect/pain_from_fire/refresh(mob/living/new_owner, added_pain_amount = 0) - if(added_pain_amount <= 0) - return - pain_amount += added_pain_amount - owner.cause_pain(BODY_ZONES_ALL, added_pain_amount, BURN) - -/datum/status_effect/pain_from_fire/on_apply() - if(isnull(owner.pain_controller) || pain_amount <= 0) - return FALSE - - RegisterSignal(owner, COMSIG_LIVING_EXTINGUISHED, PROC_REF(remove_on_signal)) - owner.cause_pain(BODY_ZONES_ALL, pain_amount, BURN) - return TRUE - -/datum/status_effect/pain_from_fire/on_remove() - if(QDELING(owner)) - return - UnregisterSignal(owner, COMSIG_LIVING_EXTINGUISHED) - owner.cause_pain(BODY_ZONES_ALL, -3 * pain_amount, BURN) - -/// When signalled, terminate. -/datum/status_effect/pain_from_fire/proc/remove_on_signal(datum/source) - SIGNAL_HANDLER - - if(QDELING(owner) || QDELING(src)) - return - qdel(src) diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/pain_limp.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/pain_limp.dm index 0005d91fcc3ca1..00fce8026bf52c 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/pain_limp.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/pain_limp.dm @@ -40,7 +40,7 @@ ) /datum/status_effect/limp/pain/update_limp() - if(QDELING(owner)) + if(QDELETED(owner)) return var/mob/living/carbon/human/limping_human = owner diff --git a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/temp_pack.dm b/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/temp_pack.dm index bc5f230aff604c..b0fe8a078a6d24 100644 --- a/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/temp_pack.dm +++ b/monkestation/code/modules/can_spessmen_feel_pain/pain/status_effects/temp_pack.dm @@ -79,7 +79,7 @@ return if(temperature_change) - owner.adjust_bodytemperature(temperature_change, human_owner.get_body_temp_cold_damage_limit() + 5, human_owner.get_body_temp_heat_damage_limit() - 5) + owner.adjust_bodytemperature(temperature_change, human_owner.bodytemp_cold_damage_limit + 5 KELVIN, human_owner.bodytemp_heat_damage_limit - 5 KELVIN) var/obj/item/bodypart/held_bodypart = human_owner.pain_controller.body_zones[targeted_zone] if(held_bodypart && prob(66)) human_owner.cause_pain(targeted_zone, -pain_heal_amount) diff --git a/monkestation/code/modules/client/preferences/species_features/ethereal.dm b/monkestation/code/modules/client/preferences/species_features/ethereal.dm index d0b79ffe1e9ab8..1efe9542f789a9 100644 --- a/monkestation/code/modules/client/preferences/species_features/ethereal.dm +++ b/monkestation/code/modules/client/preferences/species_features/ethereal.dm @@ -9,7 +9,7 @@ return possible_values_for_sprite_accessory_list_for_body_part( GLOB.ethereal_horns_list, "ethereal_horns", - list("ADJ", "FRONT"), + list("FRONT"), ) /datum/preference/choiced/ethereal_horns/apply_to_human(mob/living/carbon/human/target, value) @@ -26,7 +26,7 @@ return possible_values_for_sprite_accessory_list_for_body_part( GLOB.ethereal_tail_list, "ethereal_tail", - list("BEHIND", "FRONT"), + list("BEHIND"), ) /datum/preference/choiced/ethereal_tail/apply_to_human(mob/living/carbon/human/target, value) diff --git a/monkestation/code/modules/client/preferences/species_features/secondary_mut_color.dm b/monkestation/code/modules/client/preferences/species_features/secondary_mut_color.dm index 1564e0e925e52e..f9303e14049b2c 100644 --- a/monkestation/code/modules/client/preferences/species_features/secondary_mut_color.dm +++ b/monkestation/code/modules/client/preferences/species_features/secondary_mut_color.dm @@ -2,13 +2,17 @@ savefile_key = "feature_mcolor_secondary" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - relevant_species_trait = MUTCOLORS_SECONDARY + relevant_inherent_trait = TRAIT_MUTANT_COLORS_SECONDARY + default_null = TRUE + allows_nulls = TRUE -/datum/preference/color/mutant_color_secondary/create_default_value() - return sanitize_hexcolor("[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]") +/datum/preference/color/mutant_color_secondary/is_accessible(datum/preferences/preferences) + if (!..(preferences)) + return FALSE -/datum/preference/color/mutant_color_secondary/apply_to_human(mob/living/carbon/human/target, value) - target.dna.features["mcolor_secondary"] = value + var/species_type = preferences.read_preference(/datum/preference/choiced/species) + var/datum/species/species = new species_type + return (TRAIT_MUTANT_COLORS_SECONDARY in species.inherent_traits) /datum/preference/color/mutant_color_secondary/is_valid(value) if (!..(value)) diff --git a/monkestation/code/modules/client/preferences/species_features/simians.dm b/monkestation/code/modules/client/preferences/species_features/simians.dm index a4f27e181827af..39f63cf97aecc2 100644 --- a/monkestation/code/modules/client/preferences/species_features/simians.dm +++ b/monkestation/code/modules/client/preferences/species_features/simians.dm @@ -2,13 +2,7 @@ category = PREFERENCE_CATEGORY_SECONDARY_FEATURES savefile_identifier = PREFERENCE_CHARACTER savefile_key = "fur" - relevant_species_trait = SPECIES_FUR - -/datum/preference/color/fur_color/apply_to_human(mob/living/carbon/human/target, value) - var/mob/user = usr - var/datum/species/species_type = user?.client.prefs.read_preference(/datum/preference/choiced/species) - if(initial(species_type.uses_fur)) - target.dna.features["mcolor"] = value + relevant_inherent_trait = TRAIT_FUR_COLORS /datum/preference/choiced/simian_tail savefile_key = "feature_tail_monkey" diff --git a/monkestation/code/modules/client/verbs.dm b/monkestation/code/modules/client/verbs.dm index adf97b39536c94..6ce64ebe58921c 100644 --- a/monkestation/code/modules/client/verbs.dm +++ b/monkestation/code/modules/client/verbs.dm @@ -19,6 +19,8 @@ GLOBAL_LIST_INIT(antag_token_config, load_antag_token_config()) to_chat(src, span_notice("NOTE: You will be spawned where ever your ghost is when approved, so becareful where you are.")) if(!client_token_holder) + if(!prefs?.loaded) + CRASH("Tried to load client_token's before prefs were loaded how the fuck?") client_token_holder = new(src) var/tier = tgui_input_list(src, "High: [client_token_holder.total_high_threat_tokens] | \ diff --git a/monkestation/code/modules/clothing/spacesuits/hardsuits/engineering.dm b/monkestation/code/modules/clothing/spacesuits/hardsuits/engineering.dm index 0e641818c566ce..319dde7d11f5f2 100644 --- a/monkestation/code/modules/clothing/spacesuits/hardsuits/engineering.dm +++ b/monkestation/code/modules/clothing/spacesuits/hardsuits/engineering.dm @@ -40,7 +40,7 @@ icon_state = "hardsuit0-atmos" hardsuit_type = "atmos" armor_type = /datum/armor/hardsuit/atmos - heat_protection = HEAD //Uncomment to enable firesuit protection + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT /obj/item/clothing/suit/space/hardsuit/atmos @@ -48,7 +48,7 @@ desc = "A modified engineering hardsuit for work in a hazardous, low pressure environment. The radiation shielding plates were removed to allow for improved thermal protection instead." icon_state = "hardsuit-atmos" armor_type = /datum/armor/hardsuit/atmos - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/atmos diff --git a/monkestation/code/modules/clothing/suits/costume.dm b/monkestation/code/modules/clothing/suits/costume.dm index dc73f480703f14..7e489332e3476f 100644 --- a/monkestation/code/modules/clothing/suits/costume.dm +++ b/monkestation/code/modules/clothing/suits/costume.dm @@ -111,9 +111,9 @@ worn_icon = 'monkestation/icons/mob/clothing/suit.dmi' inhand_icon_state = null body_parts_covered = CHEST|GROIN|LEGS|ARMS - cold_protection = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT hoodtype = /obj/item/clothing/head/hooded/ashsuit armor_type = /datum/armor/hooded_ashsuit @@ -147,9 +147,9 @@ icon_state = "ashsuit" body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT armor_type = /datum/armor/hooded_explorer resistance_flags = FIRE_PROOF diff --git a/monkestation/code/modules/clothing/~donator/clothing.dm b/monkestation/code/modules/clothing/~donator/clothing.dm index aada29f2b24075..57d0385dff6056 100644 --- a/monkestation/code/modules/clothing/~donator/clothing.dm +++ b/monkestation/code/modules/clothing/~donator/clothing.dm @@ -127,7 +127,7 @@ inhand_icon_state = "hostrench" blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS - cold_protection = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = NONE // Donation reward for Thedragmeme @@ -292,7 +292,7 @@ icon_state = "avipilotup" inhand_icon_state = "rus_ushanka" flags_inv = HIDEEARS|HIDEHAIR - cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT //about as warm as an ushanka actions_types = list(/datum/action/item_action/adjust) supports_variations_flags = NONE @@ -664,7 +664,7 @@ worn_icon = 'monkestation/icons/donator/mob/clothing/suit.dmi' icon_state = "greycoat" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT // Donation reward for Cherno_00 @@ -675,7 +675,7 @@ worn_icon = 'monkestation/icons/donator/mob/clothing/suit.dmi' icon_state = "chernocoat" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT // Donation reward for GoldenAlpharex diff --git a/monkestation/code/modules/cybernetics/augments/arm_augments/unsorted.dm b/monkestation/code/modules/cybernetics/augments/arm_augments/unsorted.dm index cbd4105edbf98a..633a8623ee4b63 100644 --- a/monkestation/code/modules/cybernetics/augments/arm_augments/unsorted.dm +++ b/monkestation/code/modules/cybernetics/augments/arm_augments/unsorted.dm @@ -219,14 +219,14 @@ . = ..() if(!check_compatibility()) return - var/amt = BODYTEMP_NORMAL - owner.get_body_temp_normal() + var/amt = BODYTEMP_NORMAL - owner.standard_body_temperature if(amt == 0) return - owner.add_body_temperature_change("dermal_cooler_[zone]",clamp(amt,-1,0)) + owner.add_homeostasis_level(type, amt, 0.25 KELVIN) /obj/item/organ/internal/cyberimp/arm/cooler/Remove(mob/living/carbon/M, special) . = ..() - owner.remove_body_temperature_change("dermal_cooler_[zone]") + owner.remove_homeostasis_level(type) /obj/item/organ/internal/cyberimp/arm/heater name = "sub-dermal heater implant" @@ -241,11 +241,11 @@ . = ..() if(!check_compatibility()) return - var/amt = BODYTEMP_NORMAL - owner.get_body_temp_normal() + var/amt = BODYTEMP_NORMAL - owner.standard_body_temperature if(amt == 0) return - owner.add_body_temperature_change("dermal_heater_[zone]",clamp(amt,0,1)) + owner.add_homeostasis_level(type, amt, 0.25 KELVIN) /obj/item/organ/internal/cyberimp/arm/heater/Remove(mob/living/carbon/M, special) . = ..() - owner.remove_body_temperature_change("dermal_heater_[zone]") + owner.remove_homeostasis_level(type) diff --git a/monkestation/code/modules/cybernetics/augments/internal_implants.dm b/monkestation/code/modules/cybernetics/augments/internal_implants.dm index 830f040d070715..eb038adcf44932 100644 --- a/monkestation/code/modules/cybernetics/augments/internal_implants.dm +++ b/monkestation/code/modules/cybernetics/augments/internal_implants.dm @@ -165,6 +165,7 @@ slot = ORGAN_SLOT_BREATHING_TUBE w_class = WEIGHT_CLASS_TINY encode_info = AUGMENT_NO_REQ + organ_traits = list(TRAIT_ASSISTED_BREATHING) /obj/item/organ/internal/cyberimp/mouth/breathing_tube/emp_act(severity) . = ..() diff --git a/monkestation/code/modules/donator/code/datum/loadout.dm b/monkestation/code/modules/donator/code/datum/loadout.dm index fa331db1be003c..fa2c98b724cf8e 100644 --- a/monkestation/code/modules/donator/code/datum/loadout.dm +++ b/monkestation/code/modules/donator/code/datum/loadout.dm @@ -365,25 +365,6 @@ donator_only = TRUE requires_purchase = FALSE -/datum/loadout_item/toys/quilark - name = "Quilark Plush" - item_path = /obj/item/toy/plush/quilark - donator_only = TRUE - requires_purchase = FALSE - -/datum/loadout_item/pocket_items/donator/quilava - name = "Pet Delivery Beacon - Quil Maid" - item_path = /obj/item/choice_beacon/pet/donator/quilava - donator_only = TRUE - requires_purchase = FALSE - ckeywhitelist = list("quilark") - -/datum/loadout_item/effects/quilava - ckeywhitelist = list("quilark") - name = "Quil Maid Transformation" - item_path = /obj/item/effect_granter/donator/quilava - requires_purchase = FALSE - /datum/loadout_item/suit/org_thirteen name = "Organization 13 Cloak" item_path = /obj/item/clothing/suit/hooded/org_thirteen diff --git a/monkestation/code/modules/donator/code/item/choice_beacon.dm b/monkestation/code/modules/donator/code/item/choice_beacon.dm index 63ffba779d6ec0..1987c1a4c559a4 100644 --- a/monkestation/code/modules/donator/code/item/choice_beacon.dm +++ b/monkestation/code/modules/donator/code/item/choice_beacon.dm @@ -76,11 +76,6 @@ default_name = "Plant Crab" donator_pet = /mob/living/basic/crab/plant -/obj/item/choice_beacon/pet/donator/quilava - name = "Quil Maid" - default_name = "Quil Maid" - donator_pet = /mob/living/basic/pet/quilmaid - /obj/item/choice_beacon/pet/donator/gumball_goblin name = "Gumball Goblin" default_name = "Gumball Goblin" diff --git a/monkestation/code/modules/donator/code/item/clothing.dm b/monkestation/code/modules/donator/code/item/clothing.dm index 128c8d908d9bef..665446777e8632 100644 --- a/monkestation/code/modules/donator/code/item/clothing.dm +++ b/monkestation/code/modules/donator/code/item/clothing.dm @@ -41,7 +41,7 @@ worn_icon = 'monkestation/code/modules/donator/icons/mob/clothing.dmi' inhand_icon_state = "blahaj_costume" body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET - cold_protection = CHEST|GROIN|ARMS + allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/gun/ballistic/rifle/boltaction/harpoon) hoodtype = /obj/item/clothing/head/hooded/shark_hood inhand_icon_state = null @@ -53,7 +53,7 @@ worn_icon = 'monkestation/code/modules/donator/icons/mob/clothing.dmi' icon_state = "blahaj_hood" body_parts_covered = HEAD - cold_protection = HEAD + flags_inv = HIDEHAIR|HIDEEARS inhand_icon_state = null @@ -168,7 +168,7 @@ worn_icon = 'monkestation/code/modules/donator/icons/mob/clothing.dmi' icon_state = "aotcloak" body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS + allowed = list() armor_type = /datum/armor/hooded_wintercoat hoodtype = /obj/item/clothing/head/hooded/aotcloak @@ -206,7 +206,7 @@ worn_icon = 'monkestation/code/modules/donator/icons/mob/clothing.dmi' icon_state = "aotcloak_hood" body_parts_covered = HEAD - cold_protection = HEAD + flags_inv = HIDEHAIR|HIDEEARS armor_type = /datum/armor/hooded_winterhood @@ -251,7 +251,7 @@ icon_state = "coat_quilark" toggle_noun = "zipper" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/toggle/quilark/Initialize(mapload) @@ -283,7 +283,7 @@ worn_icon = 'monkestation/code/modules/donator/icons/mob/clothing.dmi' icon_state = "lambcloak" body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS + layer = NECK_LAYER /obj/item/clothing/suit/hooded/org_thirteen @@ -294,7 +294,7 @@ icon_state = "org_thirteen" inhand_icon_state = null body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS + allowed = list() armor_type = /datum/armor/hooded_wintercoat hoodtype = /obj/item/clothing/head/hooded/org_thirteen @@ -321,7 +321,7 @@ worn_icon = 'monkestation/code/modules/donator/icons/mob/clothing.dmi' icon_state = "org_thirteen_hood" body_parts_covered = HEAD - cold_protection = HEAD + flags_inv = HIDEHAIR|HIDEEARS armor_type = /datum/armor/hooded_winterhood @@ -424,7 +424,7 @@ name = "menacing jacket" desc = "There can only be one dragon." body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/mask/gas/bluedragon66_trenchbiomask @@ -485,7 +485,7 @@ name = "rainbow coat" desc = "Woah, it's a RAINBOW coat. How's it doing that?" body_parts_covered = CHEST|GROIN|ARMS - cold_protection = CHEST|GROIN|ARMS + armor_type = /datum/armor/hooded_wintercoat min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/toggle/ophaq_rainbowcoat/Initialize(mapload) diff --git a/monkestation/code/modules/donator/code/item/effects.dm b/monkestation/code/modules/donator/code/item/effects.dm index 95301950c4ba56..be1d463c682c2d 100644 --- a/monkestation/code/modules/donator/code/item/effects.dm +++ b/monkestation/code/modules/donator/code/item/effects.dm @@ -73,13 +73,6 @@ icon_state = "crab_plant" animal_transformation = /mob/living/basic/crab/plant - -//Quilark -/obj/item/effect_granter/donator/quilava - name = "quilava transformation" - icon_state = "quil_maid" - animal_transformation = /mob/living/basic/pet/quilmaid - //ellie /obj/item/effect_granter/donator/gumball_goblin name = "gumball goblin transformation" diff --git a/monkestation/code/modules/donator/code/item/plush.dm b/monkestation/code/modules/donator/code/item/plush.dm index 05572b81aa6fa8..32264a9e69021b 100644 --- a/monkestation/code/modules/donator/code/item/plush.dm +++ b/monkestation/code/modules/donator/code/item/plush.dm @@ -62,12 +62,6 @@ icon = 'monkestation/code/modules/donator/icons/obj/plushes.dmi' icon_state = "lief_flos" -/obj/item/toy/plush/quilark - name = "quilark plush" - desc = "A plush of the Lizard Basil. ~Handcrafted lovingly for quilark" - icon = 'monkestation/code/modules/donator/icons/obj/plushes.dmi' - icon_state = "quilark" - /obj/item/toy/plush/gumball_goblin name = "gumball goblin plush" desc = "A plush of a Gumball Goblin. He was abducted while pondering his gumballs. Help. ~Handcrafted lovingly for elliethedarksun" diff --git a/monkestation/code/modules/donator/code/mob/pets.dm b/monkestation/code/modules/donator/code/mob/pets.dm index 580456ffbd58d9..d695c5f854f6b8 100644 --- a/monkestation/code/modules/donator/code/mob/pets.dm +++ b/monkestation/code/modules/donator/code/mob/pets.dm @@ -155,19 +155,6 @@ ckeywhitelist = list("Rickdude1231") -/mob/living/basic/pet/quilmaid - name = "\improper Quil' Maid" - desc = "Someone dressed up this Space-e-mon in a maid outfit." - icon = 'monkestation/code/modules/donator/icons/mob/pets.dmi' - icon_state = "quil_maid" - icon_living = "quil_maid" - icon_dead = "quil_maid" - icon_gib = null - gold_core_spawnable = NO_SPAWN - ai_controller = /datum/ai_controller/basic_controller/ - - ckeywhitelist = list("quilark") - /mob/living/basic/pet/gumball_goblin name = "Gumball Goblin" desc = "AAAAAAAAAAAAAAAA" diff --git a/monkestation/code/modules/emotes/code/emote.dm b/monkestation/code/modules/emotes/code/emote.dm index c57f480edb0e91..2cbc12d7b81305 100644 --- a/monkestation/code/modules/emotes/code/emote.dm +++ b/monkestation/code/modules/emotes/code/emote.dm @@ -165,7 +165,8 @@ var/mob/living/carbon/human/human_user = user if(length(human_user.alternative_screams)) return pick(human_user.alternative_screams) - . = human_user.dna.species.get_scream_sound(user) + var/obj/item/organ/internal/tongue/tongue = human_user.get_organ_slot(ORGAN_SLOT_TONGUE) + . = tongue?.get_scream_sound() /datum/emote/living/scream/should_vary(mob/living/user) if(ishuman(user) && !is_cat_enough(user)) diff --git a/monkestation/code/modules/factory_type_beat/machinery/assembler.dm b/monkestation/code/modules/factory_type_beat/machinery/assembler.dm index 65c31219c962b7..b350951a2427a8 100644 --- a/monkestation/code/modules/factory_type_beat/machinery/assembler.dm +++ b/monkestation/code/modules/factory_type_beat/machinery/assembler.dm @@ -208,75 +208,43 @@ return var/list/requirements = chosen_recipe.reqs - var/list/Deletion = list() - var/list/stored_parts = list() - var/data - var/amt - var/insanity = 500 - main_loop: - insanity-- - if(insanity <= 0) - return - for(var/path_key in requirements) - amt = chosen_recipe.reqs?[path_key] - if(!amt)//since machinery & structures can have 0 aka CRAFTING_MACHINERY_USE - i.e. use it, don't consume it! - continue main_loop - if(ispath(path_key, /obj/item/stack)) - var/obj/item/stack/S - var/obj/item/stack/SD - while(amt > 0) - S = locate(path_key) in crafting_inventory - if(S.amount >= amt) - if(!locate(S.type) in Deletion) - SD = new S.type() - Deletion += SD - S.use(amt) - SD = locate(S.type) in Deletion - SD.amount += amt - continue main_loop - else - amt -= S.amount - if(!locate(S.type) in Deletion) - Deletion += S - else - data = S.amount - S = locate(S.type) in Deletion - S.add(data) - crafting_inventory -= S + var/list/parts = list() + + for(var/obj/item/req as anything in requirements) + for(var/obj/item/item as anything in crafting_inventory) + if(!istype(item, req)) + continue + if(isstack(item)) + var/obj/item/stack/stack = item + if(stack.amount == requirements[stack.merge_type]) + var/failed = TRUE + crafting_inventory -= item + for(var/obj/item/part as anything in chosen_recipe.parts) + if(!istype(item, part)) + continue + parts += item + failed = FALSE + if(failed) + qdel(item) + else if(stack.amount > requirements[item.type]) + for(var/obj/item/part as anything in chosen_recipe.parts) + if(!istype(item, part)) + continue + var/obj/item/stack/new_stack = new item + new_stack.amount = requirements[item.type] + parts += new_stack + stack.amount -= requirements[stack.merge_type] else - var/atom/movable/I - while(amt > 0) - I = locate(path_key) in crafting_inventory - Deletion += I - crafting_inventory -= I - amt-- - var/list/partlist = list(chosen_recipe.parts.len) - for(var/M in chosen_recipe.parts) - partlist[M] = chosen_recipe.parts[M] - for(var/part in chosen_recipe.parts) - if(isstack(part)) - var/obj/item/stack/ST = locate(part) in Deletion - if(ST.amount > partlist[part]) - ST.amount = partlist[part] - stored_parts += ST - Deletion -= ST - continue - else - while(partlist[part] > 0) - var/atom/movable/AM = locate(part) in Deletion - stored_parts += AM - Deletion -= AM - partlist[part] -= 1 - while(Deletion.len) - var/DL = Deletion[Deletion.len] - Deletion.Cut(Deletion.len) - if(istype(DL, /obj/item/storage)) - var/obj/item/storage/container = DL - container.emptyStorage() - else if(isstructure(DL)) - var/obj/structure/structure = DL - structure.dump_contents(structure.drop_location()) - qdel(DL) + var/failed = TRUE + crafting_inventory -= item + for(var/obj/item/part as anything in chosen_recipe.parts) + if(!istype(item, part)) + continue + parts += item + failed = FALSE + + if(failed) + qdel(item) var/atom/movable/I if(ispath(chosen_recipe.result, /obj/item/stack)) @@ -288,7 +256,7 @@ if(I.atom_storage && chosen_recipe.delete_contents) for(var/obj/item/thing in I) qdel(thing) - I.CheckParts(stored_parts, chosen_recipe) + I.CheckParts(parts, chosen_recipe) I.forceMove(drop_location()) crafting = FALSE diff --git a/monkestation/code/modules/ghost_critters/ghost_critter_mobs/donator_mobs.dm b/monkestation/code/modules/ghost_critters/ghost_critter_mobs/donator_mobs.dm index 0c852b29ef4056..e63c578761f379 100644 --- a/monkestation/code/modules/ghost_critters/ghost_critter_mobs/donator_mobs.dm +++ b/monkestation/code/modules/ghost_critters/ghost_critter_mobs/donator_mobs.dm @@ -12,7 +12,6 @@ /mob/living/basic/pet/spider/dancing, /mob/living/basic/butterfly/void, /mob/living/basic/crab/plant, - /mob/living/basic/pet/quilmaid, ) if(is_admin(src)) diff --git a/monkestation/code/modules/ghost_players/arena/fight_button.dm b/monkestation/code/modules/ghost_players/arena/fight_button.dm index cd077bb3063e08..357d9173a0c18b 100644 --- a/monkestation/code/modules/ghost_players/arena/fight_button.dm +++ b/monkestation/code/modules/ghost_players/arena/fight_button.dm @@ -140,9 +140,9 @@ player_one.client.prefs.adjust_metacoins(player_one.ckey, payout, "Opponent left, reimbursed.") return - var/turf/player_one_spot = locate(148, 34, SSmapping.levels_by_trait(ZTRAIT_CENTCOM)[1]) + var/turf/player_one_spot = locate(138, 131, SSmapping.levels_by_trait(ZTRAIT_CENTCOM)[1]) prep_player(player_one, player_one_spot) - var/turf/player_two_spot = locate(164, 34, SSmapping.levels_by_trait(ZTRAIT_CENTCOM)[1]) + var/turf/player_two_spot = locate(154, 131, SSmapping.levels_by_trait(ZTRAIT_CENTCOM)[1]) prep_player(player_two, player_two_spot) /obj/structure/fight_button/proc/prep_player(mob/living/carbon/human/ghost/player, turf/move_to) diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/anime.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/anime.dm index 6faea383a344cc..19657a190df7ae 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/anime.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/anime.dm @@ -1,11 +1,11 @@ ///ANIME ACCESSORIES GO HERE /datum/sprite_accessory/anime_head icon = 'monkestation/icons/mob/anime/anime_head.dmi' - color_src = ANIME + color_src = ANIME_COLOR /datum/sprite_accessory/anime_head/none name = "None" - icon_state = "None" + icon_state = "none" /datum/sprite_accessory/anime_head/pony name = "Pony Ears" @@ -70,7 +70,7 @@ /datum/sprite_accessory/anime_middle icon = 'monkestation/icons/mob/anime/anime_middle.dmi' - color_src = ANIME + color_src = ANIME_COLOR /datum/sprite_accessory/anime_middle/none name = "None" @@ -106,7 +106,7 @@ /datum/sprite_accessory/anime_bottom icon = 'monkestation/icons/mob/anime/anime_bottom.dmi' - color_src = ANIME + color_src = ANIME_COLOR /datum/sprite_accessory/anime_bottom/none name = "None" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_appendages.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_appendages.dm index 591efc167c783c..ce030464fdc0cd 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_appendages.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_appendages.dm @@ -1,6 +1,7 @@ /datum/sprite_accessory/arachnid_appendages icon = 'monkestation/icons/mob/species/arachnid/arachnid_appendages.dmi' - color_src = MUTCOLORS + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/arachnid_appendages/long name = "Long" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_chelicerae.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_chelicerae.dm index b7791913b75352..a2b375b81124eb 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_chelicerae.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/arachnid_chelicerae.dm @@ -1,6 +1,7 @@ /datum/sprite_accessory/arachnid_chelicerae icon = 'monkestation/icons/mob/species/arachnid/arachnid_chelicerae.dmi' - color_src = MUTCOLORS + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/arachnid_chelicerae/basic name = "Basic" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_horns.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_horns.dm index c5ed93a8a100bb..a1a1a95bcedbd0 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_horns.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_horns.dm @@ -1,6 +1,7 @@ /datum/sprite_accessory/ethereal_horns icon = 'monkestation/icons/mob/species/ethereal/ethereal_horns.dmi' - color_src = MUTCOLORS + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/ethereal_horns/none name = "None" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_tail.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_tail.dm index 5ccec9b8e836cf..846f89cb849130 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_tail.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ethereal_tail.dm @@ -1,6 +1,7 @@ /datum/sprite_accessory/tails/ethereal icon = 'monkestation/icons/mob/species/ethereal/ethereal_tail.dmi' - color_src = MUTCOLORS + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/tails/ethereal/none name = "None" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/floran_leaves.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/floran_leaves.dm index 6f7e85ee8fe1b4..efad9524773cd8 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/floran_leaves.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/floran_leaves.dm @@ -1,6 +1,8 @@ /datum/sprite_accessory/floran_leaves icon = 'monkestation/icons/mob/species/floran/floran_leaves.dmi' - color_src = MUTCOLORS_SECONDARY + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR_SECONDARY + fallback_key = MUTANT_COLOR //Should be MUTCOLORS_SECONDARY, but while its not working it will be the inverse of MUTCOLORS /datum/sprite_accessory/floran_leaves/furnivour diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/goblin_accessories.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/goblin_accessories.dm index b0787c33c9be45..1019ce177f89a1 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/goblin_accessories.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/goblin_accessories.dm @@ -1,6 +1,7 @@ /datum/sprite_accessory/goblin_ears icon = 'monkestation/icons/mob/species/goblin/goblin_ears.dmi' - color_src = MUTCOLORS + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/goblin_ears/normal name = "Normal" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_antenna.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_antenna.dm index b1a9db5a0180e7..0c80627538d17c 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_antenna.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_antenna.dm @@ -1,10 +1,11 @@ /datum/sprite_accessory/ipc_antennas icon = 'monkestation/icons/mob/species/ipc/ipc_antennas.dmi' - color_src = MUTCOLORS + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/ipc_antennas/none name = "None" - icon_state = "None" + icon_state = "none" /datum/sprite_accessory/ipc_antennas/angled name = "Angled" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_chassis.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_chassis.dm index b2ccc3e5c1abe7..ebf898886a0649 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_chassis.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/ipc_chassis.dm @@ -5,8 +5,9 @@ /datum/sprite_accessory/ipc_chassis/mcgreyscale name = "Morpheus Cyberkinetics (Custom)" - color_src = MUTCOLORS icon_state = "mcgipc" + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /datum/sprite_accessory/ipc_chassis/bishop_cyberkinetics name = "Bishop Cyberkinetics" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/multi_part.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/multi_part.dm index 573439e85dc886..698d2068cafaad 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/multi_part.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/multi_part.dm @@ -5,7 +5,9 @@ var/list/external_slots = list() /datum/sprite_accessory/body_markings - color_src = MUTCOLORS_SECONDARY + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR_SECONDARY + fallback_key = MUTANT_COLOR /datum/sprite_accessory/body_markings/light_belly name = "Light Belly" diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/sock_color.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/sock_color.dm index 4e9b4b1a343d18..9e63e1dfb69a44 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/sock_color.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/sock_color.dm @@ -15,4 +15,4 @@ var/species_type = preferences.read_preference(/datum/preference/choiced/species) var/datum/species/species = new species_type - return !(NO_UNDERWEAR in species.species_traits) + return !(TRAIT_NO_UNDERWEAR in species.inherent_traits) diff --git a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/tails.dm index 5a459b6b17588a..55ec414d53cbff 100644 --- a/monkestation/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/monkestation/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -1,6 +1,6 @@ /datum/sprite_accessory/tails/monkey icon = 'monkestation/icons/mob/species/simian/tails.dmi' - color_src = SKINTONES + color_src = SKIN_COLOR /datum/sprite_accessory/tails/monkey/none name = "None" diff --git a/monkestation/code/modules/mob/living/carbon/human/_species.dm b/monkestation/code/modules/mob/living/carbon/human/_species.dm index 82102e3ae40d70..7ab2874054b14c 100644 --- a/monkestation/code/modules/mob/living/carbon/human/_species.dm +++ b/monkestation/code/modules/mob/living/carbon/human/_species.dm @@ -1,7 +1,3 @@ -/// Returns the species's laugh sound. -/datum/species/proc/get_laugh_sound(mob/living/carbon/human/human) - return - /datum/species/regenerate_organs(mob/living/carbon/organ_holder, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE) var/list/skillchips = organ_holder.clone_skillchip_list() organ_holder.destroy_all_skillchips(silent = TRUE) diff --git a/monkestation/code/modules/mob/living/carbon/human/human.dm b/monkestation/code/modules/mob/living/carbon/human/human.dm index 531d405af99179..b04c84fb763718 100644 --- a/monkestation/code/modules/mob/living/carbon/human/human.dm +++ b/monkestation/code/modules/mob/living/carbon/human/human.dm @@ -1,2 +1,11 @@ /mob/living/carbon/human/species/arachnid race = /datum/species/arachnid + +/mob/living/carbon/human/species/ipc + race = /datum/species/ipc + +/mob/living/carbon/human/species/werewolf + race = /datum/species/werewolf + +/mob/living/carbon/human/species/ornithid + race = /datum/species/ornithid diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/abductors.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/abductors.dm index d8a4a2a05ab60c..d348dcf6891a5c 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/abductors.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/abductors.dm @@ -28,9 +28,3 @@ user.update_sight() if(!QDELETED(signer)) QDEL_NULL(signer) - -/datum/species/abductor/get_scream_sound(mob/living/carbon/human/human) - return 'sound/weather/ashstorm/inside/weak_end.ogg' - -/datum/species/abductor/get_laugh_sound(mob/living/carbon/human/human) - return 'sound/weather/ashstorm/inside/weak_end.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/android.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/android.dm index 0a6333246aa554..ed75cff1fc7370 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/android.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/android.dm @@ -4,13 +4,3 @@ mutantstomach = /obj/item/organ/internal/stomach/cybernetic/tier2 mutantliver = /obj/item/organ/internal/liver/cybernetic/tier2 mutantappendix = null - -/datum/species/android/get_scream_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/screams/silicon/scream_silicon.ogg' - -/datum/species/android/get_laugh_sound(mob/living/carbon/human/human) - return pick( - 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M0.ogg', - 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M1.ogg', - 'monkestation/sound/voice/laugh/silicon/laugh_siliconM2.ogg', - ) diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/arachnid.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/arachnid.dm index 0ceef81fbf5126..5783ec3e9789a1 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/arachnid.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/arachnid.dm @@ -4,20 +4,19 @@ id = SPECIES_ARACHNIDS changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN visual_gender = FALSE - species_traits = list( - MUTCOLORS, + inherent_traits = list( + TRAIT_MUTANT_COLORS, ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG external_organs = list( /obj/item/organ/external/arachnid_appendages = "long", /obj/item/organ/external/chelicerae = "basic") meat = /obj/item/food/meat/slab/spider - disliked_food = NONE // Okay listen, i don't actually know what irl spiders don't like to eat and i'm pretty tired of looking for answers. - liked_food = GORE | MEAT | BUGS | GROSS species_language_holder = /datum/language_holder/fly mutanttongue = /obj/item/organ/internal/tongue/arachnid mutanteyes = /obj/item/organ/internal/eyes/night_vision/arachnid - speedmod = -0.1 + mutantheart = /obj/item/organ/internal/heart/spider + exotic_bloodtype = /datum/blood_type/spider inherent_factions = list(FACTION_SPIDER) bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/arachnid, @@ -28,7 +27,7 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/arachnid, ) -/datum/species/arachnid/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/arachnid/handle_chemical(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) if(chem.type == /datum/reagent/toxin/pestkiller) H.adjustToxLoss(3 * REM * seconds_per_tick) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) @@ -49,12 +48,6 @@ if(istype(attacking_item, /obj/item/melee/flyswatter)) damage_mods += 30 // Yes, a 30x damage modifier -/datum/species/arachnid/get_scream_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/screams/arachnid/arachnid_scream.ogg' - -/datum/species/arachnid/get_laugh_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/laugh/arachnid/arachnid_laugh.ogg' - /datum/species/arachnid/get_species_description() return "Arachnids are a species of humanoid spiders employed by Nanotrasen in recent years." // Allan please add details diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/dullahan.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/dullahan.dm deleted file mode 100644 index e0063dc9bb7b1e..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/dullahan.dm +++ /dev/null @@ -1,25 +0,0 @@ -/datum/species/dullahan/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/dullahan/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/ethereal.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/ethereal.dm index d97fcac41e35cb..124bf7660a6603 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/ethereal.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/ethereal.dm @@ -10,25 +10,27 @@ external_organs = list( /obj/item/organ/external/ethereal_horns = "None", /obj/item/organ/external/tail/ethereal = "None") - exotic_blood = /datum/reagent/consumable/liquidelectricity //Liquid Electricity. fuck you think of something better gamer - exotic_bloodtype = "LE" + exotic_bloodtype = /datum/blood_type/crew/ethereal + + // Body temperature for ethereals is much higher then humans as they like hotter environments + bodytemp_normal = (BODYTEMP_NORMAL + 50) + temperature_homeostasis_speed = 3 + temperature_normalization_speed = 3 + siemens_coeff = 0.5 //They thrive on energy brutemod = 1.25 //They're weak to punches payday_modifier = 1 inherent_traits = list( + TRAIT_MUTANT_COLORS, + TRAIT_FIXED_MUTANT_COLORS, + TRAIT_NO_UNDERWEAR, TRAIT_NOHUNGER, TRAIT_NO_BLOODLOSS_DAMAGE, //we handle that species-side. ) - species_traits = list( - DYNCOLORS, - NO_UNDERWEAR, - ) changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_cookie = /obj/item/food/energybar species_language_holder = /datum/language_holder/ethereal - toxic_food = NONE - // Body temperature for ethereals is much higher then humans as they like hotter environments - bodytemp_normal = (BODYTEMP_NORMAL + 50) + bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // about 150C // Cold temperatures hurt faster as it is harder to move with out the heat energy bodytemp_cold_damage_limit = (T20C - 10) // about 10c @@ -66,7 +68,8 @@ if(!ishuman(new_ethereal)) return var/mob/living/carbon/human/ethereal = new_ethereal - default_color = ethereal.dna.features["ethcolor"] + var/datum/color_palette/generic_colors/palette = ethereal.dna.color_palettes[/datum/color_palette/generic_colors] + default_color = palette.ethereal_color r1 = GETREDPART(default_color) g1 = GETGREENPART(default_color) b1 = GETBLUEPART(default_color) @@ -77,7 +80,6 @@ ethereal_light = ethereal.mob_light(light_type = /obj/effect/dummy/lighting_obj/moblight/species) spec_updatehealth(ethereal) new_ethereal.set_safe_hunger_level() - update_mail_goodies(ethereal) var/obj/item/organ/internal/heart/ethereal/ethereal_heart = new_ethereal.get_organ_slot(ORGAN_SLOT_HEART) ethereal_heart.ethereal_color = default_color @@ -94,13 +96,6 @@ QDEL_NULL(ethereal_light) return ..() -/datum/species/ethereal/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies = list()) - if(istype(quirk, /datum/quirk/blooddeficiency)) - mail_goodies += list( - /obj/item/reagent_containers/blood/ethereal - ) - return ..() - /datum/species/ethereal/random_name(gender,unique,lastname) if(unique) return random_unique_ethereal_name() @@ -110,100 +105,16 @@ return randname /datum/species/ethereal/randomize_features(mob/living/carbon/human/human_mob) - human_mob.dna.features["ethcolor"] = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)] - - -/datum/species/ethereal/spec_life(mob/living/carbon/human/ethereal, seconds_per_tick, times_fired) - if(ethereal.stat == DEAD) - return - adjust_charge(ethereal, -ETHEREAL_BLOOD_CHARGE_FACTOR * seconds_per_tick, TRUE) - handle_charge(ethereal, seconds_per_tick, times_fired) - -/datum/species/ethereal/proc/adjust_charge(mob/living/carbon/human/ethereal, amount, passive) - if(passive) - if(ethereal.blood_volume < ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE) //Do not apply the clamp if its below the passive reduction level(no infinite blood sorry) - return - if(ethereal.blood_volume + amount < ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE+1) - ethereal.blood_volume = ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE+1 //bottom them off here if the end result would be less than the stopping point. - ethereal.blood_volume = clamp(ethereal.blood_volume + amount, ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE+1, ETHEREAL_BLOOD_CHARGE_DANGEROUS) - return - ethereal.blood_volume = clamp(ethereal.blood_volume + amount, ETHEREAL_BLOOD_CHARGE_NONE, ETHEREAL_BLOOD_CHARGE_DANGEROUS) - -/datum/species/ethereal/proc/handle_charge(mob/living/carbon/human/ethereal, seconds_per_tick, times_fired) - brutemod = 1.15 - var/word = pick("like you can't breathe","your lungs locking up","extremely lethargic") - var/blood_volume = ethereal.blood_volume - if(HAS_TRAIT(ethereal, TRAIT_ETHEREAL_NO_OVERCHARGE)) - blood_volume = min(blood_volume, ETHEREAL_BLOOD_CHARGE_FULL) - switch(blood_volume) - if(-INFINITY to ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE) - ethereal.add_mood_event("charge", /datum/mood_event/decharged) - ethereal.clear_alert("ethereal_overcharge") - ethereal.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/emptycell/ethereal) - brutemod = 2 - if(SPT_PROB(7.5, seconds_per_tick)) - to_chat(src, span_warning("You feel [word].")) - ethereal.adjustOxyLoss(round(0.01 * (ETHEREAL_BLOOD_CHARGE_LOW - ethereal.blood_volume) * seconds_per_tick, 1)) - if(ETHEREAL_BLOOD_CHARGE_LOWEST_PASSIVE to ETHEREAL_BLOOD_CHARGE_LOW) - ethereal.clear_alert("ethereal_overcharge") - ethereal.add_mood_event("charge", /datum/mood_event/decharged) - ethereal.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/lowcell/ethereal, 3) - brutemod = 1.5 - if(ethereal.health > 10.5) - ethereal.apply_damage(0.155 * seconds_per_tick, TOX, null, null, ethereal) - if(ETHEREAL_BLOOD_CHARGE_LOW to ETHEREAL_BLOOD_CHARGE_NORMAL) - ethereal.clear_alert("ethereal_overcharge") - ethereal.add_mood_event("charge", /datum/mood_event/lowpower) - ethereal.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/lowcell/ethereal, 2) - brutemod = 1.25 - if(ETHEREAL_BLOOD_CHARGE_ALMOSTFULL to ETHEREAL_BLOOD_CHARGE_FULL) - ethereal.clear_alert("ethereal_overcharge") - ethereal.clear_alert("ethereal_charge") - ethereal.add_mood_event("charge", /datum/mood_event/charged) - brutemod = 1 - if(ETHEREAL_BLOOD_CHARGE_FULL to ETHEREAL_BLOOD_CHARGE_OVERLOAD) - ethereal.clear_alert("ethereal_charge") - ethereal.add_mood_event("charge", /datum/mood_event/overcharged) - ethereal.throw_alert(ALERT_ETHEREAL_OVERCHARGE, /atom/movable/screen/alert/ethereal_overcharge, 1) - brutemod = 1.25 - if(ETHEREAL_BLOOD_CHARGE_OVERLOAD to ETHEREAL_BLOOD_CHARGE_DANGEROUS) - ethereal.clear_alert("ethereal_charge") - ethereal.add_mood_event("charge", /datum/mood_event/supercharged) - ethereal.throw_alert(ALERT_ETHEREAL_OVERCHARGE, /atom/movable/screen/alert/ethereal_overcharge, 2) - ethereal.apply_damage(0.2 * seconds_per_tick, TOX, null, null, ethereal) - brutemod = 1.5 - if(SPT_PROB(5, seconds_per_tick)) // 5% each seacond for ethereals to explosively release excess energy if it reaches dangerous levels - discharge_process(ethereal) - else - ethereal.clear_mood_event("charge") - ethereal.clear_alert(ALERT_ETHEREAL_CHARGE) - ethereal.clear_alert(ALERT_ETHEREAL_OVERCHARGE) - -/datum/species/ethereal/proc/discharge_process(mob/living/carbon/human/ethereal) - to_chat(ethereal, span_warning("You begin to lose control over your charge!")) - ethereal.visible_message(span_danger("[ethereal] begins to spark violently!")) - - var/static/mutable_appearance/overcharge //shameless copycode from lightning spell - overcharge = overcharge || mutable_appearance('icons/effects/effects.dmi', "electricity", EFFECTS_LAYER) - ethereal.add_overlay(overcharge) - - if(do_after(ethereal, 5 SECONDS, timed_action_flags = (IGNORE_USER_LOC_CHANGE|IGNORE_HELD_ITEM|IGNORE_INCAPACITATED))) - ethereal.flash_lighting_fx(5, 7, ethereal.dna.species.fixed_mut_color ? ethereal.dna.species.fixed_mut_color : ethereal.dna.features["mcolor"]) - - playsound(ethereal, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) - ethereal.cut_overlay(overcharge) - tesla_zap(ethereal, 2, ethereal.blood_volume*9, ZAP_OBJ_DAMAGE | ZAP_GENERATES_POWER | ZAP_ALLOW_DUPLICATES) - adjust_charge(ethereal, ETHEREAL_BLOOD_CHARGE_FULL - ethereal.blood_volume) - ethereal.visible_message(span_danger("[ethereal] violently discharges energy!"), span_warning("You violently discharge energy!")) - - ethereal.Paralyze(100) + var/datum/color_palette/generic_colors/palette = human_mob.dna.color_palettes[/datum/color_palette/generic_colors] + palette.ethereal_color = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)] /datum/species/ethereal/spec_updatehealth(mob/living/carbon/human/ethereal) . = ..() + var/datum/color_palette/generic_colors/palette = ethereal.dna.color_palettes[/datum/color_palette/generic_colors] if(!ethereal_light) return - if(default_color != ethereal.dna.features["ethcolor"]) - var/new_color = ethereal.dna.features["ethcolor"] + if(default_color != palette.ethereal_color) + var/new_color = palette.ethereal_color r1 = GETREDPART(new_color) g1 = GETGREENPART(new_color) b1 = GETBLUEPART(new_color) @@ -291,16 +202,6 @@ user.visible_message(span_notice("[user] quickly strikes [item] across [lightbulb]'s skin, [lightbulb.p_their()] warmth lighting it!")) return COMPONENT_NO_AFTERATTACK -/datum/species/ethereal/get_scream_sound(mob/living/carbon/human/ethereal) - return pick( - 'sound/voice/ethereal/ethereal_scream_1.ogg', - 'sound/voice/ethereal/ethereal_scream_2.ogg', - 'sound/voice/ethereal/ethereal_scream_3.ogg', - ) - -/datum/species/ethereal/get_laugh_sound(mob/living/carbon/human/ethereal) - return 'monkestation/sound/voice/laugh/ethereal/ethereal_laugh_1.ogg' - /datum/species/ethereal/get_species_description() return "Coming from the planet of Sprout, the theocratic ethereals are \ separated socially by caste, and espouse a dogma of aiding the weak and \ diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/floran.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/floran.dm index d2a3701ff5c2e1..4b15d3e653944c 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/floran.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/floran.dm @@ -3,15 +3,11 @@ plural_form = "Florans" id = SPECIES_FLORAN sexes = TRUE - species_traits = list( - MUTCOLORS, - MUTCOLORS_SECONDARY, - NO_UNDERWEAR, - ) inherent_traits = list( - TRAIT_PLANT_SAFE, + TRAIT_MUTANT_COLORS, + TRAIT_MUTANT_COLORS_SECONDARY, + TRAIT_NO_UNDERWEAR, TRAIT_NO_JUMPSUIT, - TRAIT_LIMBATTACHMENT, TRAIT_EASYDISMEMBER ) external_organs = list( @@ -23,11 +19,8 @@ burnmod = 1.8 heatmod = 0.67 //Same as lizard people coldmod = 1.5 //Same as lizard people - speedmod = -0.1 //Same as arachnids meat = /obj/item/food/meat/slab/human/mutant/plant - exotic_blood = /datum/reagent/water - // disliked_food = VEGETABLES | FRUIT | GRAIN - liked_food = MEAT | BUGS | GORE + exotic_bloodtype = /datum/blood_type/water changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_language_holder = /datum/language_holder/plant @@ -39,12 +32,12 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/floran, BODY_ZONE_CHEST = /obj/item/bodypart/chest/floran, ) - mutanttongue = /obj/item/organ/internal/tongue/lizard + mutanttongue = /obj/item/organ/internal/tongue/floran mutanteyes = /obj/item/organ/internal/eyes/floran - - ass_image = 'icons/ass/asspodperson.png' + mutantheart = /obj/item/organ/internal/heart/pod /datum/species/floran/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) + . = ..() if(H.stat == DEAD) return @@ -57,19 +50,7 @@ H.adjustToxLoss(-0.25 * seconds_per_tick) H.adjustOxyLoss(-0.25 * seconds_per_tick) -/datum/species/floran/on_species_gain(mob/living/carbon/new_floran, datum/species/old_species, pref_load) - . = ..() - if(ishuman(new_floran)) - update_mail_goodies(new_floran) - -/datum/species/floran/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies = list()) - if(istype(quirk, /datum/quirk/blooddeficiency)) - mail_goodies += list( - /obj/item/reagent_containers/blood/podperson - ) - return ..() - -/datum/species/floran/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) +/datum/species/floran/handle_chemical(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) if(chem.type == /datum/reagent/toxin/plantbgone) H.adjustToxLoss(3 * REM * seconds_per_tick) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) @@ -83,17 +64,6 @@ /datum/species/floran/randomize_features(mob/living/carbon/human_mob) randomize_external_organs(human_mob) -/datum/species/floran/get_scream_sound(mob/living/carbon/human/human) - return pick( - 'sound/voice/lizard/lizard_scream_1.ogg', - 'sound/voice/lizard/lizard_scream_2.ogg', - 'sound/voice/lizard/lizard_scream_3.ogg', - 'monkestation/sound/voice/screams/lizard/lizard_scream_5.ogg', - ) - -/datum/species/floran/get_laugh_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/laugh/lizard/lizard_laugh.ogg' - /datum/species/floran/get_species_description() return "Plant-based humanoids, they are extremely violent carnivores with no central government or power structure, \ split into numerous tribes spread across the universe, each led by a Greenfinger. \ @@ -160,3 +130,6 @@ /datum/bodypart_overlay/mutant/floran_leaves layers = EXTERNAL_ADJACENT feature_key = "floran_leaves" + + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR_SECONDARY diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/flypeople.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/flypeople.dm index a4cde86ec6bb84..bc3745baedbf3f 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/flypeople.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/flypeople.dm @@ -1,29 +1,2 @@ /datum/species/fly payday_modifier = 1 - -/datum/species/fly/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/fly/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' - diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/goblin.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/goblin.dm index a4dfb03b1d78fc..a3cb05e4acce5a 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/goblin.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/goblin.dm @@ -4,10 +4,8 @@ id = SPECIES_GOBLIN changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN sexes = TRUE - species_traits = list( - MUTCOLORS, - ) inherent_traits = list( + TRAIT_MUTANT_COLORS, TRAIT_DWARF, TRAIT_QUICK_BUILD, TRAIT_EASILY_WOUNDED, @@ -19,12 +17,10 @@ /obj/item/organ/external/goblin_ears = "long", ) meat = /obj/item/food/meat/steak - disliked_food = VEGETABLES - liked_food = GORE | MEAT | GROSS + mutanttongue = /obj/item/organ/internal/tongue/goblin species_language_holder = /datum/language_holder/goblin maxhealthmod = 0.75 stunmod = 1.2 - speedmod = -0.25 payday_modifier = 1 bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/goblin, @@ -38,33 +34,6 @@ /mob/living/carbon/human/species/goblin race = /datum/species/goblin -/datum/species/goblin/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) - -/datum/species/goblin/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' - /datum/language_holder/goblin understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), /datum/language/goblin = list(LANGUAGE_ATOM)) @@ -140,24 +109,43 @@ icon_greyscale = 'monkestation/icons/mob/species/goblin/bodyparts.dmi' limb_id = SPECIES_GOBLIN is_dimorphic = FALSE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/goblin icon_greyscale = 'monkestation/icons/mob/species/goblin/bodyparts.dmi' limb_id = SPECIES_GOBLIN is_dimorphic = TRUE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/goblin icon_greyscale = 'monkestation/icons/mob/species/goblin/bodyparts.dmi' limb_id = SPECIES_GOBLIN + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/goblin icon_greyscale = 'monkestation/icons/mob/species/goblin/bodyparts.dmi' limb_id = SPECIES_GOBLIN + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/goblin icon_greyscale = 'monkestation/icons/mob/species/goblin/bodyparts.dmi' limb_id = SPECIES_GOBLIN + speed_modifier = -0.125 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/goblin icon_greyscale = 'monkestation/icons/mob/species/goblin/bodyparts.dmi' limb_id = SPECIES_GOBLIN + speed_modifier = -0.125 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR + +/obj/item/organ/internal/tongue/goblin + name = "goblin tongue" + disliked_foodtypes = VEGETABLES + liked_foodtypes = GORE | MEAT | GROSS diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/golems.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/golems.dm deleted file mode 100644 index 6f1d34a81df3c3..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/golems.dm +++ /dev/null @@ -1,25 +0,0 @@ -/datum/species/golem/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/golem/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/humans.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/humans.dm deleted file mode 100644 index 2a749444ea443a..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/humans.dm +++ /dev/null @@ -1,5 +0,0 @@ -/datum/species/human/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/jellypeople.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/jellypeople.dm deleted file mode 100644 index 164989581bc9e7..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/jellypeople.dm +++ /dev/null @@ -1,25 +0,0 @@ -/datum/species/jelly/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/jelly/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/lizardpeople.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/lizardpeople.dm index 757abda081ce85..7e93eac5fe71e7 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/lizardpeople.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/lizardpeople.dm @@ -1,31 +1,5 @@ /datum/species/lizard payday_modifier = 1 - special_step_sounds = list( - 'sound/effects/footstep/hardclaw1.ogg', - 'sound/effects/footstep/hardclaw2.ogg', - 'sound/effects/footstep/hardclaw3.ogg', - 'sound/effects/footstep/hardclaw4.ogg', - ) -/datum/species/lizard/get_scream_sound(mob/living/carbon/human/human) - if(human.gender ==MALE) - return pick( - 'sound/voice/lizard/lizard_scream_1.ogg', - 'sound/voice/lizard/lizard_scream_2.ogg', - 'sound/voice/lizard/lizard_scream_3.ogg', - 'monkestation/sound/voice/screams/lizard/lizard_scream_4.ogg', - ) - - return pick( - 'sound/voice/lizard/lizard_scream_1.ogg', - 'sound/voice/lizard/lizard_scream_2.ogg', - 'sound/voice/lizard/lizard_scream_3.ogg', - 'monkestation/sound/voice/screams/lizard/lizard_scream_5.ogg', - ) - -/datum/species/lizard/get_laugh_sound(mob/living/carbon/human/human) - if(prob(1)) - return 'monkestation/sound/voice/weh.ogg' - return 'monkestation/sound/voice/laugh/lizard/lizard_laugh.ogg' /datum/species/lizard/get_custom_worn_config_fallback(item_slot, obj/item/item) diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/monkeys.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/monkeys.dm deleted file mode 100644 index ec22924e44333b..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/monkeys.dm +++ /dev/null @@ -1,2 +0,0 @@ -/datum/species/monkey/get_laugh_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/laugh/simian/monkey_laugh_1.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/mothmen.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/mothmen.dm deleted file mode 100644 index f8fec251c2ac24..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/mothmen.dm +++ /dev/null @@ -1,6 +0,0 @@ -/datum/species/moth/get_laugh_sound(mob/living/carbon/human/human) - return pick( - 'monkestation/sound/voice/laugh/moth/mothchitter.ogg', - 'monkestation/sound/voice/laugh/moth/mothlaugh.ogg', - 'monkestation/sound/voice/laugh/moth/mothsqueak.ogg', - ) diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/plasmamen.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/plasmamen.dm index af3c0ff2a9a793..2d87b7efc9dd75 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/plasmamen.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/plasmamen.dm @@ -1,5 +1,2 @@ /datum/species/plasmaman payday_modifier = 1 - -/datum/species/plasmaman/get_laugh_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/laugh/skeleton/skeleton_laugh.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/podpeople.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/podpeople.dm deleted file mode 100644 index dd09e2fb0841f9..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/podpeople.dm +++ /dev/null @@ -1,25 +0,0 @@ -/datum/species/pod/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/pod/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/shadowpeople.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/shadowpeople.dm deleted file mode 100644 index ada2b2ec8bfbb4..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/shadowpeople.dm +++ /dev/null @@ -1,25 +0,0 @@ -/datum/species/shadow/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/shadow/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/simian.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/simian.dm index d3e17e50bb0087..32539976f775e8 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/simian.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/simian.dm @@ -5,33 +5,25 @@ bodytype = BODYTYPE_CUSTOM - species_traits = list( - NO_UNDERWEAR, - SPECIES_FUR, - SKINTONES, - ) inherent_traits = list( + TRAIT_FUR_COLORS, + TRAIT_MUTANT_COLORS, + TRAIT_NO_UNDERWEAR, TRAIT_VAULTING, TRAIT_KLEPTOMANIAC, TRAIT_MONKEYFRIEND ) - use_skintones = FALSE - inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID mutanttongue = /obj/item/organ/internal/tongue/monkey changesource_flags = MIRROR_BADMIN | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN meat = /obj/item/food/meat/slab/monkey skinned_type = /obj/item/stack/sheet/animalhide/monkey - disliked_food = GROSS - liked_food = FRUIT | MEAT - uses_fur = TRUE //deathsound = 'monkestation/sound/voice/simian/deathsound.ogg' species_language_holder = /datum/language_holder/monkey maxhealthmod = 0.85 //small = weak stunmod = 1.3 - speedmod = -0.1 //lil bit faster custom_worn_icons = list( LOADOUT_ITEM_SUIT = SIMIAN_SUIT_ICON, @@ -60,20 +52,6 @@ /obj/item/organ/external/tail/simian = "Chimp" ) -/datum/species/simian/get_scream_sound(mob/living/carbon/human/human) - return pick( - 'sound/creatures/monkey/monkey_screech_1.ogg', - 'sound/creatures/monkey/monkey_screech_2.ogg', - 'sound/creatures/monkey/monkey_screech_3.ogg', - 'sound/creatures/monkey/monkey_screech_4.ogg', - 'sound/creatures/monkey/monkey_screech_5.ogg', - 'sound/creatures/monkey/monkey_screech_6.ogg', - 'sound/creatures/monkey/monkey_screech_7.ogg', - ) - -/datum/species/simian/get_laugh_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/laugh/simian/monkey_laugh_1.ogg' - /datum/species/simian/get_species_description() return "Monke." diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/skeletons.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/skeletons.dm index 7aec8942833f38..d3331a3a3439e6 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/skeletons.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/skeletons.dm @@ -1,22 +1,14 @@ -/datum/species/skeleton/get_scream_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/screams/skeleton/scream_skeleton.ogg' - -/datum/species/skeleton/get_laugh_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/laugh/skeleton/skeleton_laugh.ogg' - /datum/species/skeleton/draconic // Alternate skeleton for drake blood that can process chems! name = "Draconic Skeleton" id = SPECIES_DRACONIC_SKELETON sexes = 0 meat = /obj/item/food/meat/slab/human/mutant/skeleton - species_traits = list( - NOTRANSSTING, - NO_DNA_COPY, - NO_UNDERWEAR, - NOHUSK, - ) inherent_traits = list( + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NO_DNA_COPY, + TRAIT_NO_UNDERWEAR, + TRAIT_NO_HUSK, TRAIT_CAN_USE_FLIGHT_POTION, TRAIT_EASYDISMEMBER, TRAIT_FAKEDEATH, diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/teratoma.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/teratoma.dm index a34c3c15b1cd51..73f58d3658cc8f 100644 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/teratoma.dm +++ b/monkestation/code/modules/mob/living/carbon/human/species_type/teratoma.dm @@ -5,19 +5,13 @@ mutanttongue = /obj/item/organ/internal/tongue/monkey mutantbrain = /obj/item/organ/internal/brain/primate - species_traits = list( - NOAUGMENTS, - NOBLOODOVERLAY, - NOEYESPRITES, - NOTRANSSTING, - NOZOMBIE, - NO_DNA_COPY, - NO_UNDERWEAR, - ) inherent_traits = list( + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NO_BLOOD_OVERLAY, + TRAIT_NO_DNA_COPY, + TRAIT_NO_UNDERWEAR, TRAIT_BADDNA, TRAIT_CAN_STRIP, - TRAIT_CHUNKYFINGERS, TRAIT_EASILY_WOUNDED, TRAIT_GENELESS, TRAIT_ILLITERATE, @@ -25,11 +19,8 @@ TRAIT_NO_DNA_COPY, TRAIT_NO_JUMPSUIT, TRAIT_NO_ZOMBIFY, - TRAIT_PASSTABLE, TRAIT_PRIMITIVE, TRAIT_UNCONVERTABLE, // DEAR GOD NO - TRAIT_VAULTING, - TRAIT_VENTCRAWLER_ALWAYS, TRAIT_WEAK_SOUL, ) @@ -41,15 +32,13 @@ BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/teratoma, BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/teratoma, ) + mutanttongue = /obj/item/organ/internal/tongue/teratoma maxhealthmod = 0.75 stunmod = 1.4 - speedmod = -0.15 // stupid gremlins no_equip_flags = ITEM_SLOT_ICLOTHING | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_SUITSTORE changesource_flags = MIRROR_BADMIN - liked_food = MEAT | BUGS | GORE | GROSS | RAW - disliked_food = CLOTH sexes = FALSE species_language_holder = /datum/language_holder/monkey @@ -72,13 +61,6 @@ /datum/species/teratoma/random_name(gender, unique, lastname) return "teratoma ([rand(1, 999)])" -// Don't let them use chems that could potential change them into something non-teratoma. -/datum/species/teratoma/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/goober, seconds_per_tick, times_fired) - if(is_banned_chem(chem)) - chem.holder?.del_reagent(chem.type) - return TRUE - return ..() - // removes banned reagents from the list of reagents that'll be exposed /datum/species/teratoma/proc/prevent_banned_reagent_exposure(datum/source, list/reagents, datum/reagents/holder, methods, volume_modifier, show_message) SIGNAL_HANDLER @@ -100,17 +82,6 @@ )) return is_type_in_typecache(reagent, disallowed_chems_typecache) -/datum/species/teratoma/get_scream_sound(mob/living/carbon/human/monkey) - return pick( - 'sound/creatures/monkey/monkey_screech_1.ogg', - 'sound/creatures/monkey/monkey_screech_2.ogg', - 'sound/creatures/monkey/monkey_screech_3.ogg', - 'sound/creatures/monkey/monkey_screech_4.ogg', - 'sound/creatures/monkey/monkey_screech_5.ogg', - 'sound/creatures/monkey/monkey_screech_6.ogg', - 'sound/creatures/monkey/monkey_screech_7.ogg', - ) - /datum/component/omen/teratoma permanent = TRUE luck_mod = 0.75 @@ -118,3 +89,7 @@ /mob/living/carbon/human/species/teratoma race = /datum/species/teratoma + +/obj/item/organ/internal/tongue/teratoma + liked_foodtypes = MEAT | BUGS | GORE | GROSS | RAW + disliked_foodtypes = CLOTH diff --git a/monkestation/code/modules/mob/living/carbon/human/species_type/zombies.dm b/monkestation/code/modules/mob/living/carbon/human/species_type/zombies.dm deleted file mode 100644 index 15a07d281970eb..00000000000000 --- a/monkestation/code/modules/mob/living/carbon/human/species_type/zombies.dm +++ /dev/null @@ -1,25 +0,0 @@ -/datum/species/zombie/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/zombie/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' diff --git a/monkestation/code/modules/mob/login.dm b/monkestation/code/modules/mob/login.dm index 9f7768fb04b8cf..0c20722e48d17e 100644 --- a/monkestation/code/modules/mob/login.dm +++ b/monkestation/code/modules/mob/login.dm @@ -10,4 +10,6 @@ client?.twitch = new(client) if(QDELETED(client?.client_token_holder)) + if(!client?.prefs.loaded) + CRASH("Tried to load client_token's on a logging in mob but prefs haven't loaded.") client?.client_token_holder = new(client) diff --git a/monkestation/code/modules/ocean_content/mobs/fish_base.dm b/monkestation/code/modules/ocean_content/mobs/fish_base.dm index 143807d61d869a..13a3213f8b6aff 100644 --- a/monkestation/code/modules/ocean_content/mobs/fish_base.dm +++ b/monkestation/code/modules/ocean_content/mobs/fish_base.dm @@ -12,8 +12,8 @@ speak_emote = list("glubs") habitable_atmos = list("min_oxy" = 2, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 1200 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 1200 ai_controller = /datum/ai_controller/basic_controller/fish diff --git a/monkestation/code/modules/ranching/chickens/_chick.dm b/monkestation/code/modules/ranching/chickens/_chick.dm index c450a31d3e8755..4076454531b952 100644 --- a/monkestation/code/modules/ranching/chickens/_chick.dm +++ b/monkestation/code/modules/ranching/chickens/_chick.dm @@ -92,7 +92,8 @@ if(istype(new_chicken, /mob/living/basic/chicken/glass)) for(var/list_item in glass_egg_reagent) - new_chicken.glass_egg_reagents.Add(list_item) + new_chicken.glass_egg_reagents |= list_item + new_chicken.glass_egg_reagents[list_item] = glass_egg_reagent[list_item] if(istype(new_chicken, /mob/living/basic/chicken/stone)) if(production_type) diff --git a/monkestation/code/modules/ranching/chickens/_chicken.dm b/monkestation/code/modules/ranching/chickens/_chicken.dm index b4e93613c41939..8ebdacd3ced3fc 100644 --- a/monkestation/code/modules/ranching/chickens/_chicken.dm +++ b/monkestation/code/modules/ranching/chickens/_chicken.dm @@ -268,7 +268,9 @@ for(var/mob/living/basic/animals in view(1, src)) animal_count ++ if(animal_count >= overcrowding) - adjust_happiness(-1) + eggs_fertile = FALSE + else + eggs_fertile = TRUE if(!stat && prob(3) && current_feed_amount > 0) current_feed_amount-- diff --git a/monkestation/code/modules/ranching/chickens/_egg.dm b/monkestation/code/modules/ranching/chickens/_egg.dm index 1bd01210ae2198..b083575671e638 100644 --- a/monkestation/code/modules/ranching/chickens/_egg.dm +++ b/monkestation/code/modules/ranching/chickens/_egg.dm @@ -73,8 +73,9 @@ birthed.grown_type = layer_hen_type //if no possible mutations default to layer hen type if(birthed.grown_type == /mob/living/basic/chicken/glass) - for(var/list_item in src.reagents.reagent_list) - birthed.glass_egg_reagent.Add(list_item) + for(var/datum/reagent/list_reagent as anything in src.reagents.reagent_list) + birthed.glass_egg_reagent |= list_reagent.type + birthed.glass_egg_reagent[list_reagent.type] = list_reagent.volume if(birthed.grown_type == /mob/living/basic/chicken/stone) birthed.production_type = src.production_type diff --git a/monkestation/code/modules/ranching/chickens/ai/chicken_subtrees.dm b/monkestation/code/modules/ranching/chickens/ai/chicken_subtrees.dm index fbeae2f09650e2..e88127dfc9bb4f 100644 --- a/monkestation/code/modules/ranching/chickens/ai/chicken_subtrees.dm +++ b/monkestation/code/modules/ranching/chickens/ai/chicken_subtrees.dm @@ -53,7 +53,7 @@ var/list/viable_conversions = list() for(var/mob/living/basic/chicken/found_chicken in view(4, living_pawn.loc)) - if(!istype(found_chicken, /mob/living/basic/chicken/rev_raptor) || !istype(found_chicken, /mob/living/basic/chicken/raptor) || !istype(found_chicken, /mob/living/basic/chicken/rev_raptor)) + if(!istype(found_chicken, /mob/living/basic/chicken/rev_raptor) && !istype(found_chicken, /mob/living/basic/chicken/raptor) && !istype(found_chicken, /mob/living/basic/chicken/rev_raptor)) viable_conversions |= found_chicken if(!length(viable_conversions)) return diff --git a/monkestation/code/modules/ranching/chickens/tier1/glass.dm b/monkestation/code/modules/ranching/chickens/tier1/glass.dm index e5951e76fecb5c..6bcc751dc69890 100644 --- a/monkestation/code/modules/ranching/chickens/tier1/glass.dm +++ b/monkestation/code/modules/ranching/chickens/tier1/glass.dm @@ -7,6 +7,7 @@ liked_foods = list(/obj/item/food/grown/rice = 2) book_desc = "Fragile as glass, but produces the chemical injected into its egg overtime." + /obj/item/food/egg/glass name = "Glass Egg" food_reagents = list() @@ -14,3 +15,46 @@ icon_state = "glass" layer_hen_type = /mob/living/basic/chicken/glass + +/obj/item/food/egg/glass/Initialize(mapload) + . = ..() + reagents.flags |= DRAWABLE + START_PROCESSING(SSobj, src) + +/obj/item/food/egg/glass/process(seconds_per_tick) + if(!length(glass_egg_reagents)) // this causes only second gen to work + return + + var/amount_left = max_volume - reagents.total_volume + + var/amount_to_add = min(amount_left, max_volume * 0.1) + + var/minimum_injection = 0 + for(var/datum/reagent/listed as anything in glass_egg_reagents) + minimum_injection += glass_egg_reagents[listed] * 0.1 + + var/multiplier = 1 + if(minimum_injection < amount_to_add) + multiplier = minimum_injection / amount_to_add + + for(var/datum/reagent/listed_reagent as anything in glass_egg_reagents) + reagents.add_reagent(listed_reagent, glass_egg_reagents[listed_reagent] * multiplier) + + update_appearance() + +/obj/item/food/egg/glass/update_overlays() + . = ..() + var/amount_left = max_volume - reagents.total_volume + var/mutable_appearance/MA = mutable_appearance(icon, "glass-filling", layer, src) + switch(amount_left) + if(5 to INFINITY) + MA.icon_state = "glass-filling" + if(3 to 4.99) + MA.icon_state = "glass-filling-75" + if(2 to 2.99) + MA.icon_state = "glass-filling-50" + if(0 to 1.99) + MA.icon_state = "glass-filling-25" + MA.color = mix_color_from_reagents(reagents.reagent_list) + . += MA + diff --git a/monkestation/code/modules/ranching/chickens/tier2/cluwne.dm b/monkestation/code/modules/ranching/chickens/tier2/cluwne.dm index c195c8c06c7d7c..a80358cf5a689c 100644 --- a/monkestation/code/modules/ranching/chickens/tier2/cluwne.dm +++ b/monkestation/code/modules/ranching/chickens/tier2/cluwne.dm @@ -3,7 +3,7 @@ breed_name_male = "huOnkHoNkHoeNK" breed_name_female = "huOnkHoNkHoeNK" - minimum_survivable_temperature = 0 + bodytemp_cold_damage_limit = -1 targeted_ability_planning_tree = /datum/ai_planning_subtree/targeted_mob_ability/min_range/chicken/clown diff --git a/monkestation/code/modules/ranching/chickens/tier2/snowy.dm b/monkestation/code/modules/ranching/chickens/tier2/snowy.dm index 57c179775e6d5e..b7e7f1f7046284 100644 --- a/monkestation/code/modules/ranching/chickens/tier2/snowy.dm +++ b/monkestation/code/modules/ranching/chickens/tier2/snowy.dm @@ -3,8 +3,8 @@ breed_name = "Snow" egg_type = /obj/item/food/egg/snowy - minimum_survivable_temperature = 0 - maximum_survivable_temperature = 40 + bodytemp_cold_damage_limit = -1 + bodytemp_heat_damage_limit = 40 liked_foods = list(/obj/item/food/grown/icepepper = 4) book_desc = "These chickens require a sub-zero environment to live. They will melt if its not cold enough for them." diff --git a/monkestation/code/modules/ranching/icons/satyr_tail.dmi b/monkestation/code/modules/ranching/icons/satyr_tail.dmi index 5a0a9e59a7ef69..45db6b32ead13a 100644 Binary files a/monkestation/code/modules/ranching/icons/satyr_tail.dmi and b/monkestation/code/modules/ranching/icons/satyr_tail.dmi differ diff --git a/monkestation/code/modules/ranching/mutations/tier1.dm b/monkestation/code/modules/ranching/mutations/tier1.dm index 5d9710e76167e8..af24317dac17b3 100644 --- a/monkestation/code/modules/ranching/mutations/tier1.dm +++ b/monkestation/code/modules/ranching/mutations/tier1.dm @@ -58,6 +58,6 @@ /datum/mutation/ranching/chicken/clown chicken_type = /mob/living/basic/chicken/clown egg_type = /obj/item/food/egg/clown - player_job = "Clown" + food_requirements = list(/obj/item/food/grown/banana) can_come_from_string = "White Chicken" diff --git a/monkestation/code/modules/ranching/satyr/accessories/prefs.dm b/monkestation/code/modules/ranching/satyr/accessories/prefs.dm index a634870baadbb3..441932ec21a31b 100644 --- a/monkestation/code/modules/ranching/satyr/accessories/prefs.dm +++ b/monkestation/code/modules/ranching/satyr/accessories/prefs.dm @@ -46,7 +46,7 @@ return possible_values_for_sprite_accessory_list_for_body_part( GLOB.satyr_horns_list, "satyr_horns", - list("BEHIND", "FRONT"), + list("FRONT"), ) /datum/preference/choiced/satyr_horns/apply_to_human(mob/living/carbon/human/target, value) diff --git a/monkestation/code/modules/ranching/satyr/bodyparts.dm b/monkestation/code/modules/ranching/satyr/bodyparts.dm index 7809f9185b58f9..5c4b9b6254e4e8 100644 --- a/monkestation/code/modules/ranching/satyr/bodyparts.dm +++ b/monkestation/code/modules/ranching/satyr/bodyparts.dm @@ -8,6 +8,7 @@ icon_greyscale = 'monkestation/code/modules/ranching/icons/bodyparts.dmi' limb_id = SPECIES_SATYR is_dimorphic = TRUE + acceptable_bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE /obj/item/bodypart/arm/left/satyr icon_greyscale = 'monkestation/code/modules/ranching/icons/bodyparts.dmi' @@ -21,8 +22,24 @@ icon_greyscale = 'monkestation/code/modules/ranching/icons/bodyparts.dmi' limb_id = SPECIES_SATYR bodytype = BODYTYPE_DIGITIGRADE | BODYTYPE_ORGANIC + bodypart_traits = list(TRAIT_HARD_SOLES, TRAIT_NON_IMPORTANT_SHOE_BLOCK) + step_sounds = list( + 'sound/effects/footstep/hardclaw1.ogg', + 'sound/effects/footstep/hardclaw2.ogg', + 'sound/effects/footstep/hardclaw3.ogg', + 'sound/effects/footstep/hardclaw4.ogg', + 'sound/effects/footstep/hardclaw1.ogg', + ) /obj/item/bodypart/leg/right/satyr icon_greyscale = 'monkestation/code/modules/ranching/icons/bodyparts.dmi' limb_id = SPECIES_SATYR bodytype = BODYTYPE_DIGITIGRADE | BODYTYPE_ORGANIC + bodypart_traits = list(TRAIT_HARD_SOLES, TRAIT_NON_IMPORTANT_SHOE_BLOCK) + step_sounds = list( + 'sound/effects/footstep/hardclaw1.ogg', + 'sound/effects/footstep/hardclaw2.ogg', + 'sound/effects/footstep/hardclaw3.ogg', + 'sound/effects/footstep/hardclaw4.ogg', + 'sound/effects/footstep/hardclaw1.ogg', + ) diff --git a/monkestation/code/modules/ranching/satyr/external_organs.dm b/monkestation/code/modules/ranching/satyr/external_organs.dm index f49c443dd4d7ac..3eb5b24eaeea35 100644 --- a/monkestation/code/modules/ranching/satyr/external_organs.dm +++ b/monkestation/code/modules/ranching/satyr/external_organs.dm @@ -10,6 +10,18 @@ use_mob_sprite_as_obj_sprite = TRUE bodypart_overlay = /datum/bodypart_overlay/mutant/satyr_fluff + var/datum/action/cooldown/mob_cooldown/dash/headbutt/headbutt + +/obj/item/organ/external/satyr_fluff/Insert(mob/living/carbon/receiver, special, drop_if_replaced) + . = ..() + headbutt = new + headbutt.Grant(receiver) + +/obj/item/organ/external/satyr_fluff/Remove(mob/living/carbon/organ_owner, special, moving) + . = ..() + if(headbutt) + headbutt.Remove(organ_owner) + qdel(headbutt) /datum/bodypart_overlay/mutant/satyr_fluff layers = EXTERNAL_ADJACENT //| EXTERNAL_FRONT @@ -67,7 +79,7 @@ bodypart_overlay = /datum/bodypart_overlay/mutant/satyr_tail /datum/bodypart_overlay/mutant/satyr_tail - layers = EXTERNAL_ADJACENT | EXTERNAL_FRONT + layers = EXTERNAL_ADJACENT | EXTERNAL_BEHIND feature_key = "satyr_tail" color_source = ORGAN_COLOR_HAIR diff --git a/monkestation/code/modules/ranching/satyr/species.dm b/monkestation/code/modules/ranching/satyr/species.dm index fee044fc78f7a3..27da3c9bf694cb 100644 --- a/monkestation/code/modules/ranching/satyr/species.dm +++ b/monkestation/code/modules/ranching/satyr/species.dm @@ -3,36 +3,22 @@ plural_form = "Satyrs" id = SPECIES_SATYR changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN - no_equip_flags = ITEM_SLOT_FEET sexes = TRUE - species_traits = list( - NO_UNDERWEAR, - ) inherent_traits = list( - TRAIT_ALCOHOL_TOLERANCE, - TRAIT_HARD_SOLES - ) - special_step_sounds = list( - 'sound/effects/footstep/hardclaw1.ogg', - 'sound/effects/footstep/hardclaw2.ogg', - 'sound/effects/footstep/hardclaw3.ogg', - 'sound/effects/footstep/hardclaw4.ogg', - 'sound/effects/footstep/hardclaw1.ogg', + TRAIT_NO_UNDERWEAR, + TRAIT_USES_SKINTONES, ) inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID - use_skintones = TRUE external_organs = list( /obj/item/organ/external/satyr_fluff = "normal", /obj/item/organ/external/satyr_tail = "short", /obj/item/organ/external/satyr_horns = "back", ) meat = /obj/item/food/meat/steak - liked_food = GROSS | VEGETABLES | FRUIT - disliked_food = MEAT | DAIRY + mutanttongue = /obj/item/organ/internal/tongue/satyr + mutantliver = /obj/item/organ/internal/liver/satyr maxhealthmod = 0.8 stunmod = 1.2 - //speedmod = 1 - payday_modifier = 1 bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/satyr, BODY_ZONE_CHEST = /obj/item/bodypart/chest/satyr, @@ -42,8 +28,6 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/satyr, ) - var/datum/action/cooldown/mob_cooldown/dash/headbutt/headbutt - /datum/species/satyr/get_species_description() return "Mythical goat-people. The clacking of hooves and smell of beer follow them around." @@ -80,20 +64,30 @@ return to_add -/datum/species/satyr/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) +/obj/item/organ/internal/tongue/satyr + name = "satyr tongue" + + liked_foodtypes = GROSS | VEGETABLES | FRUIT + disliked_foodtypes = MEAT | DAIRY + +/obj/item/organ/internal/tongue/satyr/Insert(mob/living/carbon/tongue_owner, special, drop_if_replaced) . = ..() - ADD_TRAIT(C, TRAIT_TIN_EATER, INNATE_TRAIT) - C.AddComponent(/datum/component/living_drunk) + ADD_TRAIT(tongue_owner, TRAIT_TIN_EATER, ORGAN_TRAIT) - headbutt = new - headbutt.Grant(C) +/obj/item/organ/internal/tongue/satyr/Remove(mob/living/carbon/tongue_owner, special) + . = ..() + REMOVE_TRAIT(tongue_owner, TRAIT_TIN_EATER, ORGAN_TRAIT) -/datum/species/satyr/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) +/obj/item/organ/internal/liver/satyr + name = "satyr liver" + organ_traits = list(TRAIT_ALCOHOL_TOLERANCE) + + +/obj/item/organ/internal/liver/satyr/Insert(mob/living/carbon/receiver, special, drop_if_replaced) . = ..() - REMOVE_TRAIT(C, TRAIT_TIN_EATER, INNATE_TRAIT) - var/datum/component/living_drunk/drunk = C.GetComponent(/datum/component/living_drunk) - qdel(drunk) + receiver.AddComponent(/datum/component/living_drunk) - if(headbutt) - headbutt.Remove(C) - qdel(headbutt) +/obj/item/organ/internal/liver/satyr/Remove(mob/living/carbon/organ_owner, special) + . = ..() + var/datum/component/living_drunk/drunk = organ_owner.GetComponent(/datum/component/living_drunk) + qdel(drunk) diff --git a/monkestation/code/modules/reagents/reagent_containers/blood_pack.dm b/monkestation/code/modules/reagents/reagent_containers/blood_pack.dm index 9106c7946aa61e..bfa7cfd60d36c9 100644 --- a/monkestation/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/monkestation/code/modules/reagents/reagent_containers/blood_pack.dm @@ -1,6 +1,5 @@ /obj/item/reagent_containers/blood/slime - blood_type = "OOZE" - unique_blood = /datum/reagent/toxin/slimeooze + blood_type = /datum/blood_type/slime /obj/item/reagent_containers/blood/slime/examine() .= ..() diff --git a/monkestation/code/modules/research/nanites/nanite_programs/healing.dm b/monkestation/code/modules/research/nanites/nanite_programs/healing.dm index 1b6940de094803..c8d7d35b843889 100644 --- a/monkestation/code/modules/research/nanites/nanite_programs/healing.dm +++ b/monkestation/code/modules/research/nanites/nanite_programs/healing.dm @@ -36,16 +36,16 @@ rogue_types = list(/datum/nanite_program/skin_decay) /datum/nanite_program/temperature/check_conditions() - if(host_mob.bodytemperature > (host_mob.get_body_temp_normal(apply_change=FALSE) - 30) && host_mob.bodytemperature < (host_mob.get_body_temp_normal(apply_change=FALSE) + 30)) + if(host_mob.bodytemperature > (host_mob.bodytemp_cold_damage_limit) && host_mob.bodytemperature < (host_mob.bodytemp_heat_damage_limit)) return FALSE return ..() /datum/nanite_program/temperature/active_effect() - var/target_temp = host_mob.get_body_temp_normal(apply_change=FALSE) + var/target_temp = host_mob.standard_body_temperature if(host_mob.bodytemperature > target_temp) - host_mob.adjust_bodytemperature(-40 * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) + host_mob.adjust_bodytemperature(-2.5 KELVIN, target_temp) else if(host_mob.bodytemperature < (target_temp + 1)) - host_mob.adjust_bodytemperature(40 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, target_temp) + host_mob.adjust_bodytemperature(2.5 KELVIN, 0, target_temp) /datum/nanite_program/purging name = "Blood Purification" diff --git a/monkestation/code/modules/research/nanites/nanite_programs/utility.dm b/monkestation/code/modules/research/nanites/nanite_programs/utility.dm index 484f7046f508d0..b14ecd1431fcab 100644 --- a/monkestation/code/modules/research/nanites/nanite_programs/utility.dm +++ b/monkestation/code/modules/research/nanites/nanite_programs/utility.dm @@ -108,7 +108,7 @@ update_research_speed() - host_mob.add_body_temperature_change(NANITE_RESEARCH_CHANGE, research_speed * 15) + host_mob.add_homeostasis_level(NANITE_RESEARCH_CHANGE, host_mob.standard_body_temperature + research_speed * 15, 0.25 KELVIN) use_rate = initial(use_rate) * research_speed current_research_bonus = use_rate SSresearch.science_tech.nanite_bonus += current_research_bonus @@ -120,7 +120,7 @@ /datum/nanite_program/research/disable_passive_effect() . = ..() SSresearch.science_tech.nanite_bonus -= current_research_bonus - host_mob.remove_body_temperature_change(NANITE_RESEARCH_CHANGE) + host_mob.remove_homeostasis_level(NANITE_RESEARCH_CHANGE) /datum/nanite_program/research/set_extra_setting(setting, value) . = ..() diff --git a/monkestation/code/modules/security/code/weapons/paco.dm b/monkestation/code/modules/security/code/weapons/paco.dm index 4c35d122d24d9f..a78a6b0ca2d03f 100644 --- a/monkestation/code/modules/security/code/weapons/paco.dm +++ b/monkestation/code/modules/security/code/weapons/paco.dm @@ -117,7 +117,7 @@ icon = 'monkestation/code/modules/security/icons/paco_ammo.dmi' icon_state = "rubber_bullet" damage = 4 - stamina = 45 // Turns out 35 stamina damage is not good enough. + stamina = 35 // Turns out 35 stamina damage is not good enough. sharpness = NONE embedding = null diff --git a/monkestation/code/modules/slimecore/mobs/_base_slime.dm b/monkestation/code/modules/slimecore/mobs/_base_slime.dm index b7794e979d7393..5ff788113fb81b 100644 --- a/monkestation/code/modules/slimecore/mobs/_base_slime.dm +++ b/monkestation/code/modules/slimecore/mobs/_base_slime.dm @@ -11,7 +11,7 @@ ai_controller = /datum/ai_controller/basic_controller/slime density = FALSE - maximum_survivable_temperature = 2000 + bodytemp_heat_damage_limit = 2000 pass_flags = PASSTABLE | PASSGRILLE gender = NEUTER @@ -38,8 +38,8 @@ can_be_held = TRUE - minimum_survivable_temperature = 100 - maximum_survivable_temperature = 600 + bodytemp_cold_damage_limit = 100 + bodytemp_heat_damage_limit = 600 // canstun and canknockdown don't affect slimes because they ignore stun and knockdown variables // for the sake of cleanliness, though, here they are. diff --git a/monkestation/code/modules/slimecore/slime_traits/cleaner.dm b/monkestation/code/modules/slimecore/slime_traits/cleaner.dm index 10c238c0567e78..87501d1a0e171c 100644 --- a/monkestation/code/modules/slimecore/slime_traits/cleaner.dm +++ b/monkestation/code/modules/slimecore/slime_traits/cleaner.dm @@ -28,9 +28,7 @@ )) ///blood we can clean var/static/list/cleanable_blood = typecacheof(list( - /obj/effect/decal/cleanable/xenoblood, /obj/effect/decal/cleanable/blood, - /obj/effect/decal/cleanable/trail_holder, )) ///pests we hunt var/static/list/huntable_pests = typecacheof(list( diff --git a/monkestation/code/modules/smithing/ipcs/body/base_bodyparts.dm b/monkestation/code/modules/smithing/ipcs/body/base_bodyparts.dm index dfcf48856c9c5c..0614ee3c2d4231 100644 --- a/monkestation/code/modules/smithing/ipcs/body/base_bodyparts.dm +++ b/monkestation/code/modules/smithing/ipcs/body/base_bodyparts.dm @@ -6,7 +6,7 @@ icon_state = "synth_head" is_dimorphic = FALSE should_draw_greyscale = FALSE - biological_state = BIO_ROBOTIC + biological_state = BIO_ROBOTIC | BIO_BLOODED bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC head_flags = HEAD_HAIR | HEAD_LIPS | HEAD_EYECOLOR | HEAD_LIPS @@ -21,9 +21,9 @@ icon_state = "synth_chest" is_dimorphic = FALSE should_draw_greyscale = FALSE - biological_state = BIO_ROBOTIC + biological_state = BIO_ROBOTIC | BIO_BLOODED bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC - + bodypart_traits = list(TRAIT_LIMBATTACHMENT) body_damage_coeff = 1 //IPC Chest at default ///Monkestation Edit max_damage = 250 //Default: 200 ///Monkestation Edit @@ -37,7 +37,7 @@ limb_id = "synth" icon_state = "synth_l_arm" should_draw_greyscale = FALSE - biological_state = BIO_ROBOTIC | BIO_JOINTED + biological_state = BIO_ROBOTIC | BIO_JOINTED | BIO_BLOODED bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC body_damage_coeff = 1.1 //IPC's Limbs Should Dismember Easier //Monkestation Edit @@ -52,7 +52,7 @@ limb_id = "synth" icon_state = "synth_r_arm" should_draw_greyscale = FALSE - biological_state = BIO_ROBOTIC | BIO_JOINTED + biological_state = BIO_ROBOTIC | BIO_JOINTED | BIO_BLOODED bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC body_damage_coeff = 1.1 //IPC's Limbs Should Dismember Easier //Monkestation Edit @@ -67,10 +67,11 @@ limb_id = "synth" icon_state = "synth_l_leg" should_draw_greyscale = FALSE - biological_state = BIO_ROBOTIC | BIO_JOINTED + biological_state = BIO_ROBOTIC | BIO_JOINTED | BIO_BLOODED bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC dmg_overlay_type = "synth" + step_sounds = list('sound/effects/servostep.ogg') /obj/item/bodypart/leg/right/robot/ipc icon = 'monkestation/icons/mob/species/ipc/bodyparts.dmi' @@ -79,10 +80,11 @@ limb_id = "synth" icon_state = "synth_r_leg" should_draw_greyscale = FALSE - biological_state = BIO_ROBOTIC | BIO_JOINTED + biological_state = BIO_ROBOTIC | BIO_JOINTED | BIO_BLOODED bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC body_damage_coeff = 1.1 //IPC's Limbs Should Dismember Easier //Monkestation Edit max_damage = 30 //Monkestation Edit dmg_overlay_type = "synth" + step_sounds = list('sound/effects/servostep.ogg') diff --git a/monkestation/code/modules/smithing/ipcs/body/internal_organs.dm b/monkestation/code/modules/smithing/ipcs/body/internal_organs.dm index dad7cc42e5d3a7..c0a8b3703a513b 100644 --- a/monkestation/code/modules/smithing/ipcs/body/internal_organs.dm +++ b/monkestation/code/modules/smithing/ipcs/body/internal_organs.dm @@ -377,6 +377,16 @@ slot = ORGAN_SLOT_TONGUE organ_flags = ORGAN_ROBOTIC | ORGAN_SYNTHETIC_FROM_SPECIES +/obj/item/organ/internal/tongue/synth/get_scream_sound() + return 'monkestation/sound/voice/screams/silicon/scream_silicon.ogg' + +/obj/item/organ/internal/tongue/synth/get_laugh_sound() + return pick( + 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M0.ogg', + 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M1.ogg', + 'monkestation/sound/voice/laugh/silicon/laugh_siliconM2.ogg', + ) + /obj/item/organ/internal/tongue/synth/can_speak_language(language) return TRUE diff --git a/monkestation/code/modules/smithing/ipcs/reagents/medical_supplies.dm b/monkestation/code/modules/smithing/ipcs/reagents/medical_supplies.dm index 0259ff6dccf8b7..0597d7132a6eda 100644 --- a/monkestation/code/modules/smithing/ipcs/reagents/medical_supplies.dm +++ b/monkestation/code/modules/smithing/ipcs/reagents/medical_supplies.dm @@ -1,7 +1,6 @@ // I cannot wait to get rid of this. This is so many levels of awful wrapped into one. /obj/item/reagent_containers/blood/oil - blood_type = "Oil" - unique_blood = /datum/reagent/fuel/oil + blood_type = /datum/blood_type/oil /obj/item/reagent_containers/pill/liquid_solder name = "liquid solder pill" diff --git a/monkestation/code/modules/smithing/ipcs/species.dm b/monkestation/code/modules/smithing/ipcs/species.dm index 00af82672889ef..b7ff254ed0e4ef 100644 --- a/monkestation/code/modules/smithing/ipcs/species.dm +++ b/monkestation/code/modules/smithing/ipcs/species.dm @@ -19,16 +19,11 @@ TRAIT_TOXIMMUNE, TRAIT_GENELESS, TRAIT_STABLEHEART, - TRAIT_LIMBATTACHMENT, TRAIT_LITERATE, TRAIT_REVIVES_BY_HEALING, TRAIT_NO_DNA_COPY, - ) - - species_traits = list( - NO_DNA_COPY, - NOTRANSSTING, - NOHUSK + TRAIT_NO_TRANSFORMATION_STING, + TRAIT_NO_HUSK, ) mutant_organs = list( @@ -48,7 +43,6 @@ payday_modifier = 1.0 // Matches the rest of the pay penalties the non-human crew have species_language_holder = /datum/language_holder/synthetic - special_step_sounds = list('sound/effects/servostep.ogg') mutantbrain = /obj/item/organ/internal/brain/synth mutantstomach = /obj/item/organ/internal/stomach/synth @@ -59,7 +53,7 @@ mutantheart = /obj/item/organ/internal/heart/synth mutantliver = /obj/item/organ/internal/liver/synth mutantappendix = null - exotic_blood = /datum/reagent/fuel/oil + exotic_bloodtype = /datum/blood_type/oil bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/robot/ipc, @@ -70,6 +64,9 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/robot/ipc, ) + bodytemp_heat_damage_limit = CELCIUS_TO_KELVIN(450) + bodytemp_cold_damage_limit = CELCIUS_TO_KELVIN(-260) //they are practically immune to cold + brutemod = 1.5 coldmod = 1.2 heatmod = 2 // TWO TIMES DAMAGE FROM BEING TOO HOT?! WHAT?! No wonder lava is literal instant death for us. @@ -83,16 +80,6 @@ COOLDOWN_DECLARE(blend_cd) var/blending -/datum/species/ipc/get_scream_sound(mob/living/carbon/human/human) - return 'monkestation/sound/voice/screams/silicon/scream_silicon.ogg' - -/datum/species/ipc/get_laugh_sound(mob/living/carbon/human/human) - return pick( - 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M0.ogg', - 'monkestation/sound/voice/laugh/silicon/laugh_siliconE1M1.ogg', - 'monkestation/sound/voice/laugh/silicon/laugh_siliconM2.ogg', - ) - /datum/species/ipc/get_species_description() return "Integrated Positronic Chassis - or IPC for short - \ are a race of sentient and unbound humanoid robots." @@ -120,6 +107,18 @@ RegisterSignal(C, COMSIG_LIVING_DEATH, PROC_REF(bsod_death)) // screen displays bsod on death, if they have one RegisterSignal(C.reagents, COMSIG_REAGENTS_ADD_REAGENT, PROC_REF(will_it_blend)) + RegisterSignal(C, COMSIG_HUMAN_ON_HANDLE_BLOOD, PROC_REF(blood_handled)) + +/datum/species/ipc/proc/blood_handled(mob/living/carbon/human/slime, seconds_per_tick, times_fired) + SIGNAL_HANDLER + + if(slime.stat == DEAD) + return NONE + + if(slime.blood_volume < BLOOD_VOLUME_OKAY) + return NONE + + slime.adjustOxyLoss(-3) /datum/species/ipc/proc/will_it_blend(datum/reagents/holder, ...) var/mob/living/carbon/carbon = holder.my_atom @@ -218,7 +217,7 @@ BP.limb_id = chassis_of_choice.icon_state BP.name = "\improper[chassis_of_choice.name] [parse_zone(BP.body_zone)]" BP.update_limb() - if(chassis_of_choice.color_src == MUTCOLORS) + if(chassis_of_choice.color_src == MUTANT_COLOR) BP.should_draw_greyscale = TRUE /** diff --git a/monkestation/code/modules/smithing/items/clothing.dm b/monkestation/code/modules/smithing/items/clothing.dm index 684b0bd34c65f8..b76e110d108412 100644 --- a/monkestation/code/modules/smithing/items/clothing.dm +++ b/monkestation/code/modules/smithing/items/clothing.dm @@ -108,9 +108,9 @@ icon_state = "cuirass" allowed = null body_parts_covered = CHEST - cold_protection = CHEST|GROIN + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT strip_delay = 60 equip_delay_other = 40 @@ -131,9 +131,9 @@ icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "knight_green" - cold_protection = HEAD + min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT - heat_protection = HEAD + max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 60 clothing_flags = SNUG_FIT | PLASMAMAN_HELMET_EXEMPT @@ -152,9 +152,9 @@ icon_state = "smithed_boots_inhand" worn_icon_state = "smithed_boots" inhand_icon_state = "jackboots" - cold_protection = FEET + min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET + max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT lefthand_file = 'icons/mob/inhands/clothing/shoes_lefthand.dmi' righthand_file = 'icons/mob/inhands/clothing/shoes_righthand.dmi' diff --git a/monkestation/code/modules/smithing/oozelings/body/bodyparts.dm b/monkestation/code/modules/smithing/oozelings/body/bodyparts.dm index 8a34125875ff1a..914ea7107d00e8 100644 --- a/monkestation/code/modules/smithing/oozelings/body/bodyparts.dm +++ b/monkestation/code/modules/smithing/oozelings/body/bodyparts.dm @@ -5,6 +5,9 @@ biological_state = BIO_INORGANIC dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/oozeling icon_greyscale = 'monkestation/icons/mob/species/oozeling/bodyparts.dmi' @@ -13,6 +16,11 @@ biological_state = BIO_INORGANIC dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + ass_image = 'icons/ass/assslime.png' + wing_types = list(/obj/item/organ/external/wings/functional/slime) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/oozeling icon_greyscale = 'monkestation/icons/mob/species/oozeling/bodyparts.dmi' @@ -20,11 +28,17 @@ biological_state = BIO_INORGANIC dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/oozeling icon_greyscale = 'monkestation/icons/mob/species/oozeling/bodyparts.dmi' limb_id = SPECIES_OOZELING biological_state = BIO_INORGANIC + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/oozeling icon_greyscale = 'monkestation/icons/mob/species/oozeling/bodyparts.dmi' @@ -32,6 +46,9 @@ biological_state = BIO_INORGANIC dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/oozeling icon_greyscale = 'monkestation/icons/mob/species/oozeling/bodyparts.dmi' @@ -39,3 +56,6 @@ biological_state = BIO_INORGANIC dmg_overlay_type = null + composition_effects = list(/datum/element/soft_landing = 0.5) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR diff --git a/monkestation/code/modules/smithing/oozelings/body/organs.dm b/monkestation/code/modules/smithing/oozelings/body/organs.dm index 0f5b242334d547..39af37a185a4b4 100644 --- a/monkestation/code/modules/smithing/oozelings/body/organs.dm +++ b/monkestation/code/modules/smithing/oozelings/body/organs.dm @@ -33,6 +33,7 @@ name = "endoplasmic reticulum" zone = BODY_ZONE_CHEST organ_flags = ORGAN_UNREMOVABLE + organ_traits = list(TRAIT_TOXINLOVER) /obj/item/organ/internal/liver/slime/on_life(seconds_per_tick, times_fired) . = ..() @@ -113,7 +114,8 @@ /obj/item/organ/internal/brain/slime/proc/colorize() if(isoozeling(owner)) - core_color = owner.dna.features["mcolor"] + var/datum/color_palette/generic_colors/located = owner.dna.color_palettes[/datum/color_palette/generic_colors] + core_color = located.return_color(MUTANT_COLOR) add_atom_colour(core_color, FIXED_COLOUR_PRIORITY) /obj/item/organ/internal/brain/slime/proc/on_stat_change(mob/living/victim, new_stat, turf/loc_override) @@ -255,8 +257,6 @@ new_body.undershirt = "Nude" new_body.socks = "Nude" stored_dna.transfer_identity(new_body, transfer_SE = TRUE) - new_body.dna.features["mcolor"] = new_body.dna.features["mcolor"] - new_body.dna.update_uf_block(DNA_MUTANT_COLOR_BLOCK) new_body.real_name = new_body.dna.real_name new_body.name = new_body.dna.real_name new_body.updateappearance(mutcolor_update = TRUE) @@ -289,3 +289,124 @@ drop_items_to_ground(new_body.drop_location()) return new_body + + +///The rate at which slimes regenerate their jelly normally +#define JELLY_REGEN_RATE 1.5 +///The rate at which slimes regenerate their jelly when they completely run out of it and start taking damage, usually after having cannibalized all their limbs already +#define JELLY_REGEN_RATE_EMPTY 2.5 +///The blood volume at which slimes begin to start losing nutrition -- so that IV drips can work for blood deficient slimes +#define BLOOD_VOLUME_LOSE_NUTRITION 550 + + +/obj/item/organ/internal/heart/slime + name = "slime heart" + + heart_bloodtype = /datum/blood_type/slime + var/datum/action/innate/regenerate_limbs/regenerate_limbs + +/obj/item/organ/internal/heart/slime/Insert(mob/living/carbon/receiver, special, drop_if_replaced) + . = ..() + regenerate_limbs = new + regenerate_limbs.Grant(receiver) + RegisterSignal(receiver, COMSIG_HUMAN_ON_HANDLE_BLOOD, PROC_REF(slime_blood)) + +/obj/item/organ/internal/heart/slime/Remove(mob/living/carbon/heartless, special) + . = ..() + if(regenerate_limbs) + regenerate_limbs.Remove(heartless) + qdel(regenerate_limbs) + UnregisterSignal(heartless, COMSIG_HUMAN_ON_HANDLE_BLOOD) + +/obj/item/organ/internal/heart/slime/proc/slime_blood(mob/living/carbon/human/slime, seconds_per_tick, times_fired) + SIGNAL_HANDLER + + if(slime.stat == DEAD) + return NONE + + . = HANDLE_BLOOD_NO_NUTRITION_DRAIN|HANDLE_BLOOD_NO_EFFECTS + + if(slime.blood_volume <= 0) + slime.blood_volume += JELLY_REGEN_RATE_EMPTY * seconds_per_tick + slime.adjustBruteLoss(2.5 * seconds_per_tick) + to_chat(slime, span_danger("You feel empty!")) + + if(slime.blood_volume < BLOOD_VOLUME_NORMAL) + if(slime.nutrition >= NUTRITION_LEVEL_STARVING) + slime.blood_volume += JELLY_REGEN_RATE * seconds_per_tick + if(slime.blood_volume <= BLOOD_VOLUME_LOSE_NUTRITION) // don't lose nutrition if we are above a certain threshold, otherwise slimes on IV drips will still lose nutrition + slime.adjust_nutrition(-1.25 * seconds_per_tick) + + if(HAS_TRAIT(slime, TRAIT_BLOOD_DEFICIENCY)) + var/datum/quirk/blooddeficiency/blooddeficiency = slime.get_quirk(/datum/quirk/blooddeficiency) + if(!isnull(blooddeficiency)) + blooddeficiency.lose_blood(seconds_per_tick) + + if(slime.blood_volume < BLOOD_VOLUME_OKAY) + if(SPT_PROB(2.5, seconds_per_tick)) + to_chat(slime, span_danger("You feel drained!")) + + if(slime.blood_volume < BLOOD_VOLUME_BAD) + Cannibalize_Body(slime) + + regenerate_limbs?.build_all_button_icons(UPDATE_BUTTON_STATUS) + return . + +/obj/item/organ/internal/heart/slime/proc/Cannibalize_Body(mob/living/carbon/human/H) + var/list/limbs_to_consume = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) - H.get_missing_limbs() + var/obj/item/bodypart/consumed_limb + if(!length(limbs_to_consume)) + H.losebreath++ + return + if(H.num_legs) //Legs go before arms + limbs_to_consume -= list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM) + consumed_limb = H.get_bodypart(pick(limbs_to_consume)) + consumed_limb.drop_limb() + to_chat(H, span_userdanger("Your [consumed_limb] is drawn back into your body, unable to maintain its shape!")) + qdel(consumed_limb) + H.blood_volume += 20 + +/datum/action/innate/regenerate_limbs + name = "Regenerate Limbs" + check_flags = AB_CHECK_CONSCIOUS + button_icon_state = "slimeheal" + button_icon = 'icons/mob/actions/actions_slime.dmi' + background_icon_state = "bg_alien" + overlay_icon_state = "bg_alien_border" + +/datum/action/innate/regenerate_limbs/IsAvailable(feedback = FALSE) + . = ..() + if(!.) + return + var/mob/living/carbon/human/H = owner + var/list/limbs_to_heal = H.get_missing_limbs() + if(!length(limbs_to_heal)) + return FALSE + if(H.blood_volume >= BLOOD_VOLUME_OKAY+40) + return TRUE + +/datum/action/innate/regenerate_limbs/Activate() + var/mob/living/carbon/human/H = owner + var/list/limbs_to_heal = H.get_missing_limbs() + if(!length(limbs_to_heal)) + to_chat(H, span_notice("You feel intact enough as it is.")) + return + to_chat(H, span_notice("You focus intently on your missing [length(limbs_to_heal) >= 2 ? "limbs" : "limb"]...")) + if(H.blood_volume >= 40*length(limbs_to_heal)+BLOOD_VOLUME_OKAY) + H.regenerate_limbs() + H.blood_volume -= 40*length(limbs_to_heal) + to_chat(H, span_notice("...and after a moment you finish reforming!")) + return + else if(H.blood_volume >= 40)//We can partially heal some limbs + while(H.blood_volume >= BLOOD_VOLUME_OKAY+40) + var/healed_limb = pick(limbs_to_heal) + H.regenerate_limb(healed_limb) + limbs_to_heal -= healed_limb + H.blood_volume -= 40 + to_chat(H, span_warning("...but there is not enough of you to fix everything! You must attain more mass to heal completely!")) + return + to_chat(H, span_warning("...but there is not enough of you to go around! You must attain more mass to heal!")) + +#undef JELLY_REGEN_RATE +#undef JELLY_REGEN_RATE_EMPTY +#undef BLOOD_VOLUME_LOSE_NUTRITION diff --git a/monkestation/code/modules/smithing/oozelings/species.dm b/monkestation/code/modules/smithing/oozelings/species.dm index a74e7644b05f8b..2e36efa54e5158 100644 --- a/monkestation/code/modules/smithing/oozelings/species.dm +++ b/monkestation/code/modules/smithing/oozelings/species.dm @@ -7,10 +7,6 @@ id = SPECIES_OOZELING changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT - species_traits = list( - MUTCOLORS, - ) - hair_color = "mutcolor" hair_alpha = 160 @@ -20,25 +16,22 @@ mutantears = /obj/item/organ/internal/ears/jelly mutantlungs = /obj/item/organ/internal/lungs/slime mutanttongue = /obj/item/organ/internal/tongue/jelly + mutantheart = /obj/item/organ/internal/heart/slime inherent_traits = list( - TRAIT_CAN_USE_FLIGHT_POTION, - TRAIT_TOXINLOVER, - TRAIT_NOBLOOD, + TRAIT_MUTANT_COLORS, TRAIT_EASYDISMEMBER, TRAIT_NOFIRE, ) meat = /obj/item/food/meat/slab/human/mutant/slime - exotic_blood = /datum/reagent/toxin/slimeooze + exotic_bloodtype = /datum/blood_type/slime burnmod = 0.6 // = 3/5x generic burn damage coldmod = 6 // = 3x cold damage heatmod = 0.5 // = 1/4x heat damage inherent_factions = list(FACTION_SLIME) //an oozeling wont be eaten by their brethren species_language_holder = /datum/language_holder/oozeling - ass_image = 'icons/ass/assslime.png' //swimming_component = /datum/component/swimming/dissolve - wing_types = list(/obj/item/organ/external/wings/functional/slime) bodypart_overrides = list( BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/oozeling, @@ -49,37 +42,10 @@ BODY_ZONE_CHEST = /obj/item/bodypart/chest/oozeling, ) - var/datum/action/innate/regenerate_limbs/regenerate_limbs var/datum/action/cooldown/spell/slime_washing/slime_washing var/datum/action/cooldown/spell/slime_hydrophobia/slime_hydrophobia var/datum/action/innate/core_signal/core_signal -/datum/species/oozeling/get_scream_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' - return pick( - 'sound/voice/human/malescream_1.ogg', - 'sound/voice/human/malescream_2.ogg', - 'sound/voice/human/malescream_3.ogg', - 'sound/voice/human/malescream_4.ogg', - 'sound/voice/human/malescream_5.ogg', - 'sound/voice/human/malescream_6.ogg', - ) - - return pick( - 'sound/voice/human/femalescream_1.ogg', - 'sound/voice/human/femalescream_2.ogg', - 'sound/voice/human/femalescream_3.ogg', - 'sound/voice/human/femalescream_4.ogg', - 'sound/voice/human/femalescream_5.ogg', - ) -/datum/species/oozeling/get_laugh_sound(mob/living/carbon/human/human) - if(human.gender == MALE) - return pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg') - else - return 'sound/voice/human/womanlaugh.ogg' - /datum/species/oozeling/get_species_description() return "A species of sentient semi-solids. \ They require nutriment in order to maintain their body mass." @@ -96,8 +62,6 @@ . = .(gender, TRUE, lastname, ++attempts) /datum/species/oozeling/on_species_loss(mob/living/carbon/C) - if(regenerate_limbs) - regenerate_limbs.Remove(C) if(slime_washing) slime_washing.Remove(C) if(slime_hydrophobia) @@ -110,8 +74,6 @@ /datum/species/oozeling/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() if(ishuman(C)) - regenerate_limbs = new - regenerate_limbs.Grant(C) slime_washing = new slime_washing.Grant(C) slime_hydrophobia = new @@ -128,8 +90,6 @@ if(slime.stat != CONSCIOUS) return - var/healing = TRUE - var/datum/status_effect/fire_handler/wet_stacks/wetness = locate() in slime.status_effects if(HAS_TRAIT(slime, TRAIT_SLIME_HYDROPHOBIA)) return @@ -139,75 +99,15 @@ slime.visible_message(span_danger("[slime]'s form begins to lose cohesion, seemingly diluting with the water!"), span_warning("The water starts to dilute your body, dry it off!")) if(istype(wetness) && wetness.stacks > (REGEN_WATER_STACKS)) - healing = FALSE if (SPT_PROB(25, seconds_per_tick)) to_chat(slime, span_warning("You can't pull your body together and regenerate with water inside it!")) slime.blood_volume -= 1 * seconds_per_tick - if(slime.blood_volume > BLOOD_VOLUME_NORMAL && healing) - if(HAS_TRAIT(slime, TRAIT_SLIME_HYDROPHOBIA)) - return - if(slime.stat != CONSCIOUS) - return - slime.heal_overall_damage(brute = 2 * seconds_per_tick, burn = 2 * seconds_per_tick, required_bodytype = BODYTYPE_ORGANIC) - slime.adjustOxyLoss(-1 * seconds_per_tick) - - if(!slime.blood_volume) - slime.blood_volume += 5 - slime.adjustBruteLoss(5) - to_chat(slime, span_danger("You feel empty!")) - - if(slime.nutrition >= NUTRITION_LEVEL_WELL_FED && slime.blood_volume <= 672) - if(slime.nutrition >= NUTRITION_LEVEL_ALMOST_FULL) - slime.adjust_nutrition(-5) - slime.blood_volume += 10 - else - slime.blood_volume += 8 - - if(slime.nutrition <= NUTRITION_LEVEL_HUNGRY) - if(slime.nutrition <= NUTRITION_LEVEL_STARVING) - slime.blood_volume -= 8 - if(prob(5)) - to_chat(slime, span_info("You're starving! Get some food!")) - else - if(prob(35)) - slime.blood_volume -= 2 - if(prob(5)) - to_chat(slime, span_danger("You're feeling pretty hungry...")) - - if(slime.blood_volume < BLOOD_VOLUME_OKAY && prob(5)) - to_chat(slime, span_danger("You feel drained!")) - if(slime.blood_volume < BLOOD_VOLUME_OKAY) - Cannibalize_Body(slime) - - if(slime.blood_volume < 0) - slime.blood_volume = 0 - -/datum/species/oozeling/proc/Cannibalize_Body(mob/living/carbon/human/slime) - if(HAS_TRAIT(slime, TRAIT_OOZELING_NO_CANNIBALIZE)) - return - var/list/limbs_to_consume = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) - slime.get_missing_limbs() - var/obj/item/bodypart/consumed_limb - - if(!length(limbs_to_consume)) - slime.losebreath++ - return - if(slime.num_legs) //Legs go before arms - limbs_to_consume -= list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM) - - consumed_limb = slime.get_bodypart(pick(limbs_to_consume)) - consumed_limb.drop_limb() - - to_chat(slime, span_userdanger("Your [consumed_limb] is drawn back into your body, unable to maintain its shape!")) - qdel(consumed_limb) - slime.blood_volume += 80 - slime.nutrition += 20 - /////// /// CHEMICAL HANDLING /// Here's where slimes heal off plasma and where they hate drinking water. -/datum/species/oozeling/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/slime, seconds_per_tick, times_fired) +/datum/species/oozeling/handle_chemical(datum/reagent/chem, mob/living/carbon/human/slime, seconds_per_tick, times_fired) // slimes use plasma to fix wounds, and if they have enough blood, organs var/static/list/organs_we_mend = list( ORGAN_SLOT_BRAIN, @@ -275,12 +175,6 @@ SPECIES_PERK_NAME = "incombustible", SPECIES_PERK_DESC = "[plural_form] cannot be set aflame.", ), - list( - SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, - SPECIES_PERK_ICON = "tint", - SPECIES_PERK_NAME = initial(exotic_blood.name), - SPECIES_PERK_DESC = "[name] blood is [initial(exotic_blood.name)], which can make recieving medical treatment harder.", - ), list( SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, SPECIES_PERK_ICON = "wind", diff --git a/monkestation/code/modules/storytellers/converted_events/_base_event.dm b/monkestation/code/modules/storytellers/converted_events/_base_event.dm index 84ae021d784019..098355afedbab5 100644 --- a/monkestation/code/modules/storytellers/converted_events/_base_event.dm +++ b/monkestation/code/modules/storytellers/converted_events/_base_event.dm @@ -70,6 +70,12 @@ var/list/protected_roles /// Restricted roles from the antag roll var/list/restricted_roles + var/event_icon_state + +/datum/round_event_control/proc/generate_image(list/mobs) + return +/datum/round_event_control/antagonist/generate_image(list/mobs) + SScredits.generate_major_icon(mobs, event_icon_state) /datum/round_event_control/antagonist/proc/check_required() if(!length(exclusive_roles)) @@ -265,7 +271,7 @@ log_storyteller("Picked antag event mob: [picked_mob], special role: [picked_mob.mind?.special_role ? picked_mob.mind.special_role : "none"]") candidates |= picked_mob - + var/list/picked_mobs = list() for(var/i in 1 to antag_count) if(!length(candidates)) message_admins("A roleset event got fewer antags then its antag_count and may not function correctly.") @@ -282,8 +288,10 @@ setup_minds += candidate.mind candidate.mind.special_role = antag_flag candidate.mind.restricted_roles = restricted_roles + picked_mobs += WEAKREF(candidate.client) setup = TRUE + control.generate_image(picked_mobs) if(LAZYLEN(extra_spawned_events)) var/event_type = pick_weight(extra_spawned_events) if(!event_type) diff --git a/monkestation/code/modules/storytellers/converted_events/solo/bloodcult.dm b/monkestation/code/modules/storytellers/converted_events/solo/bloodcult.dm index 49d8bf9edead2c..03b34742e7ca3f 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/bloodcult.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/bloodcult.dm @@ -38,6 +38,7 @@ earliest_start = 0 SECONDS weight = 4 max_occurrences = 1 + event_icon_state = "cult" /datum/round_event/antagonist/solo/bloodcult excute_round_end_reports = TRUE diff --git a/monkestation/code/modules/storytellers/converted_events/solo/bloodsuckers.dm b/monkestation/code/modules/storytellers/converted_events/solo/bloodsuckers.dm index 30ec0ef49fbf1b..bcf08d77896e9e 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/bloodsuckers.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/bloodsuckers.dm @@ -24,6 +24,7 @@ min_players = 20 weight = 10 maximum_antags = 2 + event_icon_state = "vampires" /datum/round_event_control/antagonist/solo/bloodsucker/roundstart name = "Bloodsuckers" diff --git a/monkestation/code/modules/storytellers/converted_events/solo/changeling.dm b/monkestation/code/modules/storytellers/converted_events/solo/changeling.dm index f198a7b2e85bf3..64fa6e73fb3267 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/changeling.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/changeling.dm @@ -24,6 +24,7 @@ min_players = 20 weight = 9 shared_occurence_type = SHARED_CHANGELING + event_icon_state = "changeling" /datum/round_event_control/antagonist/solo/changeling/roundstart name = "Changelings" diff --git a/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm b/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm index 9437380c3b066a..920f243a5d90b2 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/clockwork_cult.dm @@ -35,8 +35,9 @@ min_players = 45 roundstart = TRUE earliest_start = 0 SECONDS - weight = 4 + weight = 0 max_occurrences = 1 + event_icon_state = "clockcult" /datum/round_event/antagonist/solo/clockcult end_when = 60000 diff --git a/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm b/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm index f1e587f44e7a54..dadeb02fe81bbb 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/clown_operative.dm @@ -41,6 +41,7 @@ earliest_start = 0 SECONDS weight = 1 //these are meant to be very rare max_occurrences = 1 + event_icon_state = "flukeops" /datum/round_event/antagonist/solo/clown_operative excute_round_end_reports = TRUE diff --git a/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm b/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm index f1663ee20172e7..310142058e6523 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/nuclear_operative.dm @@ -41,6 +41,7 @@ earliest_start = 0 SECONDS weight = 4 max_occurrences = 3 + event_icon_state = "nukeops" /datum/round_event/antagonist/solo/nuclear_operative excute_round_end_reports = TRUE diff --git a/monkestation/code/modules/storytellers/converted_events/solo/revolutionary.dm b/monkestation/code/modules/storytellers/converted_events/solo/revolutionary.dm index 067ad663de8479..3500a4cf21b807 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/revolutionary.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/revolutionary.dm @@ -38,6 +38,7 @@ earliest_start = 0 SECONDS weight = 3 //value was 3, we need to manually test if this works or not before allowing it normally max_occurrences = 1 + event_icon_state = "revolution" /datum/antagonist/rev/head/event_trigger remove_clumsy = TRUE diff --git a/monkestation/code/modules/storytellers/converted_events/solo/traitor.dm b/monkestation/code/modules/storytellers/converted_events/solo/traitor.dm index ede797b7be165c..abe18dabcf9110 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/traitor.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/traitor.dm @@ -22,6 +22,7 @@ JOB_CYBORG, ) weight = 15 + event_icon_state = "traitor" /datum/round_event_control/antagonist/solo/traitor/roundstart name = "Traitors" diff --git a/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm b/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm index b0426a0191c841..c6962b9db7d5b8 100644 --- a/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm +++ b/monkestation/code/modules/storytellers/converted_events/solo/wizard.dm @@ -26,6 +26,7 @@ weight = 2 min_players = 35 max_occurrences = 1 + event_icon_state = "wizard" /datum/round_event_control/antagonist/solo/wizard/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE) . = ..() diff --git a/monkestation/code/modules/storytellers/gamemode_subsystem.dm b/monkestation/code/modules/storytellers/gamemode_subsystem.dm index 56114922048796..3545e19aa0b11a 100644 --- a/monkestation/code/modules/storytellers/gamemode_subsystem.dm +++ b/monkestation/code/modules/storytellers/gamemode_subsystem.dm @@ -9,6 +9,7 @@ SUBSYSTEM_DEF(gamemode) init_order = INIT_ORDER_GAMEMODE runlevels = RUNLEVEL_GAME flags = SS_BACKGROUND | SS_KEEP_TIMING + priority = 20 wait = 2 SECONDS /// List of our event tracks for fast access during for loops. diff --git a/monkestation/code/modules/storytellers/readme.md b/monkestation/code/modules/storytellers/readme.md index ace62b725afa05..2a8f3d12524d7a 100644 --- a/monkestation/code/modules/storytellers/readme.md +++ b/monkestation/code/modules/storytellers/readme.md @@ -40,5 +40,6 @@ This PR adds adds on to the current dynamic system by having events be guided by Made by Unknown Coders on Horizon (Horizon's Repo atleast as of 10/14/2023 no longer exists if this changes please let me know on discord #Borbop) +https://github.com/sebdaz/HorizonSS13 Ported by Dwasint diff --git a/monkestation/code/modules/surgery/bodyparts/arachnid_bodyparts.dm b/monkestation/code/modules/surgery/bodyparts/arachnid_bodyparts.dm index 6feabe23fc6d6a..39de5000e5dd1b 100644 --- a/monkestation/code/modules/surgery/bodyparts/arachnid_bodyparts.dm +++ b/monkestation/code/modules/surgery/bodyparts/arachnid_bodyparts.dm @@ -3,11 +3,15 @@ limb_id = SPECIES_ARACHNIDS is_dimorphic = FALSE head_flags = HEAD_EYESPRITES | HEAD_EYEHOLES | HEAD_DEBRAIN | HEAD_EYECOLOR + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/arachnid icon_greyscale = 'monkestation/icons/mob/species/arachnid/bodyparts.dmi' limb_id = SPECIES_ARACHNIDS is_dimorphic = FALSE + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/arachnid icon_greyscale = 'monkestation/icons/mob/species/arachnid/bodyparts.dmi' @@ -16,6 +20,8 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slash.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/arachnid icon_greyscale = 'monkestation/icons/mob/species/arachnid/bodyparts.dmi' @@ -24,11 +30,19 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slash.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/arachnid icon_greyscale = 'monkestation/icons/mob/species/arachnid/bodyparts.dmi' limb_id = SPECIES_ARACHNIDS + speed_modifier = -0.05 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/arachnid icon_greyscale = 'monkestation/icons/mob/species/arachnid/bodyparts.dmi' limb_id = SPECIES_ARACHNIDS + speed_modifier = -0.05 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR diff --git a/monkestation/code/modules/surgery/bodyparts/floran_bodyparts.dm b/monkestation/code/modules/surgery/bodyparts/floran_bodyparts.dm index 353882d35acbf9..08d4afe1f4d88c 100644 --- a/monkestation/code/modules/surgery/bodyparts/floran_bodyparts.dm +++ b/monkestation/code/modules/surgery/bodyparts/floran_bodyparts.dm @@ -3,11 +3,17 @@ limb_id = SPECIES_FLORAN is_dimorphic = FALSE head_flags = HEAD_EYESPRITES | HEAD_EYEHOLES | HEAD_DEBRAIN + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/chest/floran icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' limb_id = SPECIES_FLORAN is_dimorphic = TRUE + ass_image = 'icons/ass/asspodperson.png' + bodypart_traits = list(TRAIT_LIMBATTACHMENT) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/left/floran icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' @@ -18,6 +24,9 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slice.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + hand_traits = list(TRAIT_PLANT_SAFE) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/arm/right/floran icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' @@ -28,11 +37,20 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slice.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + hand_traits = list(TRAIT_PLANT_SAFE) + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/left/floran icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' limb_id = SPECIES_FLORAN + speed_modifier = -0.05 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR /obj/item/bodypart/leg/right/floran icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' limb_id = SPECIES_FLORAN + speed_modifier = -0.05 + palette = /datum/color_palette/generic_colors + palette_key = MUTANT_COLOR diff --git a/monkestation/code/modules/surgery/bodyparts/simian_bodyparts.dm b/monkestation/code/modules/surgery/bodyparts/simian_bodyparts.dm index a4f869adb7940e..23da5d9671bbd8 100644 --- a/monkestation/code/modules/surgery/bodyparts/simian_bodyparts.dm +++ b/monkestation/code/modules/surgery/bodyparts/simian_bodyparts.dm @@ -7,6 +7,8 @@ bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM head_flags = HEAD_EYESPRITES | HEAD_EYEHOLES | HEAD_DEBRAIN | HEAD_EYECOLOR dmg_overlay_type = "monkey" + palette = /datum/color_palette/generic_colors + palette_key = "fur_color" /obj/item/bodypart/chest/simian icon_greyscale = 'monkestation/icons/mob/species/simian/bodyparts.dmi' @@ -15,8 +17,9 @@ limb_id = SPECIES_SIMIAN is_dimorphic = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM - dmg_overlay_type = "monkey" + palette = /datum/color_palette/generic_colors + palette_key = "fur_color" /obj/item/bodypart/arm/left/simian icon_greyscale = 'monkestation/icons/mob/species/simian/bodyparts.dmi' @@ -24,8 +27,9 @@ husk_type = "simian" limb_id = SPECIES_SIMIAN bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM - dmg_overlay_type = "monkey" + palette = /datum/color_palette/generic_colors + palette_key = "fur_color" /obj/item/bodypart/arm/right/simian icon_greyscale = 'monkestation/icons/mob/species/simian/bodyparts.dmi' @@ -33,8 +37,9 @@ husk_type = "simian" limb_id = SPECIES_SIMIAN bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM - dmg_overlay_type = "monkey" + palette = /datum/color_palette/generic_colors + palette_key = "fur_color" /obj/item/bodypart/leg/left/simian icon_greyscale = 'monkestation/icons/mob/species/simian/bodyparts.dmi' @@ -43,6 +48,9 @@ limb_id = SPECIES_SIMIAN bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM footprint_sprite = FOOTPRINT_SPRITE_PAWS + speed_modifier = -0.05 + palette = /datum/color_palette/generic_colors + palette_key = "fur_color" /obj/item/bodypart/leg/right/simian icon_greyscale = 'monkestation/icons/mob/species/simian/bodyparts.dmi' @@ -51,5 +59,7 @@ limb_id = SPECIES_SIMIAN bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM footprint_sprite = FOOTPRINT_SPRITE_PAWS - dmg_overlay_type = "monkey" + speed_modifier = -0.05 + palette = /datum/color_palette/generic_colors + palette_key = "fur_color" diff --git a/monkestation/code/modules/surgery/bodyparts/teratoma_bodyparts.dm b/monkestation/code/modules/surgery/bodyparts/teratoma_bodyparts.dm index 807f413ff39308..fc96022396343a 100644 --- a/monkestation/code/modules/surgery/bodyparts/teratoma_bodyparts.dm +++ b/monkestation/code/modules/surgery/bodyparts/teratoma_bodyparts.dm @@ -7,6 +7,7 @@ bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM should_draw_greyscale = FALSE head_flags = HEAD_LIPS | HEAD_DEBRAIN + composition_effects = list(TRAIT_PASSTABLE = 0.5, TRAIT_VENTCRAWLER_ALWAYS = 1) dmg_overlay_type = "monkey" @@ -18,6 +19,7 @@ is_dimorphic = FALSE bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM should_draw_greyscale = FALSE + composition_effects = list(TRAIT_PASSTABLE = 0.5, TRAIT_VENTCRAWLER_ALWAYS = 1) dmg_overlay_type = "monkey" @@ -28,6 +30,8 @@ limb_id = SPECIES_TERATOMA bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM should_draw_greyscale = FALSE + hand_traits = list(TRAIT_CHUNKYFINGERS) + composition_effects = list(TRAIT_PASSTABLE = 0.5, TRAIT_VENTCRAWLER_ALWAYS = 1) dmg_overlay_type = "monkey" @@ -38,6 +42,8 @@ limb_id = SPECIES_TERATOMA bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM should_draw_greyscale = FALSE + hand_traits = list(TRAIT_CHUNKYFINGERS) + composition_effects = list(TRAIT_PASSTABLE = 0.5, TRAIT_VENTCRAWLER_ALWAYS = 1) dmg_overlay_type = "monkey" @@ -48,7 +54,10 @@ limb_id = SPECIES_TERATOMA bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM should_draw_greyscale = FALSE + speed_modifier = -0.075 footprint_sprite = FOOTPRINT_SPRITE_PAWS + bodypart_traits = list(TRAIT_VAULTING) + composition_effects = list(TRAIT_PASSTABLE = 0.5, TRAIT_VENTCRAWLER_ALWAYS = 1) /obj/item/bodypart/leg/right/teratoma icon_static = 'monkestation/icons/mob/species/teratoma/bodyparts.dmi' @@ -58,5 +67,7 @@ bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM should_draw_greyscale = FALSE footprint_sprite = FOOTPRINT_SPRITE_PAWS - + speed_modifier = -0.075 dmg_overlay_type = "monkey" + bodypart_traits = list(TRAIT_VAULTING) + composition_effects = list(TRAIT_PASSTABLE = 0.5, TRAIT_VENTCRAWLER_ALWAYS = 1) diff --git a/monkestation/code/modules/surgery/organs/external/ethereal_accessories.dm b/monkestation/code/modules/surgery/organs/external/ethereal_accessories.dm index 3fd637f3e771b0..f645ed3ed76f79 100644 --- a/monkestation/code/modules/surgery/organs/external/ethereal_accessories.dm +++ b/monkestation/code/modules/surgery/organs/external/ethereal_accessories.dm @@ -14,6 +14,8 @@ /datum/bodypart_overlay/mutant/ethereal_horns layers = EXTERNAL_FRONT|EXTERNAL_ADJACENT feature_key = "ethereal_horns" + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /datum/bodypart_overlay/mutant/ethereal_horns/get_global_feature_list() return GLOB.ethereal_horns_list @@ -38,6 +40,8 @@ /datum/bodypart_overlay/mutant/tail/ethereal layers = EXTERNAL_FRONT|EXTERNAL_BEHIND feature_key = "ethereal_tail" + palette = /datum/color_palette/generic_colors + palette_key = "ethereal_color" /datum/bodypart_overlay/mutant/tail/ethereal/get_global_feature_list() return GLOB.ethereal_tail_list diff --git a/monkestation/code/modules/surgery/organs/internal/tongue.dm b/monkestation/code/modules/surgery/organs/internal/tongue.dm index 684fd10d6ddbfe..c2a45d68349453 100644 --- a/monkestation/code/modules/surgery/organs/internal/tongue.dm +++ b/monkestation/code/modules/surgery/organs/internal/tongue.dm @@ -16,6 +16,14 @@ desc = "The tongue of an Arachnid. Mostly used for lying." say_mod = "chitters" modifies_speech = TRUE + disliked_foodtypes = NONE // Okay listen, i don't actually know what irl spiders don't like to eat and i'm pretty tired of looking for answers. + liked_foodtypes = GORE | MEAT | BUGS | GROSS + +/obj/item/organ/internal/tongue/arachnid/get_scream_sound() + return 'monkestation/sound/voice/screams/arachnid/arachnid_scream.ogg' + +/obj/item/organ/internal/tongue/arachnid/get_laugh_sound() + return 'monkestation/sound/voice/laugh/arachnid/arachnid_laugh.ogg' /obj/item/organ/internal/tongue/arachnid/modify_speech(datum/source, list/speech_args) //This is flypeople speech var/static/regex/fly_buzz = new("z+", "g") @@ -30,15 +38,3 @@ /obj/item/organ/internal/tongue/arachnid/get_possible_languages() return ..() + /datum/language/buzzwords - -/obj/item/organ/internal/tongue/oozeling - name = "oozeling tongue" - desc = "A goopy organ that mimics the tongues of other carbon beings." - icon = 'monkestation/icons/obj/medical/organs/organs.dmi' - icon_state = "tongue_oozeling" - say_mod = "blurbles" - alpha = 200 - -// Oozeling tongues can speak all default + slime -/obj/item/organ/internal/tongue/oozeling/get_possible_languages() - return ..() + /datum/language/slime diff --git a/monkestation/code/modules/temperature_overhaul/exposure.dm b/monkestation/code/modules/temperature_overhaul/exposure.dm new file mode 100644 index 00000000000000..d4b95448ef8662 --- /dev/null +++ b/monkestation/code/modules/temperature_overhaul/exposure.dm @@ -0,0 +1,64 @@ +/// Ticking buff to overheated mobs that causes burn wounds +/datum/status_effect/stacking/heat_exposure + id = "heat_exposure" + status_type = STATUS_EFFECT_UNIQUE + remove_on_fullheal = TRUE + heal_flag_necessary = HEAL_TEMP + max_stacks = 40 + stack_threshold = 10 // added to in init + stack_decay = 0 // handled manually + + var/warned = TRUE + + /// How hot before we gain stacks rather than losing them + var/temp_threshold = -1 + +/datum/status_effect/stacking/heat_exposure/on_creation(mob/living/new_owner, stacks_to_apply, temp_threshold) + src.stack_threshold += rand(0, 20) + src.temp_threshold = temp_threshold + return ..() + +/datum/status_effect/stacking/heat_exposure/can_have_status() + return ishuman(owner) && !HAS_TRAIT(src, TRAIT_RESISTHEAT) + +/datum/status_effect/stacking/heat_exposure/can_gain_stacks() + return can_have_status() && owner.bodytemperature > temp_threshold + +/datum/status_effect/stacking/heat_exposure/tick(seconds_between_ticks) + if(owner.bodytemperature > temp_threshold) + add_stacks(0.5 * seconds_between_ticks) + else + add_stacks(-2 * seconds_between_ticks) + if(QDELETED(src)) // either we dropped off or we applied a wound + return + if(stacks >= max(stack_threshold - (10 + rand(-2, 5)), 8) && SPT_PROB(33, seconds_between_ticks) && !warned) + to_chat(owner, span_warning("You feel overheated!")) + warned = TRUE + return ..() + +/datum/status_effect/stacking/heat_exposure/stacks_consumed_effect() + var/mob/living/carbon/human/human_owner = owner + // Lets pick a random body part and check for an existing burn + var/obj/item/bodypart/bodypart = pick(human_owner.bodyparts) + var/datum/wound/existing_burn + for (var/datum/wound/iterated_wound as anything in bodypart.wounds) + var/datum/wound_pregen_data/pregen_data = iterated_wound.get_pregen_data() + if (pregen_data.wound_series in GLOB.wounding_types_to_series[WOUND_BURN]) + existing_burn = iterated_wound + break + + // If we have an existing burn try to upgrade it + var/severity = WOUND_SEVERITY_MODERATE + var/heat_damage = 2 * HEAT_DAMAGE * human_owner.physiology.heat_mod + if(human_owner.bodytemperature > temp_threshold * 8) + if(existing_burn?.severity < WOUND_SEVERITY_CRITICAL) + severity = WOUND_SEVERITY_CRITICAL + heat_damage *= 8 + + else if(human_owner.bodytemperature > temp_threshold * 2) + if(existing_burn?.severity < WOUND_SEVERITY_SEVERE) + severity = WOUND_SEVERITY_SEVERE + heat_damage *= 3 + + human_owner.cause_wound_of_type_and_severity(WOUND_BURN, bodypart, severity, wound_source = "hot temperatures") + human_owner.apply_damage(HEAT_DAMAGE, BURN, bodypart, wound_bonus = CANT_WOUND) diff --git a/monkestation/code/modules/temperature_overhaul/homeostasis_level.dm b/monkestation/code/modules/temperature_overhaul/homeostasis_level.dm new file mode 100644 index 00000000000000..3617fb7bbc28be --- /dev/null +++ b/monkestation/code/modules/temperature_overhaul/homeostasis_level.dm @@ -0,0 +1,135 @@ +/** + * Changes the level to which the mob homeostasises to, while optionally providing a buff to the rate at which they do so. + * + * Additional buff to homeostasis rate does not affecte nutrition drain of homeostasis. + * + * Args + * * source: String key source of this effect + * * to_value: The target value to homeostasise to + * * delta_change: Optional, additional rate of change to the mob's body temperature + * * while_stasis: Optional, if delta change is supplied, it will tick while the mob is in stasis + * * while_dead: Optional, if delta change is supplied, it will tick while the mob is dead + * * update_species: Optional, if TRUE, and if the mob's species changes, we will update the target temp. to accomodate + * (via the difference in new species vs old species standard_body_temperature) + */ +/mob/living/proc/add_homeostasis_level( + source, + to_value, + delta_change = 0 KELVIN, + while_stasis = FALSE, + while_dead = FALSE, + update_species = TRUE +) + ASSERT(source) + ASSERT(to_value) + apply_status_effect(/datum/status_effect/homeostasis_level, source, to_value, delta_change, while_stasis, while_dead, update_species) + +/** + * Removes a source of homeostasis level change from a mob. + * + * Args + * * source: String key source to remove + */ +/mob/living/proc/remove_homeostasis_level( + source, +) + ASSERT(source) + remove_status_effect(/datum/status_effect/homeostasis_level, source) + +/** + * Updates an existing change to the mob's homeostasis levels + * + * Args + * * source: String key source to update + * * to_value: Change the level to homeostasise to + * * delta_change: Change the rate of change to the mob's body temperature + */ +/mob/living/proc/update_homeostasis_level( + source, + to_value, + delta_change = 0 KELVIN, +) + ASSERT(source) + ASSERT(to_value) + apply_status_effect(/datum/status_effect/homeostasis_level, source, to_value, delta_change) + +/** + * Attempts to stabilize a mob's body temperature to a set value. + */ +/datum/status_effect/homeostasis_level + id = "temp_change" + status_type = STATUS_EFFECT_MULTIPLE + tick_interval = 2 SECONDS + alert_type = null + var/source + var/to_value + var/delta_change + var/while_stasis + var/while_dead + var/update_species + +/datum/status_effect/homeostasis_level/on_creation( + mob/living/new_owner, + source, + to_value, + delta_change = 0 KELVIN, + while_stasis = FALSE, + while_dead = FALSE, + update_species = TRUE +) + src.source = source + src.to_value = to_value + src.delta_change = abs(delta_change) + src.while_stasis = while_stasis + src.while_dead = while_dead + src.update_species = update_species + + return ..() + +/datum/status_effect/homeostasis_level/on_apply() + if(isnull(src.source)) + stack_trace("Temperature change status effect applied without a source") + return FALSE + if(isnull(src.to_value)) + stack_trace("Temperature change status effect applied without a set temperature") + return FALSE + + for(var/datum/status_effect/homeostasis_level/effect in owner.status_effects) + if(effect.source == src.source) + effect.to_value = src.to_value + effect.delta_change = src.delta_change + LAZYSET(owner.homeostasis_targets, REF(effect), effect.to_value) + return FALSE + + RegisterSignal(owner, COMSIG_SPECIES_GAIN, PROC_REF(species_update)) + LAZYSET(owner.homeostasis_targets, REF(src), src.to_value) + return TRUE + +/datum/status_effect/homeostasis_level/before_remove(source) + return src.source == source + +/datum/status_effect/homeostasis_level/on_remove() + UnregisterSignal(owner, COMSIG_SPECIES_GAIN) + LAZYREMOVE(owner.homeostasis_targets, REF(src)) + +/datum/status_effect/homeostasis_level/tick(seconds_between_ticks) + if(!delta_change) + return + if(!while_stasis && HAS_TRAIT(owner, TRAIT_STASIS)) + return + if(!while_dead && owner.stat == DEAD) + return + + if(to_value < owner.standard_body_temperature) + owner.adjust_bodytemperature(-delta_change, min_temp = to_value) + + else + owner.adjust_bodytemperature(delta_change, max_temp = to_value) + +/datum/status_effect/homeostasis_level/proc/species_update(datum/source, datum/species/new_species, datum/species/old_species) + SIGNAL_HANDLER + + if(!update_species || isnull(new_species) || isnull(old_species) || new_species.type == old_species.type) + return + + to_value += UNLINT(new_species.bodytemp_normal - old_species.bodytemp_normal) diff --git a/monkestation/code/modules/temperature_overhaul/living_procs.dm b/monkestation/code/modules/temperature_overhaul/living_procs.dm new file mode 100644 index 00000000000000..009760be7a222d --- /dev/null +++ b/monkestation/code/modules/temperature_overhaul/living_procs.dm @@ -0,0 +1,166 @@ +/mob/living/proc/body_temperature_damage(datum/gas_mixture/environment, seconds_per_tick, times_fired) + if(bodytemperature > bodytemp_heat_damage_limit && !HAS_TRAIT(src, TRAIT_RESISTHEAT)) + var/heat_diff = bodytemp_heat_damage_limit - standard_body_temperature + var/heat_threshold_low = bodytemp_heat_damage_limit + heat_diff * 0.75 + var/heat_threshold_medium = bodytemp_heat_damage_limit + heat_diff * 1.25 + var/heat_threshold_high = bodytemp_heat_damage_limit + heat_diff * 2 + + var/firemodifier = round(fire_stacks, 1) * 0.01 + if (!on_fire) // We are not on fire, reduce the modifier + firemodifier = min(firemodifier, 0) // Note that wetstacks make us take less burn damage + + // convering back and forth so we can apply a multiplier from firestacks without sending temp to the moon + var/effective_temp = CELCIUS_TO_KELVIN(KELVIN_TO_CELCIUS(bodytemperature) * (1 + firemodifier)) + var/burn_damage = HEAT_DAMAGE + if(effective_temp > heat_threshold_high) + burn_damage *= 8 + else if(effective_temp > heat_threshold_medium) + burn_damage *= 4 + else if(effective_temp > heat_threshold_low) + burn_damage *= 2 + + temperature_burns(burn_damage * seconds_per_tick) + if(effective_temp > heat_threshold_medium) + apply_status_effect(/datum/status_effect/stacking/heat_exposure, 1, heat_threshold_medium) + + + // For cold damage, we cap at the threshold if you're dead + if(bodytemperature < bodytemp_cold_damage_limit && !HAS_TRAIT(src, TRAIT_RESISTCOLD) && (getFireLoss() < maxHealth || stat != DEAD)) + var/cold_diff = bodytemp_cold_damage_limit - standard_body_temperature + var/cold_threshold_low = bodytemp_cold_damage_limit + cold_diff * 1.2 + var/cold_threshold_medium = bodytemp_cold_damage_limit + cold_diff * 1.75 + // For cold damage, we cap at the threshold if you're dead + var/cold_threshold_high = bodytemp_cold_damage_limit + cold_diff * 2 + + var/cold_damage = COLD_DAMAGE + if(bodytemperature < cold_threshold_high) + cold_damage *= 8 + else if(bodytemperature < cold_threshold_medium) + cold_damage *= 4 + else if(bodytemperature < cold_threshold_low) + cold_damage *= 2 + + temperature_cold_damage(cold_damage * seconds_per_tick) + +/// Applies damage to the mob due to being too cold +/mob/living/proc/temperature_cold_damage(damage) + return apply_damage(damage, HAS_TRAIT(src, TRAIT_HULK) ? BRUTE : BURN, spread_damage = TRUE, wound_bonus = CANT_WOUND) + +/mob/living/carbon/human/temperature_cold_damage(damage) + damage *= physiology.cold_mod + return ..() + +/// Applies damage to the mob due to being too hot +/mob/living/proc/temperature_burns(damage) + return apply_damage(damage, BURN, spread_damage = TRUE, wound_bonus = CANT_WOUND) + +/mob/living/carbon/human/temperature_burns(damage) + damage *= physiology.heat_mod + return ..() + +/mob/living/proc/body_temperature_alerts() + // give out alerts based on how the skin feels, not how the body is + // this gives us an early warning system - since we tend to trend up/down to skin temperature - + // how we're going to be feeling soon if we don't change our environment + var/feels_like = get_skin_temperature() + + var/hot_diff = bodytemp_heat_damage_limit - standard_body_temperature + var/hot_threshold_low = bodytemp_heat_damage_limit - hot_diff * 0.5 + var/hot_threshold_medium = bodytemp_heat_damage_limit + var/hot_threshold_high = bodytemp_heat_damage_limit + hot_diff + // Body temperature is too hot, and we do not have resist traits + if(feels_like > hot_threshold_low && !HAS_TRAIT(src, TRAIT_RESISTHEAT)) + clear_mood_event("cold") + // Clear cold once we return to warm + remove_movespeed_modifier(/datum/movespeed_modifier/cold) + if(feels_like > hot_threshold_high) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) + add_mood_event("hot", /datum/mood_event/overhot) + else if(feels_like > hot_threshold_medium) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) + add_mood_event("hot", /datum/mood_event/hot) + else + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) + add_mood_event("hot", /datum/mood_event/warm) + temp_alerts = TRUE + + var/cold_diff = bodytemp_cold_damage_limit - standard_body_temperature + var/cold_threshold_low = bodytemp_cold_damage_limit - cold_diff * 0.5 + var/cold_threshold_medium = bodytemp_cold_damage_limit + var/cold_threshold_high = bodytemp_cold_damage_limit + cold_diff + // Body temperature is too cold, and we do not have resist traits + if(feels_like < cold_threshold_low && !HAS_TRAIT(src, TRAIT_RESISTCOLD)) + clear_mood_event("hot") + if(feels_like < cold_threshold_high) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) + add_mood_event("cold", /datum/mood_event/freezing) + else if(feels_like < cold_threshold_medium) + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) + add_mood_event("cold", /datum/mood_event/cold) + else + throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) + add_mood_event("cold", /datum/mood_event/chilly) + temp_alerts = TRUE + // Only apply slowdown if the body is cold rather than the skin + if(bodytemperature < cold_threshold_medium && !HAS_TRAIT(src, TRAIT_RESISTCOLD)) + add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/cold, multiplicative_slowdown = ((cold_threshold_medium - bodytemperature) / COLD_SLOWDOWN_FACTOR)) + else if(LAZYACCESS(movespeed_modification, /datum/movespeed_modifier/cold)) + remove_movespeed_modifier(/datum/movespeed_modifier/cold) + + // We are not to hot or cold, remove status and moods + if(temp_alerts && (feels_like < hot_threshold_low || HAS_TRAIT(src, TRAIT_RESISTHEAT)) && (feels_like > cold_threshold_low || HAS_TRAIT(src, TRAIT_RESISTCOLD))) + clear_alert(ALERT_TEMPERATURE) + clear_mood_event("cold") + clear_mood_event("hot") + temp_alerts = FALSE + +/** + * Handles this mob internally managing its body temperature (sweating or generating heat) + * + * Arguments: + * * seconds_per_tick: The amount of time that has elapsed since this last fired. + * * times_fired: The number of times SSmobs has fired + */ +/mob/living/proc/temperature_homeostasis(seconds_per_tick, times_fired) + if(HAS_TRAIT(src, TRAIT_COLD_BLOODED)) + return + if(!HAS_TRAIT(src, TRAIT_NOHUNGER) && nutrition < (NUTRITION_LEVEL_STARVING / 3)) + return + + // find exactly what temperature we're aiming for + var/homeostasis_target = standard_body_temperature + if(LAZYLEN(homeostasis_targets)) + homeostasis_target = 0 + for(var/source in homeostasis_targets) + homeostasis_target += homeostasis_targets[source] + homeostasis_target /= LAZYLEN(homeostasis_targets) + + // temperature delta is capped, so you can't attempt to homeostaize from vacuum to standard temp in a second + var/temp_delta = (homeostasis_target - bodytemperature) + temp_delta = temp_delta < 0 ? max(temp_delta, BODYTEMP_HOMEOSTASIS_COOLING_MAX) : min(temp_delta, BODYTEMP_HOMEOSTASIS_HEATING_MAX) + // note: Because this scales by metabolism efficiency, being well fed boosts your homeostasis, and being poorly fed reduces it + var/natural_change = temp_delta * metabolism_efficiency * temperature_homeostasis_speed + if(natural_change == 0) + return + + var/sigreturn = SEND_SIGNAL(src, COMSIG_LIVING_HOMEOSTASIS, natural_change, seconds_per_tick) + if(sigreturn & HOMEOSTASIS_HANDLED) + return + + var/min = natural_change < 0 ? homeostasis_target : 0 + var/max = natural_change > 0 ? homeostasis_target : INFINITY + // calculates how much nutrition decay per kelvin of temperature change + // while having this scale may be confusing, it's to make sure that stepping into an extremely cold environment (space) + // doesn't immediately drain nutrition to zero in under a minute + // at 0.25 kelvin, nutrition_per_kelvin is 2.5. at 1, it's ~1.5, and at 4, it's 1. + var/nutrition_per_kelvin = round(2.5 / ((abs(natural_change) / 0.25) ** 0.33), 0.01) + + adjust_bodytemperature(natural_change * seconds_per_tick, min_temp = min, max_temp = max) // no use_insulation beacuse this is internal + if(!(sigreturn & HOMEOSTASIS_NO_HUNGER)) + adjust_nutrition(-0.1 * HOMEOSTASIS_HUNGER_MULTIPLIER * HUNGER_FACTOR * nutrition_per_kelvin * abs(natural_change) * seconds_per_tick) + +/mob/living/silicon/temperature_homeostasis(seconds_per_tick, times_fired) + return // Not yet + +/mob/proc/adjust_satiety(change) + satiety = clamp(satiety + change, -MAX_SATIETY, MAX_SATIETY) diff --git a/monkestation/code/modules/temperature_overhaul/temperature_proc.dm b/monkestation/code/modules/temperature_overhaul/temperature_proc.dm new file mode 100644 index 00000000000000..87b53b0a0b6391 --- /dev/null +++ b/monkestation/code/modules/temperature_overhaul/temperature_proc.dm @@ -0,0 +1,121 @@ +#define THERMAL_PROTECTION_HEAD 0.3 +#define THERMAL_PROTECTION_CHEST 0.2 +#define THERMAL_PROTECTION_GROIN 0.10 +#define THERMAL_PROTECTION_LEG (0.075 * 2) +#define THERMAL_PROTECTION_FOOT (0.025 * 2) +#define THERMAL_PROTECTION_ARM (0.075 * 2) +#define THERMAL_PROTECTION_HAND (0.025 * 2) + +/** + * Get the insulation that is appropriate to the temperature you're being exposed to. + * All clothing, natural insulation, and traits are combined returning a single value. + * + * Args + * * temperature - what temperature is being exposed to this mob? + * some articles of clothing are only effective within a certain temperature range + * + * returns the percentage of protection as a value from 0 - 1 +**/ +/mob/living/proc/get_insulation(temperature = T20C) + // There is an occasional bug where the temperature is miscalculated in areas with small amounts of gas. + // This is necessary to ensure that does not affect this calculation. + // Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K. + temperature = max(temperature, TCMB) + + var/thermal_protection_flags = NONE + for(var/obj/item/worn in get_equipped_items()) + var/valid = FALSE + if(isnum(worn.max_heat_protection_temperature) && isnum(worn.min_cold_protection_temperature)) + valid = worn.max_heat_protection_temperature >= temperature && worn.min_cold_protection_temperature <= temperature + + else if (isnum(worn.max_heat_protection_temperature)) + valid = worn.max_heat_protection_temperature >= temperature + + else if (isnum(worn.min_cold_protection_temperature)) + valid = worn.min_cold_protection_temperature <= temperature + + if(valid) + thermal_protection_flags |= worn.body_parts_covered + + var/thermal_protection = temperature_insulation + if(thermal_protection_flags) + if(thermal_protection_flags & HEAD) + thermal_protection += THERMAL_PROTECTION_HEAD + if(thermal_protection_flags & CHEST) + thermal_protection += THERMAL_PROTECTION_CHEST + if(thermal_protection_flags & GROIN) + thermal_protection += THERMAL_PROTECTION_GROIN + if(thermal_protection_flags & LEGS) + thermal_protection += THERMAL_PROTECTION_LEG + if(thermal_protection_flags & FEET) + thermal_protection += THERMAL_PROTECTION_FOOT + if(thermal_protection_flags & ARMS) + thermal_protection += THERMAL_PROTECTION_ARM + if(thermal_protection_flags & HANDS) + thermal_protection += THERMAL_PROTECTION_HAND + + return min(1, thermal_protection) + +#undef THERMAL_PROTECTION_HEAD +#undef THERMAL_PROTECTION_CHEST +#undef THERMAL_PROTECTION_GROIN +#undef THERMAL_PROTECTION_LEG +#undef THERMAL_PROTECTION_FOOT +#undef THERMAL_PROTECTION_ARM +#undef THERMAL_PROTECTION_HAND + +/mob/living/proc/adjust_bodytemperature(amount = 0, min_temp = 0, max_temp = INFINITY, use_insulation = FALSE) + // apply insulation to the amount of change + if(use_insulation) + amount *= (1 - get_insulation(bodytemperature + amount)) + if(amount == 0) + return FALSE + if(amount == 0) + return 0 + amount = round(amount, 0.01) + + if(bodytemperature >= min_temp && bodytemperature <= max_temp) + var/old_temp = bodytemperature + bodytemperature = clamp(bodytemperature + amount, min_temp, max_temp) + SEND_SIGNAL(src, COMSIG_LIVING_BODY_TEMPERATURE_CHANGE, old_temp, bodytemperature) + // body_temperature_alerts() + return bodytemperature - old_temp + return 0 + +// Robot bodytemp unimplemented for now. Add overheating later >:3 +/mob/living/silicon/adjust_bodytemperature(amount, min_temp, max_temp, use_insulation) + return + +/** + * Get the temperature of the skin of the mob + * + * This is a weighted average of the body temperature and the temperature of the air around the mob, + * plus some other modifiers + */ +/mob/living/proc/get_skin_temperature() + var/area_temperature = get_temperature(loc?.return_air()) + if(!(mob_biotypes & MOB_ORGANIC) && !isipc(src)) + // non-organic mobs likely don't feel or regulate temperature + // so we can just report the area temp... probably + // there's an argument to be made for putting the cold blooded check here + return round(area_temperature, 0.01) + + // calculate skin temp based on a weight average between body temp and area temp plus a multiplier + // this weighting gives us about 34.4c for a 37c body temp in a 20c room which is about average + var/insulation = get_insulation(area_temperature) + // converting to celcius as it's easier to work with / multiply on + var/skin_temp = 1.1 * ((KELVIN_TO_CELCIUS(bodytemperature) * 2 + KELVIN_TO_CELCIUS(area_temperature) * (1 - insulation)) / (3 - insulation)) + + if(temperature_homeostasis_speed != 0) // not cold blooded + if(bodytemperature >= standard_body_temperature + 2 CELCIUS) + skin_temp *= 1.1 // vasodilation / sweating + if(bodytemperature <= standard_body_temperature + ((bodytemp_cold_damage_limit - standard_body_temperature) * 0.5)) + skin_temp *= 0.9 // vasoconstriction + + // back to kelvin + . = CELCIUS_TO_KELVIN(skin_temp) + // and if we're on fire just add a flat amount of heat + if(on_fire) + . += fire_stacks ** 2 KELVIN + + return . diff --git a/monkestation/code/modules/the_bird_inside_of_me/icons/armwings.dmi b/monkestation/code/modules/the_bird_inside_of_me/icons/armwings.dmi new file mode 100644 index 00000000000000..52e17f5c7ed989 Binary files /dev/null and b/monkestation/code/modules/the_bird_inside_of_me/icons/armwings.dmi differ diff --git a/monkestation/code/modules/the_bird_inside_of_me/icons/ornithid_parts_greyscale.dmi b/monkestation/code/modules/the_bird_inside_of_me/icons/ornithid_parts_greyscale.dmi new file mode 100644 index 00000000000000..7acbc9ed87a548 Binary files /dev/null and b/monkestation/code/modules/the_bird_inside_of_me/icons/ornithid_parts_greyscale.dmi differ diff --git a/monkestation/code/modules/the_bird_inside_of_me/icons/ornithidfeatures.dmi b/monkestation/code/modules/the_bird_inside_of_me/icons/ornithidfeatures.dmi new file mode 100644 index 00000000000000..32ce5bb7de3719 Binary files /dev/null and b/monkestation/code/modules/the_bird_inside_of_me/icons/ornithidfeatures.dmi differ diff --git a/monkestation/code/modules/the_bird_inside_of_me/language.dm b/monkestation/code/modules/the_bird_inside_of_me/language.dm new file mode 100644 index 00000000000000..36add88dbb6b32 --- /dev/null +++ b/monkestation/code/modules/the_bird_inside_of_me/language.dm @@ -0,0 +1,9 @@ +/datum/language_holder/yangyu + understood_languages = list( + /datum/language/common = list(LANGUAGE_ATOM), + /datum/language/yangyu = list(LANGUAGE_ATOM), + ) + spoken_languages = list( + /datum/language/common = list(LANGUAGE_ATOM), + /datum/language/yangyu = list(LANGUAGE_ATOM), + ) diff --git a/monkestation/code/modules/the_bird_inside_of_me/organs.dm b/monkestation/code/modules/the_bird_inside_of_me/organs.dm new file mode 100644 index 00000000000000..7782e7b09b781a --- /dev/null +++ b/monkestation/code/modules/the_bird_inside_of_me/organs.dm @@ -0,0 +1,123 @@ +/obj/item/organ/internal/tongue/ornithid + name = "avian tongue" + desc = "A seemingly normal looking tongue which causes ones voice to caw. However that works." + say_mod = "caws" + /// Our song datum. + var/datum/song/organ/song + /// How far away our song datum can be heard. + var/instrument_range = 12 + ///our music ability + var/datum/action/innate/singing/sing + ///static list of instruments we can play + var/list/static/allowed_instrument_ids = list("mothscream", "honk", "violin", "guitar", "piano", "recorder", "banjo", "r3grand","r3harpsi","crharpsi","crgrand1","crbright1", "crichugan", "crihamgan") + ///this is our spewer component + var/datum/component/particle_spewer/music_notes/music + +/obj/item/organ/internal/tongue/ornithid/Initialize(mapload) + . = ..() + song = new(src, allowed_instrument_ids, instrument_range) + RegisterSignal(src, COMSIG_INSTRUMENT_START, PROC_REF(start_sound_particles)) + RegisterSignal(src, COMSIG_INSTRUMENT_END, PROC_REF(stop_sound_particles)) + +/obj/item/organ/internal/tongue/ornithid/Destroy() + . = ..() + QDEL_NULL(song) + UnregisterSignal(src, list(COMSIG_INSTRUMENT_START, COMSIG_INSTRUMENT_END)) + +/obj/item/organ/internal/tongue/ornithid/Insert(mob/living/carbon/tongue_owner, special, drop_if_replaced) + . = ..() + if(QDELETED(sing)) + sing = new + sing.Grant(tongue_owner) + +/obj/item/organ/internal/tongue/ornithid/Remove(mob/living/carbon/tongue_owner, special) + . = ..() + sing?.Remove (tongue_owner) + song.stop_playing() + stop_sound_particles() + +/obj/item/organ/internal/tongue/ornithid/proc/start_sound_particles() + if(!music) + music = owner.AddComponent(/datum/component/particle_spewer/music_notes) + +/obj/item/organ/internal/tongue/ornithid/proc/stop_sound_particles() + qdel(owner?.GetComponent(/datum/component/particle_spewer/music_notes)) + music = null + +// subtype for organs, like ornithid tongues +/datum/song/organ + cares_about_distance = FALSE + +/datum/song/organ/updateDialog(mob/user) + var/obj/item/organ/owner = parent + var/mob/living/musician = owner?.owner + ui_interact(musician) + +/datum/song/organ/should_stop_playing(obj/player) + var/obj/item/organ/owner = parent + var/mob/living/musician = owner?.owner + return musician?.stat >= UNCONSCIOUS + +/datum/song/organ/do_hearcheck() + var/obj/item/organ/player = parent + last_hearcheck = world.time + var/list/old = hearing_mobs.Copy() + hearing_mobs.len = 0 + var/turf/source = get_turf(player.owner) + for(var/mob/M in get_hearers_in_view(instrument_range, player.owner)) + hearing_mobs[M] = get_dist(M, source) + var/list/exited = old - hearing_mobs + for(var/i in exited) + terminate_sound_mob(i) + +/datum/action/innate/singing + name = "Sing" + desc = "Mimic an instrument and sing." + check_flags = AB_CHECK_CONSCIOUS|AB_CHECK_IMMOBILE|AB_CHECK_INCAPACITATED + button_icon = 'icons/mob/actions/actions_items.dmi' + button_icon_state = "sing" + +/datum/action/innate/singing/Activate() + var/mob/living/carbon/human/human = owner + var/obj/item/organ/internal/tongue/ornithid/music_maker = human.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!istype(music_maker)) + return + music_maker?.song.ui_interact(human) + + +/datum/component/particle_spewer/music_notes + icon_file = 'goon/icons/effects/particles.dmi' + particle_state = "beamed_eighth" + + unusual_description = "melody" + duration = 2.5 SECONDS + burst_amount = 2 + spawn_interval = 0.75 SECONDS + offsets = FALSE + +/datum/component/particle_spewer/music_notes/animate_particle(obj/effect/abstract/particle/spawned) + var/matrix/first = matrix() + + if(prob(30)) + spawned.icon_state = "eighth" + if(prob(25)) + spawned.icon_state = "quarter" + + spawned.pixel_x += rand(-24, 24) + spawned.pixel_y += rand(-6, 6) + first.Turn(rand(-90, 90)) + spawned.transform = first + + . = ..() + +/datum/component/particle_spewer/music_notes/adjust_animate_steps() + animate_holder.add_animation_step(list(transform = matrix(2, 2, MATRIX_SCALE), time = 0)) + animate_holder.set_transform_type(1, MATRIX_SCALE) + + animate_holder.add_animation_step(list(transform = "RANDOM", alpha = 220, time = 1)) + animate_holder.set_random_var(2, "transform", list(-90, 90)) + animate_holder.set_transform_type(2, MATRIX_ROTATE) + + animate_holder.add_animation_step(list(transform = matrix(), time = "RANDOM", pixel_y = 32, alpha = 1)) + animate_holder.set_parent_copy(3, "pixel_y") + animate_holder.set_random_var(3, "time", list(20, 30)) diff --git a/monkestation/code/modules/the_bird_inside_of_me/plummage.dm b/monkestation/code/modules/the_bird_inside_of_me/plummage.dm new file mode 100644 index 00000000000000..6d06c789118da5 --- /dev/null +++ b/monkestation/code/modules/the_bird_inside_of_me/plummage.dm @@ -0,0 +1,46 @@ +// ear code here +/obj/item/organ/internal/ears/avian + name = "avian ears" + desc = "Senstive, much?" + // yes, this uses the default icon. Yellow TODO: make an organ sprite for this + damage_multiplier = 1.5 // felinids take 2x ear damage, ornithids have other things to worry about (pain increase) so they get 1.5x + +// end ear code. begin plumage code, because external organs are significantly fucking better to work in than internals when it comes to visuals + +/obj/item/organ/external/plumage + name = "Plumage" + desc = "Some feathers to ruffle. Seems the person who lost this definitely had theirs." + preference = "feature_avian_ears" + + icon = 'monkestation/code/modules/the_bird_inside_of_me/icons/ornithidfeatures.dmi' + + dna_block = DNA_AVIAN_EARS_BLOCK // putting this as a reminder to future c*ders, this used to be part of ears. + bodypart_overlay = /datum/bodypart_overlay/mutant/plumage + use_mob_sprite_as_obj_sprite = TRUE + slot = ORGAN_SLOT_EXTERNAL_FEATHERS + +/datum/bodypart_overlay/mutant/plumage + feature_key = "ears_avian" + layers = EXTERNAL_FRONT + color_source = ORGAN_COLOR_OVERRIDE + palette = /datum/color_palette/ornithids + palette_key = "plummage" + fallback_key = "feather_main" + +/datum/bodypart_overlay/mutant/plumage/get_global_feature_list() + return GLOB.avian_ears_list + +/datum/sprite_accessory/plumage + icon = 'monkestation/code/modules/the_bird_inside_of_me/icons/ornithidfeatures.dmi' + +/datum/sprite_accessory/plumage/hermes + name = "Hermes" + icon_state = "hermes" + +/datum/sprite_accessory/plumage/arched + name = "Arched" + icon_state = "arched" + +/* /datum/sprite_accessory/plumage/kresnik // similar to tails (originally!), this is commented out for the time being. + name = "Kresnik" + icon_state = "kresnik" */ diff --git a/monkestation/code/modules/the_bird_inside_of_me/prefs.dm b/monkestation/code/modules/the_bird_inside_of_me/prefs.dm new file mode 100644 index 00000000000000..2eddde9bcc7551 --- /dev/null +++ b/monkestation/code/modules/the_bird_inside_of_me/prefs.dm @@ -0,0 +1,166 @@ +/** + * Generates a basic body icon for a humanoid when given a list of bodyparts + * + * Arguments + * * bodypart_list - list of bodyparts to put on the body. + * The first bodypart in the list becomes the base of the icon, which in most cases doesn't matter, but may for layering. + * * skintone - (optional) skintone of the body. + * Not a hex color, but corresponds to human skintones. + * * dir - (optional) direction of all the icons + */ +/proc/get_basic_body_icon(list/bodypart_list, skintone = "caucasian1", icon_dir = NORTH) + var/icon/base_icon + for(var/obj/item/bodypart/other_bodypart as anything in bodypart_list) + var/icon/generated_icon = icon( + icon = UNLINT(initial(other_bodypart.icon_greyscale)), + icon_state = UNLINT("[initial(other_bodypart.limb_id)]_[initial(other_bodypart.body_zone)][initial(other_bodypart.is_dimorphic) ? "_m" : ""]"), + dir = icon_dir, + ) + generated_icon.Blend(skintone2hex(skintone), ICON_MULTIPLY) + if(isnull(base_icon)) + base_icon = generated_icon + else + base_icon.Blend(generated_icon, ICON_OVERLAY) + + return base_icon + +/proc/generate_ornithid_side_shots(list/sprite_accessories, key, list/sides) + var/list/values = list() + + var/icon/ornithid = icon('icons/mob/species/human/human_face.dmi', "head", EAST) + var/icon/eyes = icon('icons/mob/species/human/human_face.dmi', "eyes", EAST) + eyes.Blend(COLOR_RED, ICON_MULTIPLY) + + ornithid.Blend(eyes, ICON_OVERLAY) + + for (var/name in sprite_accessories) + + var/icon/final_icon = icon(ornithid) + + + final_icon.Crop(11, 20, 23, 32) + final_icon.Scale(32, 32) + final_icon.Blend(COLOR_BLUE_GRAY, ICON_MULTIPLY) + + values[name] = final_icon + + return values + +/datum/preference/choiced/ornithid_wings + main_feature_name = "Arm Wings" + savefile_key = "feature_arm_wings" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_FEATURES + relevant_external_organ = /obj/item/organ/external/wings/functional/arm_wings + should_generate_icons = TRUE + +/datum/preference/choiced/ornithid_wings/init_possible_values() + return assoc_to_keys_features(GLOB.arm_wings_list) + +/datum/preference/choiced/ornithid_wings/init_possible_values() + return possible_values_for_sprite_accessory_list_for_body_part( + GLOB.arm_wings_list, + "arm_wings", + list("FRONT"), + ) + +/datum/preference/choiced/ornithid_wings/apply_to_human(mob/living/carbon/human/target, value) + target.dna.features["arm_wings"] = value + +/datum/preference/choiced/ornithid_wings/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = list("feather_color", "feather_color_secondary", "feather_color_tri") + return data + +/datum/preference/color/feather_color + savefile_key = "feather_color" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES + relevant_inherent_trait = TRAIT_FEATHERED + +/datum/preference/color/feather_color_secondary + savefile_key = "feather_color_secondary" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES + relevant_inherent_trait = TRAIT_FEATHERED + allows_nulls = TRUE + default_null = TRUE + +/datum/preference/color/feather_color_tri + savefile_key = "feather_color_tri" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES + relevant_inherent_trait = TRAIT_FEATHERED + allows_nulls = TRUE + default_null = TRUE + +/datum/preference/color/plummage_color + savefile_key = "plummage_color" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES + relevant_inherent_trait = TRAIT_FEATHERED + allows_nulls = TRUE + default_null = TRUE + +/datum/preference/color/feather_tail_color + savefile_key = "feather_tail_color" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES + relevant_inherent_trait = TRAIT_FEATHERED + allows_nulls = TRUE + default_null = TRUE + +#define X_TAIL_CROP 16 +#define Y_TAIL_CROP 5 + +/datum/preference/choiced/tail_avian + main_feature_name = "Avian Tail" + savefile_key = "feature_avian_tail" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_FEATURES + can_randomize = FALSE + relevant_external_organ = /obj/item/organ/external/tail/avian + should_generate_icons = TRUE + +/datum/preference/choiced/tail_avian/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = "feather_color_secondary" + return data + +/datum/preference/choiced/tail_avian/init_possible_values() + return possible_values_for_sprite_accessory_list_for_body_part( + GLOB.tails_list_avian, + "tail_avian", + list("FRONT", "BEHIND"), + ) + +/datum/preference/choiced/tail_avian/apply_to_human(mob/living/carbon/human/target, value) + target.dna.features["tail_avian"] = value + +/datum/preference/choiced/tail_avian/create_default_value() + return /datum/sprite_accessory/tails/avian::name + +#undef X_TAIL_CROP +#undef Y_TAIL_CROP + +/datum/preference/choiced/plumage + main_feature_name = "Plumage" + savefile_key = "feature_avian_ears" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_FEATURES + can_randomize = FALSE + relevant_external_organ = /obj/item/organ/external/plumage + should_generate_icons = TRUE + +/datum/preference/choiced/plumage/init_possible_values() + return possible_values_for_sprite_accessory_list_for_body_part( + GLOB.avian_ears_list, + "ears_avian", + list("FRONT"), + ) + +/datum/preference/choiced/plumage/apply_to_human(mob/living/carbon/human/target, value) + target.dna.features["ears_avian"] = value + +/datum/preference/choiced/plumage/create_default_value() + return /datum/sprite_accessory/plumage::name diff --git a/monkestation/code/modules/the_bird_inside_of_me/species.dm b/monkestation/code/modules/the_bird_inside_of_me/species.dm new file mode 100644 index 00000000000000..fd3c0d7919c4c0 --- /dev/null +++ b/monkestation/code/modules/the_bird_inside_of_me/species.dm @@ -0,0 +1,165 @@ +/// GLOB list of armwings sprites / options +GLOBAL_LIST_EMPTY(arm_wings_list) +GLOBAL_LIST_EMPTY(arm_wingsopen_list) +/// GLOB list of other features (ears, tails) +GLOBAL_LIST_EMPTY(avian_ears_list) +GLOBAL_LIST_EMPTY(tails_list_avian) + +/datum/species/ornithid + // the biggest bird + name = "\improper Ornithid" + plural_form = "Ornithids" + id = SPECIES_ORNITHID + + inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_FEATHERED, + TRAIT_USES_SKINTONES, + ) + mutanttongue = /obj/item/organ/internal/tongue/ornithid + external_organs = list( + /obj/item/organ/external/wings/functional/arm_wings = "Monochrome", + /obj/item/organ/external/plumage = "Hermes", + /obj/item/organ/external/tail/avian = "Eagle", + ) + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/ornithid, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/ornithid, + BODY_ZONE_HEAD = /obj/item/bodypart/head, // just because they are still *partially* human, or otherwise human resembling + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/ornithid, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/ornithid, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/ornithid, + ) + species_pain_mod = 1.20 // Fuck it, this will fill a niche that isn't implemented yet. + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + digitigrade_customization = DIGITIGRADE_FORCED + + species_cookie = /obj/item/food/semki/healthy // humans get chocolate, lizards get meat. What do birds get? Seed. + meat = /obj/item/food/meat/slab/chicken + skinned_type = /obj/item/stack/sheet/animalhide/human + mutantliver = /obj/item/organ/internal/liver/ornithid + + inert_mutation = /datum/mutation/human/dwarfism + species_language_holder = /datum/language_holder/yangyu // doing this because yangyu is really just, mostly unused otherwise. + color_palette = /datum/color_palette/ornithids + +/datum/species/ornithid/prepare_human_for_preview(mob/living/carbon/human/human) + human.skin_tone = "asian1" + human.hairstyle = "Half-banged Hair" + human.set_haircolor(COLOR_BROWNER_BROWN) + human.update_body(TRUE) + +// defines limbs/bodyparts. + +/obj/item/bodypart/arm/left/ornithid + limb_id = SPECIES_ORNITHID + icon_greyscale = 'monkestation/code/modules/the_bird_inside_of_me/icons/ornithid_parts_greyscale.dmi' + unarmed_attack_verb = "slash" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + + +/obj/item/bodypart/arm/right/ornithid + limb_id = SPECIES_ORNITHID + icon_greyscale = 'monkestation/code/modules/the_bird_inside_of_me/icons/ornithid_parts_greyscale.dmi' + unarmed_attack_verb = "slash" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + +/obj/item/bodypart/chest/ornithid + acceptable_bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + +/obj/item/bodypart/leg/left/ornithid + limb_id = SPECIES_ORNITHID + digitigrade_id = SPECIES_ORNITHID + icon_greyscale = 'monkestation/code/modules/the_bird_inside_of_me/icons/ornithid_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + bodypart_traits = list(TRAIT_HARD_SOLES, TRAIT_NON_IMPORTANT_SHOE_BLOCK) + step_sounds = list( + 'sound/effects/footstep/hardclaw1.ogg', + 'sound/effects/footstep/hardclaw2.ogg', + 'sound/effects/footstep/hardclaw3.ogg', + 'sound/effects/footstep/hardclaw4.ogg', + 'sound/effects/footstep/hardclaw1.ogg', + ) + +/obj/item/bodypart/leg/right/ornithid + limb_id = SPECIES_ORNITHID + digitigrade_id = SPECIES_ORNITHID + icon_greyscale = 'monkestation/code/modules/the_bird_inside_of_me/icons/ornithid_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + bodypart_traits = list(TRAIT_HARD_SOLES, TRAIT_NON_IMPORTANT_SHOE_BLOCK) + step_sounds = list( + 'sound/effects/footstep/hardclaw1.ogg', + 'sound/effects/footstep/hardclaw2.ogg', + 'sound/effects/footstep/hardclaw3.ogg', + 'sound/effects/footstep/hardclaw4.ogg', + 'sound/effects/footstep/hardclaw1.ogg', + ) + +// section for lore/perk descs +/datum/species/ornithid/get_species_description() + return list( + "Ornithids are a collective group of various human descendant, or otherwise resembling, sentient avian beings.", + "Their most well known physical trait are their reduced weight, and feathery \"wings\" protuding from their arms, which they can use to fly.", + "There are countless various types and groups of Ornithids, with a variety of backgrounds both known and unknown by NT. ", + + "Much to the chagrin of the collective, the term \"Ornithid\" is in effect, a dumping ground of the various human-derived avian animalids, making it the second most populous animalid group. \ + Several cultural and geneological groups can fall under this banner, with sometimes only those directly related to eachother baring any resemblance physically.", + + "while countless other groups exist, the three most common ornithid groups known to Nanotrasen are the conniving Izulukin, The wandering Vagrants, and The traditionalist Tengu.", + + "the Izulukin are an infamous bunch, being heavily overrepresented in privateer populations, always hungering for blood and gold. \ + above all else, however, the Izulukin are obsessed with \"Genetic Perfection\", always finding ways to eliminate maladaptive or \"non-beneficial\" genes. \ + this behavior is prevalent in their culture, with many izulukin activating latent genes to given themselves \"Super Powers\" so as to earn an edge in combat, and in culture.", + + "of all the Izulukin's activities, they are most known for their contracts with witches, warlocks, and other dark-mages, binding a living member to a mage, \ + until the bound member perishes, passing on to a chosen descendant should the contract owner perish themself. \ + In addition, another activity they are infamous for is their almost vampiric obsession with the blood of biological organisms, \ + harvesting it to be used in the production of various synthetic proteins, which form the core of their diet.", + + "The third most populous groups are the simply named Vagrants, a typical group of wanderers who have no true home accross the stars, \ + often working as traders, bounty hunters, and other nomadic professions. They are well known for a very effecient style of living, \ + mixing efficient equipment and armor with casual wear, leaving little scraps left to waste.", + + "The most populous of the three groups, the culture of the Tengu bares a striking resemblance to Edo Period Japan on earth, with their primary language, \ + Yangyu, appearing to be based upon Japanese. They have a rigid, class-based society, with one's cultural importance and percieved morality holding more importance than wealth; \ + which unsurprisingly, ends up funneled to the top regardless.", + + "While there are many \"Born\" Tengu, many are cultural immigrants from various portions of the galaxy, most notably those who have fled or been exiled from the Izulukin." + + ) + +/datum/species/ornithid/create_pref_unique_perks() + var/list/to_add = list() + + to_add += list( + list( + SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, + SPECIES_PERK_ICON = "dove", + SPECIES_PERK_NAME = "Airborne", + SPECIES_PERK_DESC = "Is it a bird? is it a plane? Of course its a bird you dumbass, \ + Ornithids are lightweight winged avians, and can, as a result, fly.", + ), + list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "feather", + SPECIES_PERK_NAME = "Lightweights", + SPECIES_PERK_DESC = "As a result of their reduced average weight, \ + Ornithids have a lower alcohol tolerance. Pansies.", + ), + list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "note-medical", + SPECIES_PERK_NAME = "Hyper-Sensitive Nerves", + SPECIES_PERK_DESC = "Ornithids have incredibly sensistive nerves compared to their human counterparts, \ + Taking 1.2x pain, 1.5x damage to their ears, and get stunned for 2x longer when flying.", // the 2x stun length only applies when flying, and is inherited from functional wings. + ), + ) + return to_add + +/obj/item/organ/internal/liver/ornithid + name = "bird liver" + organ_traits = list(TRAIT_LIGHT_DRINKER) diff --git a/monkestation/code/modules/the_bird_inside_of_me/tails.dm b/monkestation/code/modules/the_bird_inside_of_me/tails.dm new file mode 100644 index 00000000000000..db38d91cbd21ff --- /dev/null +++ b/monkestation/code/modules/the_bird_inside_of_me/tails.dm @@ -0,0 +1,34 @@ + + +/obj/item/organ/external/tail/avian + name = "avian tail" + desc = "This tail belongs to an ornithid. Used to." + preference = "feature_avian_tail" + dna_block = DNA_AVIAN_TAIL_BLOCK + bodypart_overlay = /datum/bodypart_overlay/mutant/tail/avian + // I will NOT be adding wagging. for a variety of reasons, chief of which being I am NOT animating all of the sprites + // and because with how bird tails work, this would basically just be twerking. Fuck you. + +/datum/bodypart_overlay/mutant/tail/avian + feature_key = "tail_avian" + layers = EXTERNAL_BEHIND | EXTERNAL_FRONT + color_source = ORGAN_COLOR_OVERRIDE + palette = /datum/color_palette/ornithids + palette_key = "tail" + fallback_key = "feather_main" + +/datum/bodypart_overlay/mutant/tail/avian/get_global_feature_list() + return GLOB.tails_list_avian + +/datum/sprite_accessory/tails/avian + icon = 'monkestation/code/modules/the_bird_inside_of_me/icons/ornithidfeatures.dmi' + +/datum/sprite_accessory/tails/avian/eagle + name = "Eagle" + icon_state = "eagle" + +/datum/sprite_accessory/tails/avian/swallow + name = "Swallow" + icon_state = "swallow" + +// continue additional tails from here diff --git a/monkestation/code/modules/the_bird_inside_of_me/wings.dm b/monkestation/code/modules/the_bird_inside_of_me/wings.dm new file mode 100644 index 00000000000000..4bdd33e48b9c59 --- /dev/null +++ b/monkestation/code/modules/the_bird_inside_of_me/wings.dm @@ -0,0 +1,102 @@ +// begin armwings code +/obj/item/organ/external/wings/functional/arm_wings + name = "Arm Wings" + desc = "They're wings, that go on your arm. Get your chicken wings jokes out now." + dna_block = DNA_ARM_WINGS_BLOCK + bodypart_overlay = /datum/bodypart_overlay/mutant/wings/functional/arm_wings + preference = "feature_arm_wings" + organ_traits = list(TRAIT_TACKLING_WINGED_ATTACKER) + //Yes, because this is a direct sub-type of functional wings, this means its stored on body, and yes, this means if one or both of the arms are dismembered, there will be floating feathers/wings. + //However, there is no "both arms" storage, and having one for each arm is sort of inefficient. Leaving very few methods that could fix this, most of which are harder than what I can do or necessitate a refactor of code. Too Bad! + +/obj/item/organ/external/wings/functional/arm_wings/can_fly(mob/living/carbon/human/human) + if(HAS_TRAIT(human, TRAIT_RESTRAINED)) + to_chat(human, span_warning("You are restrained! You cannot fly!")) + return FALSE + if(human.usable_hands < 2) + to_chat(human, span_warning("You need both of your hands to fly!")) + return FALSE + return ..() + +/datum/movespeed_modifier/arm_wing_flight + multiplicative_slowdown = -0.2 + movetypes = FLOATING|FLYING + +/obj/item/organ/external/wings/functional/arm_wings/toggle_flight(mob/living/carbon/human/human) + if(!HAS_TRAIT_FROM(human, TRAIT_MOVE_FLYING, SPECIES_FLIGHT_TRAIT)) + ADD_TRAIT(human, TRAIT_HANDS_BLOCKED, REF(src)) + human.add_movespeed_modifier(/datum/movespeed_modifier/arm_wing_flight) + else + REMOVE_TRAIT(human, TRAIT_HANDS_BLOCKED, REF(src)) + human.remove_movespeed_modifier(/datum/movespeed_modifier/arm_wing_flight) + return ..() + +/datum/sprite_accessory/arm_wings + icon = 'monkestation/code/modules/the_bird_inside_of_me/icons/armwings.dmi' + + +/datum/sprite_accessory/arm_wingsopen + icon = 'monkestation/code/modules/the_bird_inside_of_me/icons/armwings.dmi' + +/datum/sprite_accessory/arm_wings/monochrome + name = "Monochrome" + icon_state = "monochrome" + +/datum/sprite_accessory/arm_wings/monochrome_short + name = "Short Monochrome" + icon_state = "monochrome_short" + +/datum/sprite_accessory/arm_wings/fluffy + name = "Fluffy" + icon_state = "fluffy" + +/datum/sprite_accessory/arm_wings/tri_colored + name = "Tri-Colored Wings" + icon_state = "triple" + //layers = list("first" = "feather_main", "second" = "feather_secondary", "third" = "feather_tri") + +/datum/sprite_accessory/arm_wings/pursuant + name = "Pursuant" + icon_state = "pursuant" + +/datum/sprite_accessory/arm_wingsopen/monochrome + name = "Monochrome" + icon_state = "monochrome" + +/datum/sprite_accessory/arm_wingsopen/monochrome_short + name = "Short Monochrome" + icon_state = "monochrome_short" + +/datum/sprite_accessory/arm_wingsopen/pursuant + name = "Pursuant" + icon_state = "pursuant" + +/datum/sprite_accessory/arm_wingsopen/fluffy + name = "Fluffy" + icon_state = "fluffy" + +/datum/sprite_accessory/arm_wingsopen/tri_colored + name = "Tri-Colored Wings" + icon_state = "triple" + layers = list("first" = "feather_main", "second" = "feather_secondary", "third" = "feather_tri") + +/datum/bodypart_overlay/mutant/wings/functional/arm_wings + feature_key = "arm_wings" + layers = EXTERNAL_BEHIND | EXTERNAL_ADJACENT | EXTERNAL_FRONT + color_source = ORGAN_COLOR_OVERRIDE + + ///Feature render key for opened arm wings + open_feature_key = "arm_wingsopen" + palette = /datum/color_palette/ornithids + palette_key = "feather_main" + +/datum/bodypart_overlay/mutant/wings/functional/arm_wings/get_global_feature_list() + if(wings_open) + return GLOB.arm_wingsopen_list + else + return GLOB.arm_wings_list + +/datum/bodypart_overlay/mutant/wings/functional/arm_wings/can_draw_on_bodypart(mob/living/carbon/human/human) + if(!(human.wear_suit?.flags_inv & HIDEMUTWINGS)) + return TRUE + return FALSE diff --git a/monkestation/code/modules/the_fabled_dna_changes/dna.dm b/monkestation/code/modules/the_fabled_dna_changes/dna.dm new file mode 100644 index 00000000000000..6dd56105bd8ba6 --- /dev/null +++ b/monkestation/code/modules/the_fabled_dna_changes/dna.dm @@ -0,0 +1,43 @@ +/datum/dna + ///this is our list of color palettes we care about + ///this is typically just for species + var/list/color_palettes + +/datum/dna/New(mob/living/new_holder) + . = ..() + for(var/datum/species/listed_species as anything in typesof(/datum/species)) + if(!initial(listed_species.color_palette)) + continue + var/datum/species/created = new listed_species + color_palettes = list() + color_palettes += created.color_palette + var/datum/color_palette/new_palette = new created.color_palette + if(holder?.client?.prefs) + new_palette.apply_prefs(holder.client.prefs) + color_palettes[created.color_palette] = new_palette + + var/static/list/generic_colors = list(/datum/color_palette/generic_colors) + for(var/datum/color_palette/palette as anything in generic_colors) + color_palettes += palette + var/datum/color_palette/new_palette = new palette + if(holder?.client?.prefs) + new_palette.apply_prefs(holder.client.prefs) + color_palettes[palette] = new_palette + +/datum/dna/proc/apply_color_palettes(datum/preferences/applied) + for(var/datum/species/listed_species as anything in typesof(/datum/species)) + if(!initial(listed_species.color_palette)) + continue + var/datum/species/created = new listed_species + color_palettes = list() + color_palettes += created.color_palette + var/datum/color_palette/new_palette = new created.color_palette + new_palette.apply_prefs(applied) + color_palettes[created.color_palette] = new_palette + + var/static/list/generic_colors = list(/datum/color_palette/generic_colors) + for(var/datum/color_palette/palette as anything in generic_colors) + color_palettes += palette + var/datum/color_palette/new_palette = new palette + new_palette.apply_prefs(applied) + color_palettes[palette] = new_palette diff --git a/monkestation/code/modules/the_fabled_dna_changes/multi_colored_bodyoverlay.dm b/monkestation/code/modules/the_fabled_dna_changes/multi_colored_bodyoverlay.dm new file mode 100644 index 00000000000000..e7f0f4ad838d7a --- /dev/null +++ b/monkestation/code/modules/the_fabled_dna_changes/multi_colored_bodyoverlay.dm @@ -0,0 +1,43 @@ +/datum/bodypart_overlay/mutant/get_overlay(layer, obj/item/bodypart/limb) + inherit_color(limb) + layer = bitflag_to_layer(layer) + if(sprite_datum.layers) + var/mutable_appearance/MA = mutable_appearance(layer = layer) + for(var/state in sprite_datum.layers) + var/mutable_appearance/returned = get_image(layer, limb, state) + color_image(returned, layer, limb, sprite_datum.layers[state]) + MA.overlays += returned + return MA + else + . = get_image(layer, limb) + color_image(., layer, limb) + +///Get the image we need to draw on the person. Called from get_overlay() which is called from _bodyparts.dm. Limb can be null +/datum/bodypart_overlay/mutant/get_image(image_layer, obj/item/bodypart/limb, layer_name) + if(!sprite_datum) + CRASH("Trying to call get_image() on [type] while it didn't have a sprite_datum. This shouldn't happen, report it as soon as possible.") + + var/gender = (limb?.limb_gender == FEMALE) ? "f" : "m" + var/list/icon_state_builder = list() + icon_state_builder += sprite_datum.gender_specific ? gender : "m" //Male is default because sprite accessories are so ancient they predate the concept of not hardcoding gender + if(layer_name) + icon_state_builder += layer_name + icon_state_builder += feature_key + icon_state_builder += get_base_icon_state() + icon_state_builder += mutant_bodyparts_layertext(image_layer) + + var/finished_icon_state = icon_state_builder.Join("_") + + var/mutable_appearance/appearance = mutable_appearance(sprite_datum.icon, finished_icon_state, layer = image_layer) + + if(sprite_datum.center) + center_image(appearance, sprite_datum.dimension_x, sprite_datum.dimension_y) + + return appearance + +/datum/bodypart_overlay/mutant/color_image(image/overlay, layer, obj/item/bodypart/limb, key_name) + if(!key_name) + overlay.color = sprite_datum.color_src ? draw_color : null + else + var/datum/color_palette/located = limb?.owner?.dna?.color_palettes[palette] + overlay.color = located.return_color(key_name, fallback_key) diff --git a/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/_color_pallette.dm b/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/_color_pallette.dm new file mode 100644 index 00000000000000..cf83f9a104b1c5 --- /dev/null +++ b/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/_color_pallette.dm @@ -0,0 +1,25 @@ +/datum/color_palette + var/default_color = "#FFFFFF" + +///override this if you need to check if the color can be applied +/datum/color_palette/proc/is_viable_color(color) + return TRUE + +///this is where we apply colors to our palette from our prefs +/datum/color_palette/proc/apply_prefs(datum/preferences/incoming) + CRASH("Please Override apply_prefs on your color palette") + +///this takes 2 inputs varname and mainvar. mainvar is optional but if varname is null trys to return maincolor +/datum/color_palette/proc/return_color(varname, mainvar) + if(!varname && !mainvar) + return default_color + + var/retrieved_var = vars[varname] + if(!retrieved_var) + if(mainvar) + retrieved_var = vars[mainvar] + if(retrieved_var) + return retrieved_var + return default_color + + return retrieved_var diff --git a/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/generic_palette.dm b/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/generic_palette.dm new file mode 100644 index 00000000000000..eb948ad9fbc4fb --- /dev/null +++ b/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/generic_palette.dm @@ -0,0 +1,13 @@ +/datum/color_palette/generic_colors + var/hair_color + var/mutant_color + var/mutant_color_secondary + var/fur_color + var/ethereal_color + +/datum/color_palette/generic_colors/apply_prefs(datum/preferences/incoming) + hair_color = incoming.read_preference(/datum/preference/color/hair_color) + mutant_color = incoming.read_preference(/datum/preference/color/mutant_color) + mutant_color_secondary = incoming.read_preference(/datum/preference/color/mutant_color_secondary) + fur_color = incoming.read_preference(/datum/preference/color/fur_color) + ethereal_color = GLOB.color_list_ethereal[incoming.read_preference(/datum/preference/choiced/ethereal_color)] diff --git a/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/ornithids.dm b/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/ornithids.dm new file mode 100644 index 00000000000000..9e7d108562d272 --- /dev/null +++ b/monkestation/code/modules/the_fabled_dna_changes/species_color_pallettes/ornithids.dm @@ -0,0 +1,17 @@ +/datum/color_palette/ornithids + default_color = COLOR_AMETHYST + + var/feather_main + var/feather_secondary + var/feather_tri + + var/tail + var/plummage + +/datum/color_palette/ornithids/apply_prefs(datum/preferences/incoming) + feather_main = incoming.read_preference(/datum/preference/color/feather_color) + feather_secondary = incoming.read_preference(/datum/preference/color/feather_color_secondary) + feather_tri = incoming.read_preference(/datum/preference/color/feather_color_tri) + plummage = incoming.read_preference(/datum/preference/color/plummage_color) + tail = incoming.read_preference(/datum/preference/color/feather_tail_color) + diff --git a/monkestation/code/modules/the_wolf_inside_of_me/bodyparts.dm b/monkestation/code/modules/the_wolf_inside_of_me/bodyparts.dm new file mode 100644 index 00000000000000..e5d63be56107c7 --- /dev/null +++ b/monkestation/code/modules/the_wolf_inside_of_me/bodyparts.dm @@ -0,0 +1,130 @@ +///WEREWOLF +/obj/item/bodypart/head/werewolf + limb_id = SPECIES_WEREWOLF + icon_greyscale = 'monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi' + is_dimorphic = FALSE + should_draw_greyscale = TRUE + +/obj/item/bodypart/head/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + burn_modifier = 0.75 + brute_modifier = 0.25 + unarmed_attack_verb = "bite" + //grappled_attack_verb = "maul" + unarmed_attack_effect = ATTACK_EFFECT_BITE + unarmed_attack_sound = 'sound/weapons/bite.ogg' + unarmed_miss_sound = 'sound/weapons/bite.ogg' + unarmed_damage_low = 60 + unarmed_damage_high = 75 + //unarmed_effectiveness = 50 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + head_flags = HEAD_EYESPRITES|HEAD_EYECOLOR|HEAD_EYEHOLES|HEAD_DEBRAIN|HEAD_HAIR + +/obj/item/bodypart/chest/werewolf + limb_id = SPECIES_WEREWOLF + icon_greyscale = 'monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi' + is_dimorphic = TRUE + should_draw_greyscale = TRUE + +/obj/item/bodypart/chest/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + burn_modifier = 0.75 + brute_modifier = 0.25 + dmg_overlay_type = null + biological_state = (BIO_FLESH|BIO_BLOODED) + bodypart_traits = list(TRAIT_NO_JUMPSUIT, TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE) + wing_types = null + acceptable_bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + +/obj/item/bodypart/arm/left/werewolf + limb_id = SPECIES_WEREWOLF + icon_greyscale = 'monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi' + should_draw_greyscale = TRUE + +/obj/item/bodypart/arm/left/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + unarmed_attack_verb = "slash" + //grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + unarmed_damage_low = 20 + unarmed_damage_high = 25 + //unarmed_effectiveness = 20 + burn_modifier = 0.75 + brute_modifier = 0.25 + dmg_overlay_type = null + hand_traits = list(TRAIT_CHUNKYFINGERS) + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/arm/right/werewolf + limb_id = SPECIES_WEREWOLF + icon_greyscale = 'monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi' + should_draw_greyscale = TRUE + +/obj/item/bodypart/arm/right/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + unarmed_attack_verb = "slash" + //grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + unarmed_damage_low = 20 + unarmed_damage_high = 25 + //unarmed_effectiveness = 20 + burn_modifier = 0.75 + brute_modifier = 0.25 + dmg_overlay_type = null + hand_traits = list(TRAIT_CHUNKYFINGERS) + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/left/werewolf + limb_id = SPECIES_WEREWOLF + digitigrade_id = SPECIES_WEREWOLF + icon_greyscale = 'monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi' + should_draw_greyscale = TRUE + bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + burn_modifier = 0.75 + brute_modifier = 0.25 + speed_modifier = 3 + dmg_overlay_type = null + //footstep_type = FOOTSTEP_MOB_CLAW + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/left/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color + +/obj/item/bodypart/leg/right/werewolf + limb_id = SPECIES_WEREWOLF + digitigrade_id = SPECIES_WEREWOLF + icon_greyscale = 'monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi' + should_draw_greyscale = TRUE + bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + burn_modifier = 0.75 + brute_modifier = 0.25 + speed_modifier = 3 + dmg_overlay_type = null + //footstep_type = FOOTSTEP_MOB_CLAW + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/right/werewolf/update_limb(dropping_limb, is_creating) + . = ..() + var/mob/living/carbon/human/wolf = owner + species_color = wolf.hair_color + draw_color = species_color diff --git a/monkestation/code/modules/the_wolf_inside_of_me/icons/mutant_bodyparts.dmi b/monkestation/code/modules/the_wolf_inside_of_me/icons/mutant_bodyparts.dmi new file mode 100644 index 00000000000000..8b9d547aa12163 Binary files /dev/null and b/monkestation/code/modules/the_wolf_inside_of_me/icons/mutant_bodyparts.dmi differ diff --git a/monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi b/monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi new file mode 100644 index 00000000000000..677d2081622e98 Binary files /dev/null and b/monkestation/code/modules/the_wolf_inside_of_me/icons/werewolf_parts_greyscale.dmi differ diff --git a/monkestation/code/modules/the_wolf_inside_of_me/organs.dm b/monkestation/code/modules/the_wolf_inside_of_me/organs.dm new file mode 100644 index 00000000000000..7a844a52e74208 --- /dev/null +++ b/monkestation/code/modules/the_wolf_inside_of_me/organs.dm @@ -0,0 +1,85 @@ +/obj/item/organ/internal/ears/werewolf + name = "wolf ears" + icon = 'icons/obj/clothing/head/costume.dmi' + icon_state = "kitty" + 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 + +/* +/obj/item/organ/internal/ears/werewolf/Insert(mob/living/carbon/receiver, special, drop_if_replaced) + . = ..() + organ_traits = list(TRAIT_GOOD_HEARING) +*/ + +/obj/item/organ/internal/eyes/werewolf + name = "wolf eyes" + desc = "Large and powerful eyes." + sight_flags = SEE_MOBS + color_cutoffs = list(25, 5, 42) + +/obj/item/organ/internal/heart/werewolf + name = "massive heart" + desc = "An absolutely monstrous heart." + icon_state = "heart-on" + base_icon_state = "heart" + maxHealth = 2 * STANDARD_ORGAN_THRESHOLD +/obj/item/organ/internal/heart/wolf/Initialize(mapload) + . = ..() + transform = transform.Scale(1.5) + +/obj/item/organ/internal/liver/werewolf + + name = "Beastly liver" + desc = "A large monstrous liver." + icon_state = "liver" + ///Var for brute healing via blood + var/blood_brute_healing = 2.5 + ///Var for burn healing via blood + var/blood_burn_healing = 2.5 + + +/obj/item/organ/internal/liver/werewolf/handle_chemical(mob/living/carbon/organ_owner, datum/reagent/chem, seconds_per_tick, times_fired) + . = ..() + //parent returned COMSIG_MOB_STOP_REAGENT_CHECK or we are failing + if((. & COMSIG_MOB_STOP_REAGENT_CHECK) || (organ_flags & ORGAN_FAILING)) + return + if(istype(chem, /datum/reagent/silver)) + organ_owner.stamina?.adjust(7.5 * REM * seconds_per_tick) + organ_owner.adjustFireLoss(5.0 * REM * seconds_per_tick, updating_health = TRUE) + + +/obj/item/organ/internal/tongue/werewolf + name = "wolf tongue" + desc = "A large tongue that looks like a mix of a human's and a wolf's." + icon_state = "werewolf_tongue" + icon = 'monkestation/code/modules/the_wolf_inside_of_me/icons/mutant_bodyparts.dmi' + say_mod = "growls" + modifies_speech = TRUE + taste_sensitivity = 5 + //liked_foodtypes = GROSS | MEAT | RAW | GORE + //disliked_foodtypes = SUGAR + +/obj/item/organ/internal/tongue/werewolf/modify_speech(datum/source, list/speech_args) + var/message = speech_args[SPEECH_MESSAGE] + if(message[1] != "*") + + // all occurrences of characters "eiou" (case-insensitive) are replaced with "r" + message = replacetext(message, regex(@"[eiou]", "ig"), "r") + // all characters other than "zhrgbmna .!?-" (case-insensitive) are stripped + message = replacetext(message, regex(@"[^zhrgbmna.!?-\s]", "ig"), "") + // multiple spaces are replaced with a single (whitespace is trimmed) + message = replacetext(message, regex(@"(\s+)", "g"), " ") + + var/list/old_words = splittext(message, " ") + var/list/new_words = list() + for(var/word in old_words) + // lower-case "r" at the end of words replaced with "rh" + word = replacetext(word, regex(@"\lr\b"), "rh") + // an "a" or "A" by itself will be replaced with "hra" + word = replacetext(word, regex(@"\b[Aa]\b"), "hra") + new_words += word + + message = new_words.Join(" ") + message = capitalize(message) + speech_args[SPEECH_MESSAGE] = message diff --git a/monkestation/code/modules/the_wolf_inside_of_me/species.dm b/monkestation/code/modules/the_wolf_inside_of_me/species.dm new file mode 100644 index 00000000000000..7c32d766edb8ec --- /dev/null +++ b/monkestation/code/modules/the_wolf_inside_of_me/species.dm @@ -0,0 +1,71 @@ +/datum/species/werewolf + name = "werewolf" + id = SPECIES_WEREWOLF + inherent_traits = list( + TRAIT_NO_UNDERWEAR, + TRAIT_USES_SKINTONES, + TRAIT_NO_AUGMENTS, + TRAIT_IGNOREDAMAGESLOWDOWN, + TRAIT_PUSHIMMUNE, + TRAIT_STUNIMMUNE, + TRAIT_PRIMITIVE, + TRAIT_CAN_STRIP, + TRAIT_CHUNKYFINGERS, + + ) + mutanttongue = /obj/item/organ/internal/tongue/werewolf + mutantears = /obj/item/organ/internal/ears/werewolf + mutanteyes = /obj/item/organ/internal/eyes/werewolf + mutantbrain = /obj/item/organ/internal/brain/werewolf + mutantliver = /obj/item/organ/internal/liver/werewolf + external_organs = list( + /obj/item/organ/external/tail/cat = "Cat", + ) + skinned_type = /obj/item/stack/sheet/animalhide/human + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING | ITEM_SLOT_SUITSTORE + + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/werewolf, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/werewolf, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/werewolf, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/werewolf, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/werewolf, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/werewolf, + ) + +/obj/item/organ/internal/brain/werewolf/get_attacking_limb(mob/living/carbon/human/target) + name = "werewolf brain" + desc = "a strange mixture of a human and wolf brain" + organ_traits = list(TRAIT_PRIMITIVE, TRAIT_CAN_STRIP) + + if(target.body_position == LYING_DOWN) + return owner.get_bodypart(BODY_ZONE_HEAD) + return ..() + +/datum/species/werewolf/prepare_human_for_preview(mob/living/carbon/human/human) + human.hair_color = "#bb9966" // brown + human.hairstyle = "Business Hair" + +/datum/species/werewolf/get_species_description() + return "N/A" + +/datum/species/werewolf/create_pref_unique_perks() + var/list/to_add = list() + + to_add += list( + list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "paw", + SPECIES_PERK_NAME = "Primal Primate", + SPECIES_PERK_DESC = "Werewolves are monstrous humans, and can't do most things a human can do. Computers are impossible, \ + complex machines are right out, and most clothes don't fit your larger form.", + ), + list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "assistive-listening-systems", + SPECIES_PERK_NAME = "Sensitive Hearing", + SPECIES_PERK_DESC = "Werewolves are more sensitive to loud sounds, such as flashbangs.", + )) + + return to_add diff --git a/monkestation/code/modules/virology/disease/base_disease_folder/_base.dm b/monkestation/code/modules/virology/disease/base_disease_folder/_base.dm index fcb845a452ef9e..7223a5f4e57765 100644 --- a/monkestation/code/modules/virology/disease/base_disease_folder/_base.dm +++ b/monkestation/code/modules/virology/disease/base_disease_folder/_base.dm @@ -208,7 +208,7 @@ GLOBAL_LIST_INIT(virusDB, list()) e.run_effect(mob, src) //fever is a reaction of the body's immune system to the infection. The higher the antibody concentration (and the disease still not cured), the higher the fever - if (mob.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)//but we won't go all the way to burning up just because of a fever, probably + if (mob.bodytemperature < mob.bodytemp_heat_damage_limit - 15)//but we won't go all the way to burning up just because of a fever, probably var/fever = round((robustness / 100) * (immune_data[2] / 10) * (stage / max_stages)) switch (mob.mob_size) if (MOB_SIZE_TINY) diff --git a/monkestation/code/modules/virology/disease/symtoms/stage1.dm b/monkestation/code/modules/virology/disease/symtoms/stage1.dm index 570c72e4c37738..1c2493f2c63fe4 100644 --- a/monkestation/code/modules/virology/disease/symtoms/stage1.dm +++ b/monkestation/code/modules/virology/disease/symtoms/stage1.dm @@ -357,6 +357,8 @@ Heal(mob, effectiveness) /datum/symptom/water_heal/proc/CanHeal(mob/living/M) + if(!M) + return 1 var/base = 0 if(M.fire_stacks < 0) M.adjust_fire_stacks(min(absorption_coeff, -M.fire_stacks)) @@ -476,13 +478,13 @@ if(prob(5)) to_chat(M, span_notice("You feel yourself absorbing plasma inside and around you...")) - var/target_temp = M.get_body_temp_normal() + var/target_temp = M.standard_body_temperature if(M.bodytemperature > target_temp) - M.adjust_bodytemperature(-20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) + M.adjust_bodytemperature(-2 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT, target_temp) if(prob(5)) to_chat(M, span_notice("You feel less hot.")) - else if(M.bodytemperature < (M.get_body_temp_normal() + 1)) - M.adjust_bodytemperature(20 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT, 0, target_temp) + else if(M.bodytemperature < (M.standard_body_temperature + 1)) + M.adjust_bodytemperature(2 * temp_rate * TEMPERATURE_DAMAGE_COEFFICIENT, 0, target_temp) if(prob(5)) to_chat(M, span_notice("You feel warmer.")) diff --git a/monkestation/code/modules/virology/disease/symtoms/stage2.dm b/monkestation/code/modules/virology/disease/symtoms/stage2.dm index e00750ca7466f7..fff17b2a05a9e2 100644 --- a/monkestation/code/modules/virology/disease/symtoms/stage2.dm +++ b/monkestation/code/modules/virology/disease/symtoms/stage2.dm @@ -90,15 +90,13 @@ /datum/symptom/fridge/proc/set_body_temp(mob/living/mob) if(multiplier >= 3) // when unsafe the shivers can cause cold damage - mob.add_body_temperature_change("chills", -6 * power * multiplier) + mob.add_homeostasis_level(type, -6, 0.25 KELVIN * power) else - // Get the max amount of change allowed before going under cold damage limit, then cap the maximum allowed temperature change from safe chills to 5 over the cold damage limit - var/change_limit = min(mob.get_body_temp_cold_damage_limit() + 5 - mob.get_body_temp_normal(apply_change=FALSE), 0) - mob.add_body_temperature_change("chills", max(-6 * power * multiplier, change_limit)) + mob.add_homeostasis_level(type, -6 * power, 0.25 KELVIN * power) /datum/symptom/fridge/deactivate(mob/living/carbon/mob) if(mob) - mob.remove_body_temperature_change("chills") + mob.remove_homeostasis_level(type) /datum/symptom/hair name = "Hair Loss" diff --git a/monkestation/code/modules/virology/immune_systems/_immune_system.dm b/monkestation/code/modules/virology/immune_systems/_immune_system.dm index 13901bb1662fab..db38ba1c9ea967 100644 --- a/monkestation/code/modules/virology/immune_systems/_immune_system.dm +++ b/monkestation/code/modules/virology/immune_systems/_immune_system.dm @@ -41,7 +41,7 @@ antibodies[antibody] = rand(10, 30) * boost if(antibody in GLOB.blood_antigens) antibodies[antibody] = rand(10, 20) * boost - var/blood_type = host.has_dna()?.blood_type + var/blood_type = host.has_dna()?.human_blood_type if(blood_type) switch(antibody) if(ANTIGEN_O) diff --git a/monkestation/code/modules/virology/machines/floor_health_scanner.dm b/monkestation/code/modules/virology/machines/floor_health_scanner.dm index 939b1009bc9a77..ceab3c6ee25d32 100644 --- a/monkestation/code/modules/virology/machines/floor_health_scanner.dm +++ b/monkestation/code/modules/virology/machines/floor_health_scanner.dm @@ -1,9 +1,10 @@ /obj/machinery/health_scanner_floor - name = "floor scanner" + name = "Vitals Scanning Pad" desc = "Gives patients a brief medical overview by stepping on it." icon_state = "floor_scanner" icon = 'monkestation/code/modules/virology/icons/virology.dmi' + circuit = /obj/item/circuitboard/machine/vital_floor_scanner density = FALSE anchored = TRUE @@ -26,7 +27,9 @@ vis_contents += maptext_obj var/static/list/connections = list( + COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON = PROC_REF(on_entered), COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_exited), ) AddElement(/datum/element/connect_loc, connections) AddElement(/datum/element/elevation, 4) @@ -51,10 +54,17 @@ arrived.visual_masked_scan() maptext_obj.maptext = generate_maptext(arrived) + set_occupant(arrived) animate(maptext_obj, 0.25 SECONDS, maptext_y = 32, easing = BOUNCE_EASING) addtimer(CALLBACK(src, PROC_REF(clear_maptext)), 3 SECONDS) +/obj/machinery/health_scanner_floor/proc/on_exited(datum/source, atom/movable/departed) + SIGNAL_HANDLER + if(occupant != departed) + return + set_occupant(null) + /obj/machinery/health_scanner_floor/proc/clear_maptext() maptext_obj.maptext = null maptext_obj.maptext_y = 0 diff --git a/monkestation/icons/mob/anime/anime_bottom.dmi b/monkestation/icons/mob/anime/anime_bottom.dmi index 870e13fc46dd7e..9da4a806305fdf 100644 Binary files a/monkestation/icons/mob/anime/anime_bottom.dmi and b/monkestation/icons/mob/anime/anime_bottom.dmi differ diff --git a/monkestation/icons/mob/anime/anime_head.dmi b/monkestation/icons/mob/anime/anime_head.dmi index 2c3773ce7c7dbf..80e3ecb4feeb61 100644 Binary files a/monkestation/icons/mob/anime/anime_head.dmi and b/monkestation/icons/mob/anime/anime_head.dmi differ diff --git a/monkestation/icons/mob/anime/anime_head32x48.dmi b/monkestation/icons/mob/anime/anime_head32x48.dmi index 3237d345d15684..19f55db54c7191 100644 Binary files a/monkestation/icons/mob/anime/anime_head32x48.dmi and b/monkestation/icons/mob/anime/anime_head32x48.dmi differ diff --git a/monkestation/icons/mob/anime/anime_middle.dmi b/monkestation/icons/mob/anime/anime_middle.dmi index 214b32d9d6f9e5..3765843911e83a 100644 Binary files a/monkestation/icons/mob/anime/anime_middle.dmi and b/monkestation/icons/mob/anime/anime_middle.dmi differ diff --git a/monkestation/icons/mob/species/ethereal/ethereal_tail.dmi b/monkestation/icons/mob/species/ethereal/ethereal_tail.dmi index 3774c4c41b031b..abbd8f730602c0 100644 Binary files a/monkestation/icons/mob/species/ethereal/ethereal_tail.dmi and b/monkestation/icons/mob/species/ethereal/ethereal_tail.dmi differ diff --git a/monkestation/icons/mob/species/ipc/ipc_antennas.dmi b/monkestation/icons/mob/species/ipc/ipc_antennas.dmi index 5880237edf04b9..63adaed3817639 100644 Binary files a/monkestation/icons/mob/species/ipc/ipc_antennas.dmi and b/monkestation/icons/mob/species/ipc/ipc_antennas.dmi differ diff --git a/monkestation/icons/mob/species/simian/tails.dmi b/monkestation/icons/mob/species/simian/tails.dmi index 907cabbfd03f09..67fa393fd1a7bd 100644 Binary files a/monkestation/icons/mob/species/simian/tails.dmi and b/monkestation/icons/mob/species/simian/tails.dmi differ diff --git a/monkestation/icons/obj/ranching/eggs.dmi b/monkestation/icons/obj/ranching/eggs.dmi index 714af45d0a5fb1..37aff01871d30b 100644 Binary files a/monkestation/icons/obj/ranching/eggs.dmi and b/monkestation/icons/obj/ranching/eggs.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 2d267cbe8ce163..8951d0ea3c93e2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -406,6 +406,7 @@ #include "code\__DEFINES\~monkestation\atmospherics.dm" #include "code\__DEFINES\~monkestation\atom_hud.dm" #include "code\__DEFINES\~monkestation\blackboard.dm" +#include "code\__DEFINES\~monkestation\blood_datums.dm" #include "code\__DEFINES\~monkestation\blueshift.dm" #include "code\__DEFINES\~monkestation\botany.dm" #include "code\__DEFINES\~monkestation\cargo.dm" @@ -589,6 +590,7 @@ #include "code\__HELPERS\~monkestation-helpers\announcements.dm" #include "code\__HELPERS\~monkestation-helpers\antags.dm" #include "code\__HELPERS\~monkestation-helpers\atoms.dm" +#include "code\__HELPERS\~monkestation-helpers\blood_datums.dm" #include "code\__HELPERS\~monkestation-helpers\clients.dm" #include "code\__HELPERS\~monkestation-helpers\cmp.dm" #include "code\__HELPERS\~monkestation-helpers\icon_smoothing.dm" @@ -654,7 +656,6 @@ #include "code\_onclick\hud\alien_larva.dm" #include "code\_onclick\hud\blob_overmind.dm" #include "code\_onclick\hud\blobbernaut.dm" -#include "code\_onclick\hud\credits.dm" #include "code\_onclick\hud\drones.dm" #include "code\_onclick\hud\fullscreen.dm" #include "code\_onclick\hud\generic_dextrous.dm" @@ -1364,7 +1365,6 @@ #include "code\datums\elements\attack_equip.dm" #include "code\datums\elements\backblast.dm" #include "code\datums\elements\bane.dm" -#include "code\datums\elements\basic_body_temp_sensitive.dm" #include "code\datums\elements\basic_eating.dm" #include "code\datums\elements\beauty.dm" #include "code\datums\elements\bed_tucking.dm" @@ -4610,7 +4610,6 @@ #include "code\modules\mob\living\carbon\alien\adult\adult_update_icons.dm" #include "code\modules\mob\living\carbon\alien\adult\alien_powers.dm" #include "code\modules\mob\living\carbon\alien\adult\death.dm" -#include "code\modules\mob\living\carbon\alien\adult\life.dm" #include "code\modules\mob\living\carbon\alien\adult\queen.dm" #include "code\modules\mob\living\carbon\alien\adult\caste\drone.dm" #include "code\modules\mob\living\carbon\alien\adult\caste\hunter.dm" @@ -5462,6 +5461,7 @@ #include "code\modules\surgery\advanced\bioware\nerve_grounding.dm" #include "code\modules\surgery\advanced\bioware\nerve_splicing.dm" #include "code\modules\surgery\advanced\bioware\vein_threading.dm" +#include "code\modules\surgery\bodyparts\_arms.dm" #include "code\modules\surgery\bodyparts\_bodyparts.dm" #include "code\modules\surgery\bodyparts\digitigrade.dm" #include "code\modules\surgery\bodyparts\dismemberment.dm" @@ -5482,12 +5482,9 @@ #include "code\modules\surgery\organs\autosurgeon.dm" #include "code\modules\surgery\organs\ears.dm" #include "code\modules\surgery\organs\eyes.dm" -#include "code\modules\surgery\organs\heart.dm" #include "code\modules\surgery\organs\helpers.dm" -#include "code\modules\surgery\organs\liver.dm" #include "code\modules\surgery\organs\lungs.dm" #include "code\modules\surgery\organs\organ_internal.dm" -#include "code\modules\surgery\organs\tongue.dm" #include "code\modules\surgery\organs\vocal_cords.dm" #include "code\modules\surgery\organs\external\_external_organs.dm" #include "code\modules\surgery\organs\external\restyling.dm" @@ -5496,6 +5493,11 @@ #include "code\modules\surgery\organs\external\wings\functional_wings.dm" #include "code\modules\surgery\organs\external\wings\moth_wings.dm" #include "code\modules\surgery\organs\external\wings\wings.dm" +#include "code\modules\surgery\organs\internal\heart\_heart.dm" +#include "code\modules\surgery\organs\internal\liver\_liver.dm" +#include "code\modules\surgery\organs\internal\liver\liver_plasmamen.dm" +#include "code\modules\surgery\organs\internal\liver\liver_skeleton.dm" +#include "code\modules\surgery\organs\internal\tongue\_tongue.dm" #include "code\modules\surgery\organs\stomach\_stomach.dm" #include "code\modules\surgery\organs\stomach\stomach_ethereal.dm" #include "code\modules\tgchat\message.dm" @@ -5977,6 +5979,10 @@ #include "monkestation\code\game\turfs\open\water.dm" #include "monkestation\code\game\turfs\open\floor\misc_floor.dm" #include "monkestation\code\modules\_paperwork\paper_premade.dm" +#include "monkestation\code\modules\a_medical_day\internal_bleeding.dm" +#include "monkestation\code\modules\a_medical_day\lungless.dm" +#include "monkestation\code\modules\a_medical_day\surgery.dm" +#include "monkestation\code\modules\a_medical_day\thermics.dm" #include "monkestation\code\modules\a_ship_in_need_of_breaking\area.dm" #include "monkestation\code\modules\a_ship_in_need_of_breaking\scrap.dm" #include "monkestation\code\modules\a_ship_in_need_of_breaking\machines\console.dm" @@ -6017,11 +6023,13 @@ #include "monkestation\code\modules\aesthetics\objects\windows.dm" #include "monkestation\code\modules\aesthetics\subsystem\coloring.dm" #include "monkestation\code\modules\aesthetics\walls\iron.dm" +#include "monkestation\code\modules\and_roll_credits\_credits.dm" +#include "monkestation\code\modules\and_roll_credits\credits_subsystem.dm" +#include "monkestation\code\modules\and_roll_credits\episode_names.dm" #include "monkestation\code\modules\antagonists\_common\antag_datum.dm" #include "monkestation\code\modules\antagonists\_common\antag_hud.dm" #include "monkestation\code\modules\antagonists\abductor\abductor.dm" #include "monkestation\code\modules\antagonists\abductor\equipment\gear\abductor_items.dm" -#include "monkestation\code\modules\antagonists\abductor\equipment\glands\blood.dm" #include "monkestation\code\modules\antagonists\abductor\equipment\glands\plasma.dm" #include "monkestation\code\modules\antagonists\abductor\equipment\glands\slime.dm" #include "monkestation\code\modules\antagonists\abductor\equipment\glands\trauma.dm" @@ -6331,6 +6339,17 @@ #include "monkestation\code\modules\ballpit\ballpit.dm" #include "monkestation\code\modules\bitrunners\code\ability_disks.dm" #include "monkestation\code\modules\bitrunners\code\combat_gear_disks.dm" +#include "monkestation\code\modules\blood_datum\blood.dm" +#include "monkestation\code\modules\blood_datum\debilitated.dm" +#include "monkestation\code\modules\blood_datum\designs.dm" +#include "monkestation\code\modules\blood_datum\forensics_helpers.dm" +#include "monkestation\code\modules\blood_datum\stunning.dm" +#include "monkestation\code\modules\blood_datum\components\item_receiver.dm" +#include "monkestation\code\modules\blood_datum\components\limbless_aid.dm" +#include "monkestation\code\modules\blood_datum\elements\easy_ignite.dm" +#include "monkestation\code\modules\blood_datum\items\crutch.dm" +#include "monkestation\code\modules\blood_datum\vital_monitor\operating_table_additions.dm" +#include "monkestation\code\modules\blood_datum\vital_monitor\vital_reader.dm" #include "monkestation\code\modules\blood_for_the_blood_gods\fly_away.dm" #include "monkestation\code\modules\blood_for_the_blood_gods\particle.dm" #include "monkestation\code\modules\blood_for_the_blood_gods\slasher\__base_slasher_additions.dm" @@ -6768,6 +6787,7 @@ #include "monkestation\code\modules\can_spessmen_feel_pain\elements\temperature_pack.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\_base.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\bodyparts.dm" +#include "monkestation\code\modules\can_spessmen_feel_pain\pain\designs.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\effects.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\helpers.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\item_helpers.dm" @@ -6785,7 +6805,6 @@ #include "monkestation\code\modules\can_spessmen_feel_pain\pain\reagents\painkiller_related.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\reagents\painkillers.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\status_effects\anesthetics.dm" -#include "monkestation\code\modules\can_spessmen_feel_pain\pain\status_effects\fire_pain.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\status_effects\low_blood_pressure.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\status_effects\min_pain.dm" #include "monkestation\code\modules\can_spessmen_feel_pain\pain\status_effects\pain_limp.dm" @@ -7319,24 +7338,15 @@ #include "monkestation\code\modules\mob\living\carbon\human\species_type\abductors.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\android.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\arachnid.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\dullahan.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\ethereal.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\floran.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\flypeople.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\goblin.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\golems.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\humans.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\jellypeople.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\lizardpeople.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\monkeys.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\mothmen.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\plasmamen.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\podpeople.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\shadowpeople.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\simian.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\skeletons.dm" #include "monkestation\code\modules\mob\living\carbon\human\species_type\teratoma.dm" -#include "monkestation\code\modules\mob\living\carbon\human\species_type\zombies.dm" #include "monkestation\code\modules\mob\living\silicon\death.dm" #include "monkestation\code\modules\mob\living\simple_animal\megafauna\wendigo.dm" #include "monkestation\code\modules\mob\living\simple_animal\pets\bees.dm" @@ -7910,6 +7920,25 @@ #include "monkestation\code\modules\surgery\organs\internal\stomach.dm" #include "monkestation\code\modules\surgery\organs\internal\tongue.dm" #include "monkestation\code\modules\syndicate_ghostroles\listeningpost.dm" +#include "monkestation\code\modules\temperature_overhaul\exposure.dm" +#include "monkestation\code\modules\temperature_overhaul\homeostasis_level.dm" +#include "monkestation\code\modules\temperature_overhaul\living_procs.dm" +#include "monkestation\code\modules\temperature_overhaul\temperature_proc.dm" +#include "monkestation\code\modules\the_bird_inside_of_me\language.dm" +#include "monkestation\code\modules\the_bird_inside_of_me\organs.dm" +#include "monkestation\code\modules\the_bird_inside_of_me\plummage.dm" +#include "monkestation\code\modules\the_bird_inside_of_me\prefs.dm" +#include "monkestation\code\modules\the_bird_inside_of_me\species.dm" +#include "monkestation\code\modules\the_bird_inside_of_me\tails.dm" +#include "monkestation\code\modules\the_bird_inside_of_me\wings.dm" +#include "monkestation\code\modules\the_fabled_dna_changes\dna.dm" +#include "monkestation\code\modules\the_fabled_dna_changes\multi_colored_bodyoverlay.dm" +#include "monkestation\code\modules\the_fabled_dna_changes\species_color_pallettes\_color_pallette.dm" +#include "monkestation\code\modules\the_fabled_dna_changes\species_color_pallettes\generic_palette.dm" +#include "monkestation\code\modules\the_fabled_dna_changes\species_color_pallettes\ornithids.dm" +#include "monkestation\code\modules\the_wolf_inside_of_me\bodyparts.dm" +#include "monkestation\code\modules\the_wolf_inside_of_me\organs.dm" +#include "monkestation\code\modules\the_wolf_inside_of_me\species.dm" #include "monkestation\code\modules\trading\box_rolling.dm" #include "monkestation\code\modules\trading\lootbox_buying.dm" #include "monkestation\code\modules\trading\lootbox_clothing.dm" diff --git a/tgui/packages/tgui/interfaces/ColorPickerModal.tsx b/tgui/packages/tgui/interfaces/ColorPickerModal.tsx index ff7a79706dec4f..75e5082f0f362b 100644 --- a/tgui/packages/tgui/interfaces/ColorPickerModal.tsx +++ b/tgui/packages/tgui/interfaces/ColorPickerModal.tsx @@ -9,6 +9,7 @@ import { useBackend, useLocalState } from '../backend'; import { Autofocus, Box, + Button, Flex, Section, Stack, @@ -45,7 +46,7 @@ type ColorPickerData = { }; export const ColorPickerModal = (_) => { - const { data } = useBackend(); + const { act, data } = useBackend(); const { timeout, message, @@ -84,6 +85,7 @@ export const ColorPickerModal = (_) => { + diff --git a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx index bfea132ec0efd6..7e4dd61b66d2de 100644 --- a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx +++ b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx @@ -647,6 +647,43 @@ const FoodtypeContent = (props) => { const RecipeContentCompact = ({ item, craftable, busy, mode }) => { const { act, data } = useBackend(); + + // Function to handle pushing steps (unchanged) + const specialSteps = [ + 'Optional Steps', + 'End Optional Steps', + 'Exclusive Optional Steps', + 'End Exclusive Optional Steps', + 'Optional Step', + 'End Optional Step', + ]; + + const groupedSteps: string[] = []; + let previousStep = ''; + let duplicateCount = 0; + + const pushStep = (step: string, count: number) => { + const stepText = count > 1 ? `${step} x${count}` : step; + groupedSteps.push(stepText); + }; + + item.steps?.forEach((step) => { + const trimmedStep = step.trim(); + if (trimmedStep === previousStep) { + duplicateCount++; + } else { + if (duplicateCount > 0) { + pushStep(previousStep, duplicateCount); + } + previousStep = trimmedStep; + duplicateCount = 1; + } + }); + + if (duplicateCount > 0) { + pushStep(previousStep, duplicateCount); + } + return (
@@ -665,27 +702,31 @@ const RecipeContentCompact = ({ item, craftable, busy, mode }) => { {item.name} - {Array.from( - Object.keys(item.reqs).map((atom_id) => { - const name = data.atom_data[(atom_id as any) - 1]?.name; - const is_reagent = - data.atom_data[(atom_id as any) - 1]?.is_reagent; - const amount = item.reqs[atom_id]; - return is_reagent - ? `${name}\xa0${amount}u` - : amount > 1 - ? `${name}\xa0${amount}x` - : name; - }), - ).join(', ')} + {Array.isArray(item.reqs) && + Object.keys(item.reqs).length > 0 && + Object.keys(item.reqs) + .map((atom_id) => { + const name = data.atom_data?.[(atom_id as any) - 1]?.name; + const is_reagent = + data.atom_data?.[(atom_id as any) - 1]?.is_reagent; + const amount = item.reqs[atom_id]; + return is_reagent + ? `${name}\xa0${amount}u` + : amount > 1 + ? `${name}\xa0${amount}x` + : name; + }) + .join(', ')} {item.chem_catalysts && + Object.keys(item.chem_catalysts).length > 0 && ', ' + Object.keys(item.chem_catalysts) .map((atom_id) => { - const name = data.atom_data[(atom_id as any) - 1]?.name; + const name = + data.atom_data?.[(atom_id as any) - 1]?.name; const is_reagent = - data.atom_data[(atom_id as any) - 1]?.is_reagent; + data.atom_data?.[(atom_id as any) - 1]?.is_reagent; const amount = item.chem_catalysts[atom_id]; return is_reagent ? `${name}\xa0${amount}u` @@ -696,19 +737,24 @@ const RecipeContentCompact = ({ item, craftable, busy, mode }) => { .join(', ')} {item.tool_paths && + item.tool_paths.length > 0 && ', ' + item.tool_paths - .map((item) => data.atom_data[(item as any) - 1]?.name) + .map((item) => data.atom_data?.[(item as any) - 1]?.name) .join(', ')} + {item.machinery && + item.machinery.length > 0 && ', ' + item.machinery - .map((item) => data.atom_data[(item as any) - 1]?.name) + .map((item) => data.atom_data?.[(item as any) - 1]?.name) .join(', ')} + {item.structures && + item.structures.length > 0 && ', ' + item.structures - .map((item) => data.atom_data[(item as any) - 1]?.name) + .map((item) => data.atom_data?.[(item as any) - 1]?.name) .join(', ')} @@ -746,8 +792,8 @@ const RecipeContentCompact = ({ item, craftable, busy, mode }) => { ) : ( item.steps && ( ( - {step} + content={groupedSteps.map((step, index) => ( + {step} ))} > diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx index d888bdf3d3136d..f15cbd6b51a4f0 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/MainPage.tsx @@ -83,8 +83,8 @@ const ChoicedSelection = (props: { name: string; catalog: FeatureChoicedServerData; selected: string; - supplementalFeature?: string; - supplementalValue?: unknown; + supplementalFeatures?: string[]; // Now an array of features + supplementalValues?: unknown[]; // Now an array of values onClose: () => void; onSelect: (value: string) => void; searchText: string; @@ -94,8 +94,8 @@ const ChoicedSelection = (props: { const { catalog, - supplementalFeature, - supplementalValue, + supplementalFeatures = [], + supplementalValues = [], searchText, setSearchText, } = props; @@ -108,10 +108,6 @@ const ChoicedSelection = (props: { return name; }); - const use_small_supplemental = - supplementalFeature && - (features[supplementalFeature].small_supplemental === true || - features[supplementalFeature].small_supplemental === undefined); return ( - {supplementalFeature && use_small_supplemental && ( - - - - )} - + {/* Handle small supplemental features */} + {supplementalFeatures.map((feature, index) => { + const use_small_supplemental = + features[feature]?.small_supplemental ?? true; + return ( + use_small_supplemental && ( + + + + ) + ); + })} - {supplementalFeature && !use_small_supplemental && ( - <> - - - Select {features[supplementalFeature].name} + {/* Handle larger supplemental features */} + {supplementalFeatures.map((feature, index) => { + const use_small_supplemental = + features[feature]?.small_supplemental ?? true; + return ( + !use_small_supplemental && ( + + + + Select {features[feature].name} + + + + + - - - - - - )} + ) + ); + })} @@ -320,7 +329,7 @@ const GenderButton = (props: { const MainFeature = (props: { catalog: FeatureChoicedServerData & { name: string; - supplemental_feature?: string; + supplemental_feature?: string | string[]; // Allow string or array of strings }; currentValue: string; isOpen: boolean; @@ -343,11 +352,24 @@ const MainFeature = (props: { setRandomization, } = props; - const supplementalFeature = catalog.supplemental_feature; + // Normalize supplementalFeature to always be an array + const supplementalFeatures = Array.isArray(catalog.supplemental_feature) + ? catalog.supplemental_feature + : catalog.supplemental_feature + ? [catalog.supplemental_feature] + : []; + + const supplementalValues = supplementalFeatures.map((feature) => + feature + ? data.character_preferences.supplemental_features[feature] + : undefined, + ); + let [searchText, setSearchText] = useLocalState( catalog.name + '_choiced_search', '', ); + const handleCloseInternal = () => { handleClose(); setSearchText(''); @@ -365,13 +387,8 @@ const MainFeature = (props: { name={catalog.name} catalog={catalog} selected={currentValue} - supplementalFeature={supplementalFeature} - supplementalValue={ - supplementalFeature && - data.character_preferences.supplemental_features[ - supplementalFeature - ] - } + supplementalFeatures={supplementalFeatures} // Pass array of features + supplementalValues={supplementalValues} // Pass array of values onClose={handleCloseInternal} onSelect={handleSelect} searchText={searchText} @@ -418,7 +435,6 @@ const MainFeature = (props: { position: 'absolute', right: '1px', }, - onOpen: (event) => { // We're a button inside a button. // Did you know that's against the W3C standard? :) diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/monkestation/ornithids.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/monkestation/ornithids.tsx new file mode 100644 index 00000000000000..9dac1222e5c677 --- /dev/null +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/monkestation/ornithids.tsx @@ -0,0 +1,86 @@ +import { + Feature, + FeatureChoiced, + FeatureColorInput, + FeatureDropdownInput, +} from '../../base'; + +export const feature_arm_wings: FeatureChoiced = { + name: 'Arm Wings', + small_supplemental: false, + component: FeatureDropdownInput, +}; + +export const feather_color: Feature = { + name: 'Feather Color', + small_supplemental: true, + description: + "The color of your character's feathers. \ + (Armwings, Plumage).", + component: FeatureColorInput, +}; + +export const feather_color_secondary: Feature = { + name: 'Feather Color Secondary', + small_supplemental: true, + description: + "The color of your character's feathers. \ + (Armwings, Plumage).", + component: FeatureColorInput, +}; + +export const feather_color_tri: Feature = { + name: 'Feather Color Tri', + small_supplemental: true, + description: + "The color of your character's feathers. \ + (Armwings, Plumage).", + component: FeatureColorInput, +}; + +export const feather_tail_color: Feature = { + name: 'Tail Color', + small_supplemental: false, + description: + "The color of your character's tail feathers. \ + (Armwings, Plumage).", + component: FeatureColorInput, +}; + +export const plummage_color: Feature = { + name: 'Plummage Color', + small_supplemental: false, + description: + "The color of your character's plummage. \ + (Armwings, Plumage).", + component: FeatureColorInput, +}; +export const feature_avian_tail: FeatureChoiced = { + name: 'Tail', + small_supplemental: false, + component: FeatureDropdownInput, +}; + +export const feature_avian_ears: FeatureChoiced = { + name: 'Plumage', + small_supplemental: false, + component: FeatureDropdownInput, +}; + +export const feature_satyr_horns: FeatureChoiced = { + name: 'Satyr Horns', + small_supplemental: false, + component: FeatureDropdownInput, +}; + +export const feature_satyr_fluff: FeatureChoiced = { + name: 'Satyr Fluff', + small_supplemental: false, + component: FeatureDropdownInput, +}; + +export const feature_satyr_tail: FeatureChoiced = { + name: 'Tail', + small_supplemental: false, + component: FeatureDropdownInput, +};