diff --git a/SQL/database_changelog.md b/SQL/database_changelog.md index def6732b205..12b2e47340a 100644 --- a/SQL/database_changelog.md +++ b/SQL/database_changelog.md @@ -2,22 +2,39 @@ Any time you make a change to the schema files, remember to increment the databa Make sure to also update `DB_MAJOR_VERSION` and `DB_MINOR_VERSION`, which can be found in `code/__DEFINES/subsystem.dm`. -The latest database version is 5.34 (for bubberstation) (5.32 for /tg/); The query to update the schema revision table is: +The latest database version is 5.35 (for bubberstation) (5.33 for /tg/); The query to update the schema revision table is: ```sql -INSERT INTO `schema_revision` (`major`, `minor`) VALUES (5, 34); +INSERT INTO `schema_revision` (`major`, `minor`) VALUES (5, 35); ``` or ```sql -INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (5, 34); +INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (5, 35); ``` In any query remember to add a prefix to the table names if you use one. --- +Version 5.33, 28 September 2025, by Atlanta-Ned +Modifies manifest ckey column to be consistent with other ckey columns + +```sql +ALTER TABLE manifest + MODIFY ckey VARCHAR(32) NOT NULL; +``` + +The prefixed connection log SQL schema also specified a `varchar(45)` ckey column. This SQL will modify that: + +```sql +ALTER TABLE connection_log + MODIFY ckey VARCHAR(32) NOT NULL; +``` + +--- + Version 5.32, 31 May 2025, by TealSeer Change column name of `manifest` table because `character` is a reserved word. diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql index 75cf0786144..d1e6dd9e520 100644 --- a/SQL/tgstation_schema.sql +++ b/SQL/tgstation_schema.sql @@ -141,7 +141,7 @@ CREATE TABLE `connection_log` ( `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) unsigned NOT NULL, `round_id` int(11) unsigned NULL, - `ckey` varchar(45) DEFAULT NULL, + `ckey` varchar(32) DEFAULT NULL, `ip` int(10) unsigned NOT NULL, `computerid` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) @@ -311,7 +311,7 @@ CREATE TABLE `manifest` ( `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) NOT NULL, `round_id` int(11) NOT NULL, - `ckey` text NOT NULL, + `ckey` varchar(32) NOT NULL, `character_name` text NOT NULL, `job` text NOT NULL, `special` text DEFAULT NULL, diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql index ca9c87cccc5..e20120952e6 100644 --- a/SQL/tgstation_schema_prefixed.sql +++ b/SQL/tgstation_schema_prefixed.sql @@ -140,7 +140,7 @@ CREATE TABLE `SS13_connection_log` ( `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) unsigned NOT NULL, `round_id` int(11) unsigned NOT NULL, - `ckey` varchar(45) DEFAULT NULL, + `ckey` varchar(32) DEFAULT NULL, `ip` int(10) unsigned NOT NULL, `computerid` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) @@ -309,7 +309,7 @@ CREATE TABLE `SS13_manifest` ( `server_ip` int(10) unsigned NOT NULL, `server_port` smallint(5) NOT NULL, `round_id` int(11) NOT NULL, - `ckey` text NOT NULL, + `ckey` varchar(32) NOT NULL, `character_name` text NOT NULL, `job` text NOT NULL, `special` text DEFAULT NULL, diff --git a/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm index 03a5efc398f..7acaedcc50c 100644 --- a/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm +++ b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm @@ -879,7 +879,6 @@ }, /obj/item/coin/gold, /obj/item/vending_refill/donksnackvendor, -/obj/item/circuitboard/machine/vending/donksnackvendor, /turf/open/floor/catwalk_floor/iron_dark, /area/ruin/space/has_grav/hauntedtradingpost/public) "hL" = ( @@ -4345,10 +4344,6 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/hauntedtradingpost/public/corridor) "LI" = ( -/obj/item/circuitboard/machine/vending/donksofttoyvendor{ - pixel_y = -2; - pixel_x = -6 - }, /obj/effect/decal/cleanable/glass, /turf/open/floor/carpet/donk, /area/ruin/space/has_grav/hauntedtradingpost/employees) diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 91c1feb2545..95b96c5f4b3 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -139,9 +139,9 @@ /area/awaymission/cabin) "aE" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/baseturf_helper/asteroid/snow, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/power/turbine/inlet_compressor, /turf/open/floor/plating, /area/awaymission/cabin) "aF" = ( @@ -198,17 +198,10 @@ /turf/open/floor/carpet, /area/awaymission/cabin) "aQ" = ( -/obj/structure{ - anchored = 1; - density = 1; - desc = "Generates power from lava!"; - dir = 1; - icon = 'icons/obj/pipes_n_cables/simple.dmi'; - icon_state = "compressor"; - name = "geothermal generator" - }, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/power/turbine/core_rotor, +/obj/structure/cable, /turf/open/floor/plating, /area/awaymission/cabin) "aR" = ( @@ -701,17 +694,9 @@ /turf/open/floor/plating, /area/awaymission/cabin) "dv" = ( -/obj/structure{ - anchored = 1; - density = 1; - desc = "Generates power from lava!"; - icon = 'icons/obj/pipes_n_cables/simple.dmi'; - icon_state = "turbine"; - name = "geothermal generator" - }, -/obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/power/turbine/turbine_outlet, /turf/open/floor/plating, /area/awaymission/cabin) "dC" = ( @@ -5109,6 +5094,11 @@ /obj/effect/decal/cleanable/molten_object/large, /turf/open/misc/asteroid/snow/snow_cabin, /area/awaymission/cabin/caves) +"SW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/baseturf_helper/asteroid/snow, +/turf/open/floor/plating, +/area/awaymission/cabin) "To" = ( /obj/effect/decal/cleanable/blood/old, /obj/item/hatchet/wooden, @@ -36321,7 +36311,7 @@ vh xt an aw -ed +SW ed hv an diff --git a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm index f6c85f0ddc4..46ab46e0700 100644 --- a/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm +++ b/_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm @@ -98,16 +98,19 @@ /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"abv" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/table, +/obj/machinery/computer/records/medical/laptop{ + pixel_y = 4 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "abE" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"abF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/service/theater) "abI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/shaft_miner, @@ -192,6 +195,12 @@ }, /turf/open/misc/asteroid, /area/station/science/robotics) +"acU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "acV" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/table, @@ -209,14 +218,17 @@ /obj/item/trash/tray, /turf/open/water, /area/station/maintenance/starboard/fore) +"ado" = ( +/obj/machinery/light/directional/west, +/turf/open/openspace, +/area/station/engineering/break_room) +"adv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "adC" = ( /turf/open/openspace, /area/station/maintenance/hallway/abandoned_recreation) -"adI" = ( -/obj/machinery/shieldgen, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/engine, -/area/station/engineering/break_room) "adU" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -240,13 +252,11 @@ }, /turf/open/openspace, /area/station/science/xenobiology) -"aep" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"aej" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "aeq" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -256,6 +266,14 @@ }, /turf/open/floor/iron/white/textured_edge, /area/station/medical/surgery) +"aeO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/holopad, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "afg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -355,17 +373,39 @@ "afR" = ( /turf/open/openspace, /area/station/hallway/primary/aft) +"afS" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "afV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/mess) +"agh" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/break_room) "agy" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/science/server) +"agz" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/engineering/lobby) "agF" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -380,15 +420,6 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"aht" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/openspace, -/area/station/engineering/lobby) "ahC" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ dir = 8 @@ -415,6 +446,12 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/hallway/primary/aft) +"ahT" = ( +/obj/effect/landmark/event_spawn, +/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/engine_smes) "ahU" = ( /obj/effect/turf_decal/delivery, /obj/effect/spawner/random/vending/snackvend, @@ -498,13 +535,6 @@ /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, /area/station/cargo/storage) -"aiU" = ( -/obj/item/kirbyplants/random/fullysynthetic, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "aiY" = ( /obj/structure/railing{ dir = 1 @@ -513,38 +543,11 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ajo" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"ajp" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "ajB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"ajG" = ( -/obj/machinery/light/directional/west, -/obj/structure/table, -/obj/item/clothing/suit/apron/chef, -/obj/item/knife{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/clothing/head/utility/chefhat{ - pixel_x = -5; - pixel_y = 12 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "ajI" = ( /obj/structure/table, /obj/item/taperecorder{ @@ -638,6 +641,13 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"akK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "akL" = ( /obj/machinery/telecomms/server/presets/engineering, /obj/effect/turf_decal/tile/yellow/fourcorners, @@ -658,13 +668,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"akU" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "akW" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 4 @@ -716,6 +719,13 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"alk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "als" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -737,6 +747,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"alE" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/elevator_control_panel/directional/east{ + linked_elevator_id = "catwalk_cafe"; + name = "Feeding Elevator Controller"; + pixel_x = 0; + pixel_y = 26; + preset_destination_names = list("2"="Lower Deck","3"="Upper Deck") + }, +/obj/structure/sign/directions/upload/directional/north{ + desc = "It stands for Up Le Dable"; + dir = 2; + name = "Button Indicator"; + pixel_y = 40 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "alF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table_frame, @@ -806,9 +839,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/textured_half, /area/station/ai_monitored/turret_protected/aisat/foyer) -"amH" = ( -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) "amJ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -817,16 +847,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"amN" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "amU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/assistant, @@ -861,10 +881,26 @@ }, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"anB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/vending/engivend, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "anG" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/openspace, /area/station/security/detectives_office) +"anJ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "anY" = ( /turf/open/floor/engine/hull/air, /area/station/maintenance/port/fore) @@ -873,6 +909,13 @@ /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"aor" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "aoz" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -909,16 +952,6 @@ }, /turf/open/floor/wood, /area/station/ai_monitored/command/storage/eva) -"apf" = ( -/obj/machinery/light/warm/dim/directional/north, -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/wood, -/area/station/service/bar) "api" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/weather/snow, @@ -927,17 +960,41 @@ "apo" = ( /turf/open/openspace, /area/station/command/corporate_showroom) +"apr" = ( +/obj/structure/lattice/catwalk, +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/water, +/area/station/maintenance/port/fore) +"apA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "CO2 Multideck Adapter"; + dir = 4 + }, +/obj/machinery/meter{ + name = "C02 meter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "apE" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"apH" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +"apI" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "Chief Engineers Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/command/heads_quarters/ce) "apK" = ( /turf/closed/wall/r_wall, /area/station/security/range) @@ -955,6 +1012,13 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"apX" = ( +/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/north, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "aqa" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -995,6 +1059,15 @@ /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"aqy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/station/engineering/main) "aqD" = ( /turf/open/floor/iron/white/smooth_large, /area/station/security/prison) @@ -1034,14 +1107,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/medical/coldroom) -"ars" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "arv" = ( /obj/structure/table, /obj/item/healthanalyzer{ @@ -1082,6 +1147,12 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/wood, /area/station/service/chapel) +"arL" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "arN" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law{ @@ -1101,29 +1172,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"asj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"ask" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/structure/railing/corner, -/obj/effect/landmark/start/cook, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/glass, -/area/station/service/kitchen) -"aso" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "asx" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -1180,12 +1228,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"atb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "ati" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "outerbrig"; @@ -1206,25 +1248,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"atl" = ( -/obj/structure/table, -/obj/item/stamp/denied{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/stamp/granted{ - pixel_x = 9; - pixel_y = 8 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/pen{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) "atm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -1232,18 +1255,6 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer4, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"ats" = ( -/obj/structure/lattice/catwalk, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/openspace, -/area/station/engineering/break_room) -"att" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/atmospherics, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "atA" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -1279,19 +1290,14 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/aft) +"auf" = ( +/obj/structure/ladder, +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_recreation) "aug" = ( /obj/machinery/vending/games, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"aum" = ( -/obj/structure/sign/poster/official/random/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/sofa/right/brown{ - dir = 4 - }, -/obj/structure/window/reinforced/tinted/frosted/spawner/directional/west, -/turf/open/floor/wood/large, -/area/station/service/library) "aun" = ( /obj/structure/chair{ dir = 4 @@ -1332,10 +1338,38 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig) -"auO" = ( -/obj/structure/broken_flooring/side/directional/north, +"auP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"auQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/library) +"auS" = ( +/obj/item/toy/plush/moth{ + name = "Goofy Greg"; + pixel_x = 3; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/toy/plush/moth{ + name = "Crimes Reynald"; + pixel_x = -2; + pixel_y = 14 + }, +/obj/structure/sign/poster/contraband/mothic_rations/directional/west, +/obj/structure/sign/poster/official/moth_piping/directional/north, +/obj/structure/broken_flooring/pile/directional/west, /turf/open/floor/plating, -/area/station/engineering/storage_shared) +/area/station/maintenance/starboard/aft) "auX" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -1344,15 +1378,24 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/brig) +"avb" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/closed/wall, +/area/station/service/kitchen) "avc" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/cargo/storage) -"avK" = ( -/obj/structure/cable/multilayer/multiz, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) +"avd" = ( +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "avY" = ( /obj/item/storage/medkit/regular{ pixel_x = 3; @@ -1485,15 +1528,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"ayw" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "SM_shutters"; - name = "Supermatter Radiation Shutters" - }, -/obj/machinery/atmospherics/components/binary/pump/off/cyan/visible, -/obj/effect/turf_decal/trimline/blue, -/turf/open/floor/plating, -/area/station/engineering/supermatter) "ayA" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -1525,12 +1559,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"ayP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "ayR" = ( /obj/structure/table, /obj/item/storage/crayons{ @@ -1582,6 +1610,12 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/carpet, /area/station/command/bridge) +"azD" = ( +/obj/structure/railing{ + dir = 10 + }, +/turf/open/openspace, +/area/station/hallway/primary/central) "azI" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -1611,6 +1645,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) +"azX" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Dormitories - Lower Entrance" + }, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "aAb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1640,13 +1680,10 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter) -"aAD" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, +"aAC" = ( +/obj/machinery/vending/cigarette, /turf/open/floor/iron, -/area/station/engineering/storage_shared) +/area/station/hallway/secondary/exit/departure_lounge) "aAI" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment{ @@ -1675,6 +1712,10 @@ /obj/structure/cable, /turf/open/openspace, /area/station/hallway/primary/port) +"aBv" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/break_room) "aBy" = ( /obj/structure/table/wood, /obj/machinery/fax{ @@ -1689,6 +1730,12 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"aBK" = ( +/obj/effect/turf_decal/siding/dark/corner{ + dir = 8 + }, +/turf/open/openspace, +/area/station/service/kitchen) "aBN" = ( /obj/structure/railing{ dir = 9 @@ -1713,19 +1760,6 @@ /obj/machinery/rnd/destructive_analyzer, /turf/open/floor/iron, /area/station/science/research) -"aBR" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/vending/dinnerware, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "aBV" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/wood, @@ -1757,12 +1791,6 @@ }, /turf/open/floor/glass, /area/station/security/brig) -"aCp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "aCv" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -1798,13 +1826,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"aCV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/bar/directional/west, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "aDh" = ( /obj/structure/rack, /obj/item/cardboard_cutout{ @@ -1816,6 +1837,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"aDj" = ( +/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/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, +/area/station/commons/lounge) "aDm" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/machinery/holopad, @@ -1824,6 +1859,13 @@ dir = 1 }, /area/station/medical/morgue) +"aDp" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "aDF" = ( /obj/structure/reagent_dispensers/watertank, /obj/structure/railing{ @@ -1846,15 +1888,11 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"aDL" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +"aDN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "aDO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -1894,17 +1932,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/explab) -"aEz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/generic, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light_switch/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"aEr" = ( +/obj/machinery/atmospherics/components/binary/pump/off{ + dir = 8; + name = "O2 To Port" }, -/obj/structure/closet/firecloset, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "aEO" = ( /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, @@ -1924,6 +1959,13 @@ "aEZ" = ( /turf/open/floor/iron, /area/station/science/breakroom) +"aFc" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "aFg" = ( /turf/open/openspace, /area/station/maintenance/starboard/aft) @@ -1931,17 +1973,14 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"aFk" = ( +/obj/structure/sign/clock/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "aFm" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"aFo" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "aFt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -1982,6 +2021,13 @@ dir = 4 }, /area/station/hallway/primary/fore) +"aFQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/computer/atmos_control/nitrous_tank{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "aFV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, @@ -1997,11 +2043,6 @@ }, /turf/open/openspace, /area/station/command/bridge) -"aGa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "aGb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2013,24 +2054,51 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/hallway/secondary/entry) -"aGB" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/glass, -/obj/item/phone{ - pixel_x = -3; - pixel_y = 3 +"aGp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/openspace, -/area/station/engineering/break_room) -"aGC" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"aGG" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/station/engineering/lobby) +"aGL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Bar Backroom" + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "aGR" = ( /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) +"aGX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/rnd/production/protolathe/department/engineering, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) +"aHc" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "SM_Outside_shutters"; + name = 4 + }, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "aHe" = ( /obj/machinery/button/door/directional/west{ id = "Cabin5"; @@ -2045,6 +2113,19 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) +"aHm" = ( +/obj/structure/railing, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/hallway/primary/central) "aHo" = ( /obj/structure/safe, /obj/item/storage/fancy/pickles_jar, @@ -2105,6 +2186,17 @@ }, /turf/open/floor/carpet, /area/station/security/courtroom) +"aIt" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/camera/autoname/directional/west, +/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/engineering/storage_shared) "aIA" = ( /obj/structure/railing{ dir = 8 @@ -2130,54 +2222,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/security/brig) -"aIG" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/item/storage/box/lights/mixed{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock{ - pixel_x = -6; - pixel_y = -4 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/structure/table/reinforced, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) -"aIL" = ( -/obj/effect/spawner/random/entertainment/gambling{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/deck{ - pixel_x = -7; - pixel_y = 13 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) -"aIO" = ( -/obj/machinery/vending/wardrobe/jani_wardrobe, -/obj/item/reagent_containers/cup/bucket{ - pixel_x = -7; - pixel_y = -13 - }, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/directional/north, -/turf/open/floor/carpet, -/area/station/service/janitor) "aIP" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/item/stack/sheet/mineral/wood{ @@ -2199,6 +2243,9 @@ /obj/item/storage/cans/sixbeer, /turf/open/openspace, /area/station/commons/fitness/recreation) +"aJj" = ( +/turf/open/floor/carpet/stellar, +/area/station/service/library) "aJl" = ( /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, @@ -2224,6 +2271,11 @@ "aJE" = ( /turf/open/floor/engine/hull/air, /area/station/maintenance/port) +"aJM" = ( +/obj/structure/lattice/catwalk, +/obj/structure/ladder, +/turf/open/openspace, +/area/station/maintenance/port/fore) "aJQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -2233,12 +2285,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance/storage) -"aJR" = ( -/obj/structure/broken_flooring/corner/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "aJV" = ( /obj/effect/spawner/random/food_or_drink, /turf/open/floor/plating, @@ -2268,6 +2314,12 @@ }, /turf/open/floor/iron/airless, /area/station/maintenance/starboard/aft) +"aKq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "aKz" = ( /obj/structure/railing{ dir = 8 @@ -2303,29 +2355,13 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/iron/dark, /area/station/science/cytology) -"aKJ" = ( -/obj/effect/turf_decal/siding/red{ - dir = 8 +"aKR" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"aKV" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"aLa" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/engineering/lobby) "aLd" = ( /turf/open/floor/glass/airless, /area/station/maintenance/starboard/lesser) @@ -2343,10 +2379,15 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"aLu" = ( -/obj/effect/landmark/event_spawn, -/turf/open/openspace, -/area/station/service/library) +"aLE" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight{ + pixel_y = 8 + }, +/obj/machinery/light/small/blacklight/directional/north, +/turf/open/floor/eighties/red, +/area/station/maintenance/hallway/abandoned_recreation) "aLJ" = ( /turf/open/floor/carpet, /area/station/security/courtroom) @@ -2357,12 +2398,6 @@ /obj/structure/lattice, /turf/open/space/openspace, /area/space/nearstation) -"aLS" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/railing/corner/end, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "aLT" = ( /obj/machinery/computer/records/medical{ dir = 1 @@ -2379,6 +2414,13 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) +"aLX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/engineering/lobby) "aLY" = ( /obj/item/stack/cable_coil{ pixel_y = -12 @@ -2393,17 +2435,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"aMb" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/engineering/general, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "aMd" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -2431,6 +2462,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"aMs" = ( +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"aMw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "aMz" = ( /obj/item/restraints/legcuffs/beartrap/prearmed, /turf/open/floor/plating, @@ -2461,14 +2500,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"aMP" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ - dir = 1; - initialize_directions = 1 - }, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "aNb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2482,6 +2513,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/zoo) +"aNf" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "aNg" = ( /obj/structure/chair/sofa/corner/brown, /obj/item/instrument/eguitar, @@ -2489,25 +2527,6 @@ /obj/machinery/light/small/broken/directional/east, /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) -"aNn" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/openspace, -/area/station/engineering/break_room) -"aNs" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ - dir = 4 - }, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) -"aNw" = ( -/obj/machinery/computer/atmos_control{ - dir = 1 - }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "aNB" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -2536,16 +2555,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"aNS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - n2o Cell"; - name = "atmospherics camera" - }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) "aNT" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -2557,13 +2566,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/space_hut) -"aNW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "aOj" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/trimline/purple/filled/line, @@ -2576,6 +2578,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"aOn" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "aOs" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy, @@ -2588,16 +2596,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"aOO" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/structure/sign/warning/radiation/rad_area/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "aOQ" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -2622,6 +2620,15 @@ /obj/item/gavelhammer, /turf/open/floor/wood, /area/station/security/courtroom) +"aPr" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "aPv" = ( /obj/structure/railing/corner{ dir = 8 @@ -2687,18 +2694,14 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"aQu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"aQw" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/bookbinder, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/glass, -/area/station/service/kitchen) +/area/station/service/library) "aQx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -2710,6 +2713,13 @@ /obj/structure/table, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"aQL" = ( +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/disposalpipe/segment, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "aQM" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/siding/brown{ @@ -2717,10 +2727,21 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"aQZ" = ( -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/iron/stairs/medium, -/area/station/maintenance/disposal/incinerator) +"aQW" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen_counter"; + name = "Kitchen Counter Shutters" + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/wood/large, +/area/station/service/kitchen) "aRa" = ( /obj/effect/turf_decal/trimline/red/corner{ dir = 1 @@ -2757,33 +2778,33 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"aRW" = ( +/obj/machinery/requests_console/directional/west, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "aSd" = ( /obj/structure/window/reinforced/tinted/spawner/directional/east, /obj/machinery/shower/directional/east, /obj/item/razor, /turf/open/floor/iron/freezer, /area/station/commons/dorms) -"aSj" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"aSk" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/engine, -/area/station/engineering/atmos/upper) "aSq" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"aSv" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +"aSz" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 4 + }, +/obj/structure/window/reinforced/tinted/frosted/spawner/directional/west, +/turf/open/floor/glass/reinforced, +/area/station/service/library) +"aSB" = ( +/turf/open/floor/engine/hull/air, +/area/station/engineering/break_room) "aSD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2873,6 +2894,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"aTV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 6 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "aTW" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/effect/turf_decal/trimline/red/filled/warning{ @@ -2917,20 +2945,13 @@ }, /turf/open/floor/glass, /area/station/security/brig) -"aUB" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/structure/holosign/barrier/engineering, -/turf/open/openspace, -/area/station/engineering/atmos/project) "aUD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/holopad, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/lobby) "aUF" = ( /obj/effect/spawner/random/maintenance, /obj/structure/rack, @@ -2955,20 +2976,6 @@ }, /turf/open/floor/carpet, /area/station/ai_monitored/command/storage/eva) -"aUR" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/access/any/engineering/atmos, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) -"aUU" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library) "aUV" = ( /obj/structure/table/reinforced, /obj/item/screwdriver{ @@ -2979,6 +2986,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"aUW" = ( +/obj/machinery/air_sensor/air_tank, +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/upper) "aUY" = ( /obj/structure/rack, /obj/item/storage/box/firingpins{ @@ -3022,11 +3034,16 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/central) -"aVw" = ( -/obj/structure/lattice/catwalk, -/obj/item/kirbyplants/random, -/turf/open/openspace, -/area/station/engineering/break_room) +"aVo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hop_office, +/obj/structure/cable, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "aVy" = ( /obj/structure/sign/directions/security/directional/north{ dir = 2; @@ -3038,6 +3055,15 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/engineering/lobby) +"aVG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/siding/red/corner{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "aVI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3074,17 +3100,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine/hull/air, /area/station/maintenance/port/fore) -"aWa" = ( -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "aWb" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -3094,10 +3109,6 @@ /obj/machinery/power/tracker, /turf/open/space/basic, /area/station/solars/starboard/fore) -"aWg" = ( -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/engine/air, -/area/station/engineering/atmos/upper) "aWk" = ( /obj/machinery/light/directional/west, /obj/machinery/camera/autoname/directional/west{ @@ -3152,16 +3163,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"aWO" = ( -/obj/item/spear, -/obj/effect/decal/cleanable/blood/old, -/obj/item/clothing/gloves/color/rainbow, -/obj/item/clothing/shoes/sneakers/rainbow, -/obj/item/clothing/under/color/rainbow, -/obj/item/clothing/head/soft/rainbow, -/obj/effect/decal/remains/human, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "aWP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/smooth_large, @@ -3182,11 +3183,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"aXd" = ( -/obj/structure/lattice/catwalk, -/obj/structure/grille, -/turf/open/space/openspace, -/area/space/nearstation) "aXe" = ( /turf/closed/wall, /area/station/service/theater) @@ -3242,11 +3238,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"aYa" = ( -/obj/machinery/light_switch/directional/east, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine/hull/air, -/area/station/engineering/break_room) "aYk" = ( /obj/structure/easel, /obj/item/canvas/twentythree_twentythree{ @@ -3382,6 +3373,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, /area/station/security/courtroom) +"aZY" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/siding/red/corner{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "bam" = ( /obj/machinery/duct, /obj/structure/cable, @@ -3401,11 +3399,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"baz" = ( -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "baA" = ( /obj/machinery/light/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -3459,6 +3452,15 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/security/eva) +"bbO" = ( +/obj/item/flashlight/flashdark{ + name = "Envy Flashlight" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "bbV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc/auto_name/directional/west, @@ -3466,18 +3468,6 @@ /obj/effect/mapping_helpers/apc/unlocked, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"bbY" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Restaurant" - }, -/turf/open/floor/carpet, -/area/station/commons/lounge) "bcg" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 1 @@ -3485,25 +3475,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/bridge) -"bch" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"bcj" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/warm/dim/directional/east, -/turf/open/floor/wood, -/area/station/commons/lounge) "bcl" = ( /obj/effect/turf_decal/siding/dark{ dir = 4 @@ -3556,6 +3527,11 @@ dir = 1 }, /area/station/science/ordnance/storage) +"bdh" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "bdi" = ( /obj/machinery/light/directional/south, /obj/structure/rack, @@ -3564,11 +3540,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/security/armory) -"bdu" = ( -/obj/machinery/vending/boozeomat, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/wood, -/area/station/service/bar) "bdw" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -3685,10 +3656,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"bfw" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/table, -/turf/open/floor/wood, +"bfu" = ( +/obj/effect/turf_decal/siding/wood, +/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/wood/large, /area/station/service/library) "bfx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3713,25 +3689,22 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"bfO" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters{ - id = "actualcommissaryshutter"; - name = "Vacant Commissary Shutter" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "bgm" = ( /obj/structure/stairs/south, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"bgp" = ( -/obj/structure/grille, -/turf/open/openspace, -/area/station/maintenance/starboard/fore) +"bgz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table, +/obj/effect/landmark/event_spawn, +/obj/item/chisel{ + pixel_x = 7; + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "bgA" = ( /obj/machinery/suit_storage_unit{ storage_type = /obj/item/clothing/shoes/magboots @@ -3746,12 +3719,6 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) -"bgF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "bgT" = ( /obj/structure/railing{ dir = 8 @@ -3769,6 +3736,20 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"bgY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "bhc" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -3787,14 +3768,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) -"bhu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/cigbutt, -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "bhJ" = ( /obj/structure/easel, /turf/open/floor/plating, @@ -3814,17 +3787,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"bia" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ - cable_layer = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 5 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "bic" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -3855,6 +3817,9 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) +"biB" = ( +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "biG" = ( /obj/structure/railing/corner/end{ dir = 4 @@ -3920,18 +3885,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"bja" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "bji" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3941,6 +3894,13 @@ "bjq" = ( /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"bjA" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/service/theater_dressing) "bjD" = ( /obj/effect/spawner/random/maintenance, /obj/structure/rack, @@ -4025,13 +3985,6 @@ }, /turf/open/floor/iron/small, /area/station/security/mechbay) -"bld" = ( -/obj/effect/turf_decal/tile/dark_green{ - dir = 1 - }, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "blh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/trunk/multiz{ @@ -4065,26 +4018,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"blA" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Bar" - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/bar, -/turf/open/floor/wood, -/area/station/commons/lounge) -"blC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "blD" = ( /obj/structure/closet/crate/engineering/electrical, /obj/item/stack/sheet/glass/fifty, @@ -4140,19 +4073,6 @@ /obj/effect/turf_decal/trimline/green/filled/corner, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"blS" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) "bmc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -4177,34 +4097,10 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"bmh" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ - dir = 8 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "bmx" = ( /obj/structure/transport/linear/public, /turf/open/openspace, /area/station/security/brig) -"bmD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/turf/open/floor/wood, -/area/station/hallway/primary/central) -"bmH" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks, -/obj/machinery/light/directional/north, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/wood, -/area/station/service/bar) "bmI" = ( /obj/machinery/door/window/brigdoor/security/holding/left/directional/south{ id = "Holding Cell"; @@ -4213,6 +4109,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/security/courtroom) +"bmO" = ( +/obj/structure/closet/radiation, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "bmP" = ( /obj/structure/railing{ dir = 8 @@ -4280,10 +4180,11 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"bnZ" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/service/kitchen) +"boh" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/lattice/catwalk, +/turf/open/floor/engine/hull/air, +/area/station/engineering/break_room) "boj" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/light_switch/directional/east, @@ -4380,6 +4281,13 @@ "bpK" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) +"bpS" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/carpet/stellar, +/area/station/service/library) "bpU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/showcase/machinery/cloning_pod{ @@ -4389,10 +4297,10 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"bqc" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/camera/autoname/directional/east, -/obj/effect/decal/cleanable/dirt, +"bpZ" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/light_switch/directional/east, +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) @@ -4420,6 +4328,16 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) +"bqs" = ( +/obj/structure/chair/sofa/right/brown, +/obj/item/pillow, +/obj/item/toy/plush/moth{ + name = "Mender Moff" + }, +/obj/structure/sign/poster/official/get_your_legs/directional/north, +/obj/effect/landmark/event_spawn, +/turf/open/floor/carpet/black, +/area/station/medical/psychology) "bqv" = ( /obj/effect/turf_decal/siding, /obj/effect/turf_decal/trimline/white/line{ @@ -4467,6 +4385,21 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"bra" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) +"brm" = ( +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "brv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4474,14 +4407,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"brK" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/atmos/project) "brP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/north, @@ -4492,6 +4417,11 @@ /obj/machinery/vending/cigarette, /turf/open/openspace, /area/station/construction/storage_wing) +"bsa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "bsc" = ( /obj/effect/spawner/random/trash/graffiti, /obj/effect/spawner/random/trash/box, @@ -4564,6 +4494,15 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"bsT" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"btb" = ( +/obj/machinery/roulette, +/turf/open/floor/engine, +/area/station/engineering/break_room) "btc" = ( /obj/item/paper_bin/carbon, /obj/structure/closet, @@ -4571,20 +4510,15 @@ /obj/item/hand_labeler_refill, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) -"btf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"bti" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, +"btj" = ( +/obj/machinery/vending/donksnack, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"bts" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/light/small/blacklight/directional/north, +/turf/open/floor/carpet/stellar, +/area/station/maintenance/hallway/abandoned_recreation) "btv" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -4643,6 +4577,15 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/white/textured, /area/station/medical/surgery) +"buu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "buA" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -4651,12 +4594,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"buV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +"buP" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/light_switch/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "buZ" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "outerbrig"; @@ -4677,16 +4620,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"bvq" = ( -/obj/structure/closet/crate/medical, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/cautery, -/obj/item/hemostat, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "bvt" = ( /obj/machinery/telecomms/server/presets/security, /obj/effect/turf_decal/tile/red/fourcorners, @@ -4704,14 +4637,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"bvF" = ( -/obj/effect/turf_decal/trimline/yellow/filled, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/item/kirbyplants/random/fullysynthetic, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "bvG" = ( /obj/item/toy/snappop, /obj/structure/cable, @@ -4728,6 +4653,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"bvI" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "bvN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4784,13 +4714,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/hallway/primary/port) -"bwu" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "bwx" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -4812,12 +4735,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/circuit/telecomms, /area/station/science/xenobiology) -"bwW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +"bwZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "bxa" = ( /obj/effect/turf_decal/siding/blue/corner{ dir = 1 @@ -4831,6 +4754,9 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron, /area/station/commons/storage/primary) +"bxx" = ( +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "bxH" = ( /obj/machinery/photocopier/prebuilt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4895,11 +4821,6 @@ "bxZ" = ( /turf/open/floor/glass, /area/station/maintenance/port) -"byb" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "byf" = ( /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) @@ -4913,12 +4834,14 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"byy" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +"byA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/closed/wall, -/area/station/service/library) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "byC" = ( /obj/machinery/button/door/directional/east{ id = "Prison Gate"; @@ -4945,16 +4868,6 @@ /obj/structure/table/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"byP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/table, -/obj/item/tank/jetpack/oxygen{ - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "byR" = ( /obj/machinery/door/airlock/command{ name = "Council Chamber" @@ -4999,6 +4912,10 @@ "bzB" = ( /turf/closed/wall/r_wall, /area/station/science/robotics) +"bzL" = ( +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "bzN" = ( /obj/machinery/computer/quantum_console{ dir = 1 @@ -5028,24 +4945,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"bzU" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/break_room) "bzV" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/hallway/primary/central) -"bAg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "bAh" = ( /obj/machinery/door/airlock/hatch{ name = "MiniSat Foyer" @@ -5098,13 +5002,39 @@ "bAW" = ( /turf/open/floor/iron, /area/station/engineering/lobby) -"bAZ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 +"bBe" = ( +/mob/living/basic/lizard/wags_his_tail, +/obj/structure/bed, +/obj/item/storage/box/lights/mixed{ + pixel_x = 7; + pixel_y = 14 }, -/obj/machinery/light/directional/north, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +/obj/item/storage/box/lights/mixed{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/item/storage/box/mousetraps{ + pixel_x = -9; + pixel_y = 14 + }, +/obj/item/storage/box/mousetraps{ + pixel_x = 5; + pixel_y = 27 + }, +/obj/item/restraints/legcuffs/beartrap{ + pixel_x = -11; + pixel_y = 27 + }, +/obj/item/restraints/legcuffs/beartrap{ + pixel_x = -11; + pixel_y = 27 + }, +/obj/effect/landmark/start/janitor, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "bBp" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -5123,6 +5053,12 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"bBu" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) "bBv" = ( /obj/effect/turf_decal/box/corners{ dir = 1 @@ -5155,6 +5091,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_half, /area/station/ai_monitored/turret_protected/aisat/foyer) +"bBE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/service/janitor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination/janitor, +/obj/machinery/door/airlock{ + name = "Custodial Closet" + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "bBK" = ( /obj/effect/landmark/observer_start, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -5174,6 +5128,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/maintenance/starboard/lesser) +"bCb" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Air to Distro" + }, +/obj/effect/turf_decal/trimline/blue, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "bCe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5184,18 +5146,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/miningoffice) -"bCi" = ( -/obj/structure/closet/l3closet/janitor, -/obj/machinery/requests_console/directional/north{ - department = "Janitorial"; - name = "Janitorial Requests Console"; - pixel_x = -30; - pixel_y = 0 - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/carpet, -/area/station/service/janitor) "bCv" = ( /obj/structure/railing{ dir = 4 @@ -5220,14 +5170,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"bCy" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "bCC" = ( /obj/machinery/suit_storage_unit/captain, /obj/machinery/status_display/evac/directional/north, @@ -5250,19 +5192,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"bDf" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"bCP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/obj/item/radio/intercom{ - broadcasting = 1; - canhear_range = 6; - frequency = 1421; - name = "Floor's Words" +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +/turf/open/floor/iron, +/area/station/engineering/lobby) "bDm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/maintenance, @@ -5270,6 +5208,14 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/station/maintenance/port) +"bDn" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "N2 to Port" + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "bDq" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5277,15 +5223,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bDu" = ( -/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/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/library) "bDv" = ( /obj/structure/chair/sofa/right/brown{ dir = 4 @@ -5310,20 +5247,10 @@ "bDZ" = ( /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"bEe" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/trimline/yellow/filled/end{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"bEk" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/openspace, -/area/station/engineering/lobby) +"bEp" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "bEr" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck{ @@ -5352,11 +5279,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/security/checkpoint/science) -"bEE" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "bEI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5370,6 +5292,18 @@ /obj/machinery/wall_healer/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"bEK" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "bES" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -5417,6 +5351,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"bFn" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/upper) "bFv" = ( /obj/structure/table/optable, /obj/effect/decal/cleanable/dirt, @@ -5478,12 +5416,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/station/maintenance/starboard/lesser) -"bGx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/orange/visible{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "bGF" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, @@ -5504,6 +5436,25 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/art) +"bGR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 6 + }, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) +"bGX" = ( +/obj/effect/turf_decal/arrows/white{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "bGY" = ( /obj/structure/table/wood, /obj/item/food/grown/harebell{ @@ -5540,6 +5491,12 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/security/checkpoint/supply) +"bHd" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "bHj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5550,6 +5507,14 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"bHk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "bHn" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 4 @@ -5575,10 +5540,35 @@ }, /turf/open/floor/plating, /area/station/security/execution/education) +"bHA" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen_counter"; + name = "Kitchen Counter Shutters" + }, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/turf/open/floor/wood/large, +/area/station/service/kitchen) "bHB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"bHC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/computer/atmos_control/oxygen_tank, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"bHG" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "bHM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/mapping_helpers/broken_floor, @@ -5607,43 +5597,10 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"bIe" = ( -/obj/item/vending_refill/boozeomat{ - pixel_x = -4; - pixel_y = 14 - }, -/obj/item/vending_refill/cytopro{ - pixel_x = 11; - pixel_y = 11 - }, -/obj/item/vending_refill/hotdog{ - pixel_x = -2; - pixel_y = 3 - }, -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/borg_fancy_1/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"bIg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "bIi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/hallway/primary/central) -"bIj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "bIl" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -5655,6 +5612,16 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"bID" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "bIF" = ( /obj/machinery/atmospherics/components/binary/pump/layer4, /obj/item/storage/box/matches{ @@ -5705,6 +5672,24 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/warden) +"bIP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/structure/rack, +/obj/item/book/manual/wiki/engineering_guide{ + pixel_x = -2 + }, +/obj/item/book/manual/wiki/engineering_construction{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/book/manual/wiki/engineering_hacking{ + pixel_x = 2; + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "bIS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -5721,6 +5706,21 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) +"bJc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/button/door/directional/south{ + id = "psychology_shutters"; + name = "psychology shutters control"; + pixel_x = -6 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "bJj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -5748,23 +5748,27 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"bJw" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "bJB" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"bJC" = ( +/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/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) +"bJH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "bJJ" = ( /obj/machinery/vending/cigarette, /obj/structure/disposalpipe/segment{ @@ -5772,6 +5776,11 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) +"bJO" = ( +/obj/machinery/light/directional/north, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/wood, +/area/station/commons/storage/tools) "bJU" = ( /obj/machinery/camera/directional/west{ c_tag = "Law & Order Lobby" @@ -5779,6 +5788,19 @@ /obj/structure/stairs/north, /turf/open/floor/wood, /area/station/security/courtroom) +"bKb" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/lobby) "bKd" = ( /obj/effect/turf_decal/siding/dark{ dir = 5 @@ -5796,14 +5818,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"bKi" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "bKj" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -5842,23 +5856,26 @@ /obj/structure/plasticflaps/kitchen, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/satellite) +"bKC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/main) "bKK" = ( /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) -"bKL" = ( -/obj/structure/rack, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/wrench, -/obj/item/crowbar/red, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood, -/area/station/service/bar/backroom) +"bKV" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/structure/sign/departments/psychology/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "bKX" = ( /obj/effect/turf_decal/tile/purple/full, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5979,16 +5996,25 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"bMs" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/kitchen) "bMw" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/office) -"bMR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) +"bMD" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/catwalk_floor, +/area/station/engineering/lobby) "bNk" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 8 @@ -6059,6 +6085,21 @@ "bOw" = ( /turf/closed/wall, /area/station/construction/mining/aux_base) +"bOy" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock/glass{ + name = "Bar" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/checker, +/area/station/service/bar) "bOC" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -6088,17 +6129,6 @@ }, /turf/open/floor/iron/checker, /area/station/ai_monitored/turret_protected/aisat_interior) -"bPn" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor/heavy, -/obj/structure/cable, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "bPr" = ( /obj/structure/reagent_dispensers/plumbed/storage, /obj/effect/turf_decal/tile/neutral/opposingcorners{ @@ -6140,15 +6170,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/surgery) -"bPK" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/openspace, -/area/station/engineering/lobby) "bPN" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6176,18 +6197,14 @@ /obj/item/clothing/mask/breath, /turf/open/floor/wood, /area/station/command/teleporter) -"bQi" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) -"bQp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +"bQt" = ( +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) +"bQu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "bQz" = ( /obj/structure/reagent_dispensers/fueltank, /obj/structure/railing, @@ -6228,9 +6245,6 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/solars/starboard/aft) -"bQZ" = ( -/turf/open/floor/engine, -/area/station/engineering/break_room) "bRa" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/wood, @@ -6270,6 +6284,16 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"bRC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/engineering/lobby) "bRD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -6383,6 +6407,22 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"bTa" = ( +/obj/item/toy/plush/moth{ + name = "Smorg Asbord"; + pixel_y = 6 + }, +/obj/item/toy/plush/moth{ + name = "Moff #2"; + pixel_x = 5; + pixel_y = -10 + }, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "bTd" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/brown, @@ -6414,16 +6454,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"bTt" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "bTF" = ( /obj/structure/closet/crate/secure/trashcart/filled, /turf/open/floor/plating, @@ -6453,6 +6483,9 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"bTW" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/pumproom) "bTX" = ( /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/plating, @@ -6471,20 +6504,15 @@ /obj/machinery/computer/dna_console, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) -"bUf" = ( -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 +"bUk" = ( +/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 }, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "bUp" = ( /obj/effect/turf_decal/tile/dark_blue/opposingcorners, /obj/structure/urinal/directional/north, @@ -6500,10 +6528,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"bUw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/carbon_output, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos/upper) "bUO" = ( /obj/machinery/computer/records/security, /obj/structure/cable, @@ -6525,25 +6549,6 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) -"bUW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/north, -/obj/structure/table/reinforced, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) -"bVo" = ( -/obj/structure/closet/firecloset, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "bVs" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ @@ -6587,25 +6592,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine/hull/air, /area/station/science/research) -"bVQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "bVS" = ( /obj/structure/bookcase/random/reference, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/meeting_room/council) -"bVU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "bVV" = ( /obj/effect/turf_decal/siding/dark, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6624,10 +6616,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/glass, /area/station/science/zoo) +"bWf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/mug/tea, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "bWo" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"bWr" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/griddle, +/turf/open/openspace, +/area/station/service/kitchen) "bWB" = ( /obj/effect/turf_decal/trimline/dark_blue/end, /obj/effect/turf_decal/trimline/dark_blue/corner, @@ -6643,6 +6651,12 @@ /obj/effect/turf_decal/trimline/dark_blue/mid_joiner, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"bWC" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "bWE" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 5 @@ -6653,6 +6667,11 @@ /obj/structure/reagent_dispensers/plumbed/storage, /turf/open/floor/wood, /area/station/medical/medbay/central) +"bWQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "bWY" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -6694,10 +6713,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"bXx" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "bXA" = ( /turf/closed/wall/r_wall, /area/station/security/warden) @@ -6720,15 +6735,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/lobby) -"bXU" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "N20 Multideck Adapter" - }, -/obj/machinery/meter{ - name = "N20 meter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "bYe" = ( /obj/structure/table, /obj/item/paper_bin/carbon{ @@ -6778,13 +6784,6 @@ }, /turf/open/floor/iron/smooth, /area/station/science/robotics) -"bYO" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron/stairs/right, -/area/station/engineering/lobby) "bYT" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/structure/grille, @@ -6807,16 +6806,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/science/explab) -"bZm" = ( -/obj/machinery/door/airlock{ - id_tag = "commissarydoor"; - name = "Commissary" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) "bZo" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/mid_joiner, @@ -6901,35 +6890,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"bZT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"bZW" = ( -/obj/structure/table, -/obj/item/multitool/circuit{ - pixel_x = 2; - pixel_y = 15 - }, -/obj/item/multitool/circuit{ - pixel_x = 10; - pixel_y = 14 - }, -/obj/item/multitool/circuit{ - pixel_x = 7; - pixel_y = 16 - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/siding/dark/inner_corner, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 1 - }, -/area/station/service/library) +"bZR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/east, +/obj/machinery/space_heater, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "cac" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -6965,12 +6932,10 @@ }, /area/station/service/chapel) "cay" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "caE" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -6978,11 +6943,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"caF" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "caO" = ( /obj/structure/table, /turf/open/floor/plating, @@ -7042,11 +7002,39 @@ /obj/machinery/vending/cigarette, /turf/open/floor/plating, /area/station/maintenance/port) +"cbB" = ( +/obj/machinery/requests_console/directional/west{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/structure/table, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/recharger{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "cbC" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/status_display/evac/directional/south, /turf/open/floor/wood, /area/station/ai_monitored/command/storage/eva) +"cbE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/airlock/access/any/service/library, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/wood{ + name = "Curator Office" + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "cbI" = ( /obj/machinery/vatgrower{ dir = 4 @@ -7105,6 +7093,11 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"cck" = ( +/obj/structure/broken_flooring/singular/directional/east, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "ccm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7140,17 +7133,11 @@ "ccN" = ( /turf/closed/wall, /area/station/medical/surgery) -"ccT" = ( -/obj/machinery/power/terminal{ - dir = 1; - cable_layer = 1 - }, -/obj/structure/cable/multilayer/layer1, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/engine_smes) +"ccV" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "ccY" = ( /obj/machinery/door/airlock/medical{ name = "Coroner's Office" @@ -7191,14 +7178,6 @@ "cdi" = ( /turf/closed/wall, /area/station/engineering/gravity_generator) -"cdj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "cdq" = ( /obj/effect/turf_decal/weather/dirt{ dir = 8 @@ -7212,13 +7191,6 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/station/maintenance/department/medical) -"cdD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "cdP" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/crayon{ @@ -7306,9 +7278,6 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) -"ceD" = ( -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "ceG" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/customs) @@ -7337,14 +7306,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"ceY" = ( -/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/stripes/white/line, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/main) "cfi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_corner{ @@ -7359,50 +7320,20 @@ }, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) -"cfp" = ( -/obj/machinery/button/door/directional/east{ - id = "actualcommissarydoor"; - name = "Commissary Door Lock"; - normaldoorcontrol = 1; - pixel_x = 23; - pixel_y = 5; - specialfunctions = 4 +"cfs" = ( +/obj/machinery/button/elevator{ + id = "catwalk_engi"; + pixel_y = -24 }, -/obj/structure/table, -/obj/machinery/button/ticket_machine{ - id = "ticket_machine_comissary"; - pixel_x = 23; - pixel_y = -4 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 +/obj/effect/turf_decal/stripes/line{ + dir = 8; + pixel_x = -2 }, -/obj/item/paper_bin{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/machinery/button/door/directional/east{ - id = "actualcommissaryshutter"; - name = "Commissary Shutters"; - normaldoorcontrol = 1; - pixel_x = 34; - specialfunctions = 4 - }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"cfu" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "cfx" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -7420,11 +7351,24 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"cfM" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, +"cfI" = ( +/obj/structure/cable, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/area/station/engineering/storage_shared) +"cfP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "cfQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7432,6 +7376,13 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"cfT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/iron, +/area/station/engineering/lobby) "cgg" = ( /obj/effect/decal/remains/human, /obj/item/clothing/head/utility/hardhat/welding/atmos{ @@ -7447,6 +7398,16 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/small, /area/station/security/mechbay) +"cgE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Plasma Cell"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "cgK" = ( /obj/structure/cable, /turf/closed/wall, @@ -7457,10 +7418,24 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/qm) +"cgZ" = ( +/obj/structure/table/wood, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "chb" = ( /obj/item/vending_refill/coffee, /turf/open/floor/plating, /area/station/maintenance/disposal) +"chc" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/upper) "chd" = ( /obj/structure/ladder, /obj/effect/turf_decal/bot, @@ -7470,6 +7445,13 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/security/office) +"chj" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "chr" = ( /obj/machinery/holopad, /turf/open/floor/wood/tile, @@ -7486,6 +7468,11 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"chG" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "chI" = ( /obj/effect/landmark/start/hangover, /obj/machinery/light_switch/directional/north, @@ -7514,6 +7501,14 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/command/gateway) +"chR" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix Bypass" + }, +/obj/effect/turf_decal/trimline/blue, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "chU" = ( /obj/machinery/door/airlock/public/glass{ name = "Crew Quarters Access" @@ -7535,6 +7530,11 @@ }, /turf/open/openspace, /area/station/science/xenobiology) +"chZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "cib" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7558,14 +7558,6 @@ /obj/item/radio/intercom/directional/south, /turf/closed/wall/r_wall, /area/station/engineering/main) -"ciN" = ( -/obj/machinery/shower/directional/east, -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_corner, -/area/station/engineering/main) "ciS" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -7577,17 +7569,6 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/floor/iron/white/textured_large, /area/station/medical/virology) -"ciW" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "O2 Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "O2 meter" - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "cjb" = ( /obj/structure/frame/computer{ anchored = 1 @@ -7601,6 +7582,15 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/medical/abandoned) +"cju" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, +/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/maintenance/hallway/abandoned_recreation) "cjE" = ( /obj/machinery/computer/rdconsole, /turf/open/floor/wood, @@ -7625,31 +7615,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"cki" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/effect/turf_decal/delivery/white{ - color = "#ff6600" - }, -/turf/open/floor/engine, -/area/station/engineering/break_room) -"ckp" = ( -/obj/machinery/chem_master/condimaster{ - name = "CondiMaster Neo" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) -"ckr" = ( -/obj/item/radio/intercom/directional/east, +"ckk" = ( /obj/structure/lattice/catwalk, -/turf/open/floor/engine/hull/air, -/area/station/engineering/break_room) -"cky" = ( -/obj/structure/broken_flooring/side/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/obj/structure/cable, +/turf/open/water, +/area/station/maintenance/port/fore) "ckE" = ( /obj/machinery/hydroponics/soil, /turf/open/misc/sandy_dirt, @@ -7765,37 +7735,12 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"cmf" = ( -/obj/item/cardboard_cutout{ - pixel_x = 14; - pixel_y = 9 - }, -/obj/item/cardboard_cutout{ - pixel_x = 14; - pixel_y = 4 - }, -/obj/item/cardboard_cutout{ - pixel_x = 14; - pixel_y = -1 - }, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood/large, -/area/station/service/theater) "cmh" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"cmm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/airlock/engineering, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor, -/area/station/engineering/lobby) "cmp" = ( /obj/effect/turf_decal/siding/white/corner{ dir = 8 @@ -7848,23 +7793,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"cnv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/lattice/catwalk, -/turf/open/water, -/area/station/maintenance/port/fore) "cnw" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, /turf/open/openspace, /area/station/hallway/primary/starboard) -"cnC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 10 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "cnL" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -7891,17 +7824,17 @@ /obj/structure/grille, /turf/open/space/openspace, /area/space/nearstation) -"cor" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"cot" = ( +/obj/machinery/atmospherics/components/trinary/filter/layer2{ + dir = 8 }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/restaurant_portal/restaurant, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"cou" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "coI" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/decal/cleanable/dirt, @@ -7931,6 +7864,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"cpr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light/directional/west, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "cpy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -7969,6 +7907,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/cytology) +"cpN" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "cpQ" = ( /obj/structure/chair{ dir = 1 @@ -7976,15 +7918,24 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"cpT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/wood, +/area/station/service/library) "cqe" = ( /obj/structure/curtain, /obj/machinery/shower/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/medical/surgery) -"cqf" = ( -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"cqh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "cqj" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/smooth_large, @@ -8003,6 +7954,16 @@ }, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"cqm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/eighties, +/area/station/maintenance/hallway/abandoned_recreation) "cqp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, @@ -8022,18 +7983,36 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"cqz" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/engineering/lobby) -"cqB" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/station/engineering/main) "cqG" = ( /obj/item/trash/boritos, /turf/open/floor/carpet, /area/station/maintenance/starboard/aft) +"cqH" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/structure/closet/crate/medical, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/effect/spawner/random/maintenance, +/obj/item/pen/red{ + pixel_y = 10 + }, +/obj/structure/curtain/cloth/fancy/mechanical{ + name = "Psychologist's Office Curtains"; + id = "psychpriv" + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "cqR" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, @@ -8104,16 +8083,20 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"crn" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "crs" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/space/basic, /area/station/maintenance/solars/port/aft) -"crB" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "crE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -8126,18 +8109,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"crM" = ( -/obj/item/reagent_containers/cup/glass/bottle/wine_voltaic{ - pixel_y = 5; - pixel_x = 7 - }, -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_y = 6; - pixel_x = -6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "crS" = ( /obj/structure/sign/poster/contraband/atmosia_independence/directional/north{ desc = "The captain is expressely FORBIDDEN here. Only those who took from him are allowed."; @@ -8176,17 +8147,24 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"csf" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "N2O to Port" + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "csh" = ( /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) -"csk" = ( -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment{ - dir = 4 +"css" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/siding/thinplating_new/dark/end{ + dir = 8 }, -/turf/open/floor/carpet, +/turf/open/floor/iron/dark/smooth_large, /area/station/commons/lounge) "cst" = ( /obj/effect/turf_decal/trimline/red/filled/mid_joiner{ @@ -8261,11 +8239,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/cargo/storage) -"csM" = ( -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) "csN" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -8281,23 +8254,16 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"csU" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "ctb" = ( /turf/open/floor/glass/reinforced, /area/station/command/heads_quarters/rd) -"cte" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) "cth" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8329,6 +8295,14 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured_large, /area/station/medical/surgery) +"ctH" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/computer/slot_machine{ + pixel_y = 2 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "ctK" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -8339,6 +8313,18 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"ctQ" = ( +/obj/structure/table/wood, +/obj/structure/desk_bell{ + pixel_x = 7; + pixel_y = -12 + }, +/obj/item/compact_remote{ + pixel_x = -9; + pixel_y = 11 + }, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "ctT" = ( /obj/structure/chair{ dir = 4 @@ -8358,18 +8344,20 @@ /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, /area/station/cargo/storage) -"cue" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Port to Engine" - }, -/obj/effect/turf_decal/trimline/brown, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "cuQ" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/dark, /area/station/science/lobby) +"cuT" = ( +/obj/machinery/light/directional/east, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "cuY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8383,6 +8371,10 @@ /obj/effect/landmark/navigate_destination/dockescpod, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"cvn" = ( +/obj/structure/sign/poster/contraband/space_cube/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "cvH" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -8403,11 +8395,6 @@ /obj/effect/mapping_helpers/mail_sorting/science/genetics, /turf/open/floor/iron/dark/textured_large, /area/station/science/zoo) -"cvY" = ( -/obj/structure/closet/secure_closet/bar, -/obj/item/storage/box/rubbershot, -/turf/open/floor/wood, -/area/station/service/bar/backroom) "cwf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -8420,6 +8407,17 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"cwo" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "CO2 Multideck Adapter"; + dir = 8 + }, +/obj/machinery/meter{ + name = "C02 meter" + }, +/obj/effect/turf_decal/tile/dark/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "cwq" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/large, @@ -8431,6 +8429,30 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"cwE" = ( +/obj/machinery/elevator_control_panel/directional/east{ + linked_elevator_id = "catwalk_cafe"; + name = "Feeding Elevator Controller"; + pixel_x = 0; + pixel_y = 26; + preset_destination_names = list("2"="Lower Deck","3"="Upper Deck") + }, +/obj/structure/sign/directions/upload/directional/north{ + desc = "It stands for Up Le Dable"; + dir = 2; + name = "Button Indicator"; + pixel_y = 40 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "cwL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall, @@ -8457,6 +8479,13 @@ /obj/effect/landmark/carpspawn, /turf/open/floor/plating/airless, /area/station/maintenance/space_hut) +"cxh" = ( +/obj/structure/stairs/north, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "cxj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8468,19 +8497,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cxx" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/openspace, -/area/station/engineering/lobby) -"cxA" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cxD" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -8497,13 +8513,6 @@ /obj/structure/sign/poster/contraband/missing_gloves, /turf/closed/wall, /area/station/maintenance/port) -"cxL" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/large, -/area/station/service/library/private) "cxQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8606,6 +8615,18 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/virology, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"cyN" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 8 + }, +/obj/machinery/meter, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/line{ + dir = 8; + pixel_x = -2 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "cyT" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -8614,12 +8635,32 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"cyX" = ( +"cyW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/lobby) +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/large, +/area/station/service/library) +"czg" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/modular_computer/preset/cargochat/service, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "czk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8686,31 +8727,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"czK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/wood{ - name = "Kitchen" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock_note_placer{ - note_info = "The balcony to the right is for the bar bots; to feed the station place the food on the central table and lower down."; - note_name = "Kitchen Instructions" - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) -"czL" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "czN" = ( /turf/open/openspace, /area/station/construction/storage_wing) @@ -8721,11 +8737,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/recharge_floor, /area/station/cargo/warehouse) -"czZ" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/broken_flooring/side/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "cAk" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -8751,6 +8762,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) +"cAy" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/machinery/light/small/dim/directional/north, +/turf/open/water, +/area/station/maintenance/port/fore) "cAz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8759,12 +8777,6 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"cAA" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "cAF" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/fourcorners, @@ -8778,6 +8790,10 @@ /obj/machinery/microwave/engineering, /turf/open/floor/iron/textured, /area/station/cargo/storage) +"cAI" = ( +/obj/structure/fireaxecabinet/directional/east, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "cAM" = ( /obj/structure/railing{ dir = 8 @@ -8884,14 +8900,14 @@ }, /turf/open/openspace, /area/station/medical/cryo) -"cCn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"cBY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 9 + }, /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/engineering/storage_shared) +/area/station/maintenance/disposal/incinerator) "cCq" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 @@ -8976,6 +8992,16 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/science/robotics/lab) +"cCZ" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/siding/dark/corner, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "cDq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9006,19 +9032,10 @@ dir = 4 }, /area/station/medical/surgery) -"cDO" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/pipedispenser/disposal, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"cDR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +"cDI" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "cDY" = ( /obj/machinery/light/small/directional/west, /obj/structure/rack, @@ -9043,6 +9060,13 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/brig) +"cEd" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "cEf" = ( /obj/structure/chair/pew/right{ dir = 4 @@ -9058,6 +9082,11 @@ /obj/item/storage/box/disks, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) +"cEn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/holopad, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "cEH" = ( /obj/structure/table, /obj/item/stock_parts/power_store/cell/high{ @@ -9086,12 +9115,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"cEW" = ( -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "cFa" = ( /turf/open/openspace, /area/station/service/kitchen) @@ -9187,12 +9210,6 @@ dir = 4 }, /area/station/hallway/secondary/exit/departure_lounge) -"cGi" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "cGp" = ( /obj/machinery/light/directional/north, /turf/open/floor/plating, @@ -9214,13 +9231,6 @@ /obj/item/clothing/under/color/blue, /turf/open/floor/carpet/stellar, /area/station/maintenance/hallway/abandoned_recreation) -"cGO" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/wood/large, -/area/station/service/library) "cGQ" = ( /obj/item/cigbutt{ pixel_x = -12; @@ -9228,6 +9238,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cGS" = ( +/obj/structure/sign/warning/radiation/rad_area, +/turf/closed/wall/r_wall, +/area/station/engineering/hallway) "cHp" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -9256,6 +9270,14 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/science/breakroom) +"cHC" = ( +/obj/structure/railing, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/grass, +/area/station/hallway/primary/starboard) "cHD" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9281,13 +9303,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) -"cHO" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"cHN" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +/obj/machinery/light/floor, +/turf/open/floor/carpet/black, +/area/station/service/theater) "cHP" = ( /obj/machinery/computer/atmos_alert{ dir = 1 @@ -9381,6 +9403,21 @@ }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) +"cIH" = ( +/obj/machinery/light/directional/east, +/obj/structure/railing, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/storage) +"cIM" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "cIN" = ( /obj/structure/table/reinforced, /obj/item/stamp/denied{ @@ -9398,6 +9435,20 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) +"cIR" = ( +/obj/structure/table/wood, +/obj/item/vending_refill/cigarette{ + pixel_y = 4 + }, +/obj/structure/sign/picture_frame/portrait/bar{ + pixel_y = -32 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "cIT" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/trash/grille_or_waste, @@ -9425,15 +9476,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/smooth_half, /area/station/ai_monitored/turret_protected/aisat/foyer) -"cJo" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/machinery/meter, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "cJp" = ( /obj/item/kirbyplants/random, /obj/machinery/light/dim/directional/east, @@ -9504,12 +9546,12 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"cKd" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{ +"cKc" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "cKe" = ( /obj/docking_port/stationary{ dwidth = 9; @@ -9520,27 +9562,6 @@ }, /turf/open/space/basic, /area/space) -"cKg" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) -"cKn" = ( -/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/reagent_containers/cup/soda_cans/thirteenloko{ - pixel_x = 14; - pixel_y = 3 - }, -/obj/item/book/manual/wiki/engineering_construction, -/turf/open/floor/iron, -/area/station/engineering/lobby) "cKs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -9585,21 +9606,6 @@ /obj/effect/spawner/random/structure/chair_flipped, /turf/open/floor/plating, /area/station/construction/storage_wing) -"cLf" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Bar" - }, -/obj/machinery/barsign{ - pixel_y = 32 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/commons/lounge) -"cLi" = ( -/obj/structure/chair/sofa/corner/brown, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/carpet, -/area/station/medical/psychology) "cLm" = ( /obj/structure/table/reinforced, /obj/item/statuebust/hippocratic, @@ -9665,6 +9671,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) +"cMW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 8; + name = "Waste Release" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) +"cMY" = ( +/obj/effect/turf_decal/box/white{ + color = "#9FED58" + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "cNl" = ( /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, @@ -9677,6 +9697,11 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) +"cNt" = ( +/obj/structure/sign/warning/radiation/rad_area, +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/engineering/main) "cNu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9753,10 +9778,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) -"cPi" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "cPk" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -9822,25 +9843,6 @@ /obj/structure/chair/comfy/black, /turf/open/floor/glass, /area/station/security/brig) -"cQk" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"cQu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/hallway/abandoned_recreation) "cQP" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9876,6 +9878,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"cRj" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "cRk" = ( /turf/open/floor/wood, /area/station/commons/fitness/recreation) @@ -9895,10 +9903,6 @@ dir = 8 }, /area/station/medical/morgue) -"cRN" = ( -/obj/machinery/bookbinder, -/turf/open/floor/wood/large, -/area/station/service/library) "cRO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9918,6 +9922,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"cSe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "cSf" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/airalarm/directional/south, @@ -10016,38 +10026,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/security/courtroom) -"cSY" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Cooling Loop Bypass" - }, -/obj/effect/turf_decal/trimline/neutral, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"cTc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/service/theater) "cTf" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"cTi" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/modular_computer/preset/cargochat/engineering{ - dir = 1 - }, -/obj/machinery/requests_console/directional/west{ - name = "Engineering Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/wood, -/area/station/engineering/lobby) "cTv" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 8 @@ -10060,15 +10044,6 @@ }, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) -"cTG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "cTJ" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/maintenance/two, @@ -10081,6 +10056,15 @@ }, /turf/open/floor/plating, /area/station/construction/storage_wing) +"cTL" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "N20 Multideck Adapter" + }, +/obj/machinery/meter{ + name = "N20 meter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "cTR" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 @@ -10129,13 +10113,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/cmo) -"cUl" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "cUo" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -10185,6 +10162,12 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"cUM" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/fyellow, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/carpet, +/area/station/commons/storage/tools) "cUX" = ( /obj/structure/railing, /obj/structure/sign/poster/contraband/random/directional/north, @@ -10229,10 +10212,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"cVD" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "cVE" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -10256,28 +10235,17 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/aft) -"cVL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "cVN" = ( /obj/effect/turf_decal/siding/brown{ dir = 8 }, /turf/open/floor/iron, /area/station/commons/dorms) -"cWa" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) +"cVU" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "cWd" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -10318,10 +10286,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"cWt" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet, -/area/station/commons/lounge) "cWG" = ( /obj/machinery/vending/cola/pwr_game, /turf/open/floor/wood, @@ -10334,13 +10298,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"cWQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 9 - }, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "cWU" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) @@ -10359,10 +10316,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"cWX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "cXj" = ( /obj/structure/table/reinforced/rglass, /obj/machinery/fax{ @@ -10371,36 +10324,6 @@ }, /turf/open/floor/glass, /area/station/security/brig) -"cXl" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"cXr" = ( -/obj/structure/closet/crate/engineering{ - name = "Basic Materials" - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/iron{ - amount = 50 - }, -/turf/open/floor/engine, -/area/station/engineering/break_room) "cXw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10414,16 +10337,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"cXL" = ( -/obj/machinery/light/directional/east, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "cXM" = ( /obj/effect/mapping_helpers/airlock/access/all/service/general, /obj/machinery/door/airlock/maintenance{ @@ -10470,10 +10383,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"cYP" = ( -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "cYT" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -10490,11 +10399,6 @@ dir = 1 }, /area/station/science/lab) -"cZf" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "cZh" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -10537,6 +10441,18 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"cZN" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/stairs/right, +/area/station/engineering/lobby) +"cZP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "cZT" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/decal/cleanable/dirt, @@ -10554,6 +10470,25 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/engine/hull/air, /area/station/medical/chemistry) +"dav" = ( +/obj/item/cardboard_cutout{ + pixel_x = 14; + pixel_y = 9 + }, +/obj/item/cardboard_cutout{ + pixel_x = 14; + pixel_y = 4 + }, +/obj/item/cardboard_cutout{ + pixel_x = 14; + pixel_y = -1 + }, +/obj/effect/landmark/start/mime, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "daw" = ( /obj/structure/lattice/catwalk, /obj/structure/filingcabinet, @@ -10581,26 +10516,35 @@ "daC" = ( /turf/open/openspace, /area/station/ai_monitored/turret_protected/aisat_interior) -"daJ" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high{ - charge = 100; - maxcharge = 15000 +"daE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 }, -/obj/item/clothing/glasses/meson{ - pixel_y = 8 +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 }, -/obj/item/clothing/glasses/meson{ - pixel_y = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/machinery/light/directional/north, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "daW" = ( /obj/structure/ladder, /obj/structure/sign/poster/contraband/space_cola/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"daX" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/item/wirecutters, +/obj/item/screwdriver{ + pixel_y = 8 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "dbb" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -10656,6 +10600,25 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"dbT" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"dcs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail{ + dir = 2 + }, +/obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "dcv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10665,12 +10628,24 @@ "dcE" = ( /turf/open/space/basic, /area/space) +"dcQ" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/station/service/theater) "dde" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/port) +"ddh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "ddr" = ( /obj/machinery/airalarm/directional/west, /obj/structure/cable, @@ -10700,14 +10675,30 @@ /obj/item/banner/command/mundane, /turf/open/floor/plating, /area/station/maintenance/port) -"ddz" = ( -/obj/effect/turf_decal/siding/white, -/obj/item/kirbyplants/organic/plant21{ - pixel_x = -7; - pixel_y = 15 +"ddM" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/bin, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"ddT" = ( +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "ddW" = ( /obj/structure/railing, /obj/effect/decal/cleanable/dirt, @@ -10719,28 +10710,11 @@ }, /turf/open/floor/wood, /area/station/command/gateway) -"dee" = ( -/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/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +"dec" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/vending/games, +/turf/open/floor/wood, +/area/station/service/library) "deg" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -10822,19 +10796,6 @@ /obj/item/crowbar, /turf/open/openspace, /area/station/security/checkpoint/customs) -"dfj" = ( -/obj/effect/turf_decal/trimline/yellow/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/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "dfn" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -10845,30 +10806,27 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron, /area/station/maintenance/starboard/central) -"dfC" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "dfD" = ( /obj/structure/flora/bush/ferny/style_random, /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/entry) +"dfG" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "dfI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"dfJ" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "dfK" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -10904,6 +10862,12 @@ /obj/effect/turf_decal/box/white, /turf/open/floor/iron/dark/textured_corner, /area/station/science/ordnance/storage) +"dgm" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "dgy" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/trimline/purple/filled/line, @@ -10913,16 +10877,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"dgB" = ( -/mob/living/carbon/human/species/monkey/punpun, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/service/bar) -"dgD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/medical/psychology) "dgR" = ( /obj/structure/table/reinforced, /obj/structure/railing/corner{ @@ -10944,14 +10898,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"dhq" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "dhx" = ( /obj/effect/spawner/random/vending/colavend, /obj/effect/turf_decal/siding/wood{ @@ -10959,11 +10905,6 @@ }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"dhD" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "dhL" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/railing, @@ -11107,6 +11048,10 @@ }, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) +"dje" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "djf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -11137,11 +11082,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/openspace, /area/station/security/checkpoint/supply) -"djI" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing, -/turf/open/openspace, -/area/station/engineering/break_room) "djL" = ( /obj/machinery/door/airlock/public/glass{ name = "Abandoned Hallway" @@ -11149,6 +11089,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"djM" = ( +/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, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "dkd" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -11217,16 +11166,6 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) -"dkZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dlb" = ( /obj/structure/closet/crate{ icon_state = "crateopen" @@ -11259,6 +11198,20 @@ "dlt" = ( /turf/open/floor/plating/airless, /area/station/maintenance/starboard/aft) +"dlO" = ( +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) "dlW" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/caution/stand_clear, @@ -11305,6 +11258,16 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"dnb" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Showers" + }, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/station/engineering/main) "dnj" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/cable, @@ -11320,16 +11283,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/corporate_showroom) -"dnL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dnM" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -11415,19 +11368,21 @@ }, /turf/open/floor/iron/dark/smooth_edge, /area/station/medical/pharmacy) -"doF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "doH" = ( /obj/item/trash/can{ pixel_x = 3 }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"doK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "doL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11453,15 +11408,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/ai_monitored/command/storage/eva) -"doY" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "dpo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11519,13 +11465,16 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/science/lobby) -"dqu" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"dqo" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/engine_smes) +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "dqB" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -11638,15 +11587,20 @@ /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) "drW" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ + dir = 9 }, -/turf/open/floor/iron/stairs/left, -/area/station/engineering/lobby) +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "drX" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) +"drZ" = ( +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "dsg" = ( /obj/structure/table/wood, /turf/open/floor/carpet, @@ -11662,17 +11616,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/engine/hull, /area/space/nearstation) -"dst" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/machinery/power/energy_accumulator/grounding_rod/anchored{ - cable_layer = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/orange/visible{ - dir = 1 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "dsw" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -11719,6 +11662,14 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/lesser) +"dtj" = ( +/obj/machinery/light/directional/south, +/obj/machinery/shower/directional/east, +/obj/structure/fluff/shower_drain, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/station/engineering/main) "dtn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11762,6 +11713,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/central) +"dtC" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/openspace, +/area/station/engineering/lobby) "dtO" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 4 @@ -11840,12 +11797,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"duD" = ( -/obj/machinery/firealarm/directional/east, -/obj/structure/reagent_dispensers/foamtank, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "duE" = ( /obj/machinery/light_switch/directional/west{ pixel_x = -24; @@ -11854,6 +11805,12 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"duQ" = ( +/obj/structure/sign/warning/vacuum/external/directional/east, +/obj/machinery/light/directional/west, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "dvn" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron, @@ -11901,14 +11858,6 @@ /obj/structure/flora/bush/pale/style_random, /turf/open/floor/grass, /area/station/hallway/primary/central) -"dwi" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs) "dwl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -11918,6 +11867,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"dwq" = ( +/obj/structure/ladder, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "dwB" = ( /obj/structure/cable, /obj/structure/closet/syndicate{ @@ -11942,6 +11899,15 @@ }, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"dwG" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/service/library) "dwP" = ( /obj/effect/turf_decal/siding/blue/corner{ dir = 1 @@ -11955,14 +11921,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"dxa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "qm_cargobay"; - name = "Cargo Bay Shutters" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "dxf" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -11976,6 +11934,14 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/maintenance/starboard/aft) +"dxv" = ( +/obj/machinery/atmospherics/pipe/multiz/orange/visible{ + dir = 8 + }, +/obj/machinery/meter, +/obj/structure/railing/corner, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "dxx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12030,6 +11996,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"dyt" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/suit_storage_unit/engine, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "dyx" = ( /obj/machinery/door/airlock/public/glass{ name = "Farewell Room" @@ -12053,6 +12026,14 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) +"dyG" = ( +/obj/item/pickaxe{ + pixel_x = -5; + pixel_y = -7 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "dyN" = ( /turf/open/openspace, /area/station/command/heads_quarters/rd) @@ -12073,14 +12054,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"dzf" = ( -/obj/structure/table/wood/fancy/cyan, -/obj/item/book/manual/wiki/atmospherics{ - pixel_y = 8 +"dzg" = ( +/obj/structure/rack, +/obj/item/clothing/head/utility/welding, +/obj/item/wrench, +/obj/item/weldingtool, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/light/directional/east, /turf/open/floor/engine, -/area/station/engineering/break_room) +/area/station/engineering/supermatter/room) "dzj" = ( /obj/machinery/door/window/brigdoor/security/cell/left/directional/east{ id = "Cell 1"; @@ -12107,16 +12090,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) -"dzu" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/openspace, -/area/station/engineering/atmos/project) "dzx" = ( /turf/open/floor/iron/dark, /area/station/command/gateway) +"dzH" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/structure/closet/radiation, +/obj/machinery/light/directional/east, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "dzI" = ( /turf/open/openspace, /area/station/maintenance/starboard/fore) @@ -12141,17 +12123,15 @@ }, /turf/open/floor/glass, /area/station/security/brig) -"dAL" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ - cable_layer = 1 +"dAp" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 9 +/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ + dir = 1 }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "dAR" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -12182,26 +12162,10 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"dBd" = ( -/obj/structure/sign/painting/library_secure{ - pixel_y = 32 - }, -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree{ - pixel_x = 4; - pixel_y = 10 - }, -/obj/structure/sign/painting/large/library, -/turf/open/floor/wood, -/area/station/service/library) "dBe" = ( /obj/item/kirbyplants/photosynthetic, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"dBh" = ( -/obj/structure/sink/kitchen/directional/east, -/turf/open/floor/glass, -/area/station/service/kitchen) "dBk" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -12249,6 +12213,26 @@ /obj/effect/spawner/random/structure/barricade, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"dBG" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) +"dBK" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/table/reinforced, +/obj/machinery/fax{ + fax_name = "Service"; + name = "Service Fax Machine" + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "dBM" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -12261,6 +12245,16 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat_interior) +"dCg" = ( +/obj/effect/turf_decal/arrows/red{ + dir = 4; + pixel_x = -15 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "dCj" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/mid_joiner, @@ -12280,17 +12274,12 @@ }, /turf/open/floor/glass, /area/station/maintenance/starboard/fore) -"dCN" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing/corner/end, -/obj/structure/railing/corner/end{ - dir = 8 - }, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/iron/stairs/left, -/area/station/maintenance/disposal/incinerator) +"dCK" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "dCY" = ( /obj/machinery/door/firedoor, /turf/open/floor/engine/hull/air, @@ -12307,23 +12296,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"dDI" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/structure/sign/warning/radiation/rad_area/directional/south, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"dDK" = ( -/obj/machinery/computer/station_alert, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) "dDL" = ( /obj/structure/lattice, /turf/open/space/openspace, @@ -12338,10 +12310,21 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/brig) -"dDX" = ( -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/wood, -/area/station/hallway/primary/central) +"dDV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"dEa" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/filled/mid_joiner, +/obj/structure/disposalpipe/segment, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/siding/green{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/service) "dEg" = ( /obj/structure/chair/sofa/left/brown, /obj/item/flashlight, @@ -12355,18 +12338,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) -"dEs" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/landmark/start/hangover, -/obj/effect/landmark/navigate_destination/kitchen, -/turf/open/floor/carpet, -/area/station/commons/lounge) "dEu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -12387,19 +12358,12 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/auxiliary) -"dEH" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 8 +"dEW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/item/reagent_containers/condiment/honey{ - pixel_x = 9; - pixel_y = -3 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "dEX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/space_heater, @@ -12451,12 +12415,6 @@ /obj/structure/spider/stickyweb/sealed/tough, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dFA" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "dFG" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -12469,6 +12427,14 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"dFY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/cigbutt, +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "dFZ" = ( /obj/effect/turf_decal/siding/red, /turf/open/floor/wood, @@ -12497,23 +12463,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white/textured_large, /area/station/medical/morgue) -"dGp" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"dGr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "dGu" = ( /obj/structure/frame/computer{ anchored = 1 @@ -12530,11 +12479,6 @@ }, /turf/open/openspace, /area/station/command/bridge) -"dGx" = ( -/obj/effect/mapping_helpers/trapdoor_placer, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/plating, -/area/station/service/theater) "dGy" = ( /obj/effect/turf_decal/siding/blue{ dir = 9 @@ -12546,6 +12490,18 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) +"dGS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Shared Storage" + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "dHb" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, @@ -12580,18 +12536,21 @@ /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"dHs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"dHC" = ( +/obj/structure/table/reinforced, +/obj/item/flashlight, +/obj/item/pipe_dispenser, +/obj/item/analyzer, +/obj/item/storage/toolbox/mechanical, +/obj/item/pipe_dispenser, +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/pipe_dispenser{ + pixel_y = 8 }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "dHK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12617,6 +12576,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/commons/dorms) +"dIh" = ( +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "dIt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12627,14 +12590,18 @@ /turf/open/floor/glass, /area/station/security/brig) "dIu" = ( -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "ceprivacy"; - name = "Chief Engineers Privacy Shutters" +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 }, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/hydroponics) "dIB" = ( /obj/structure/chair/office{ dir = 4 @@ -12673,14 +12640,62 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/cafeteria) -"dJB" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, +"dJk" = ( +/obj/effect/landmark/transport/transport_id{ + specific_transport_id = "catwalk_cafe" + }, +/obj/structure/transport/linear/public, +/obj/structure/table, +/obj/item/plate{ + pixel_x = -6; + pixel_y = 8 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/service/kitchen) +"dJn" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"dJo" = ( +/obj/structure/table/wood, +/obj/item/storage/crayons{ + pixel_x = -2; + pixel_y = 1 + }, +/obj/item/paint_palette{ + pixel_y = 11 + }, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) +"dJt" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"dJC" = ( +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, /obj/machinery/door/poddoor/shutters/preopen{ - id = "abandonedcafe"; - name = "Maintenance Cafe Shutters" + name = "Cargo Bay Shutters"; + id = "qm_cargobay"; + dir = 8 }, /turf/open/floor/plating, -/area/station/medical/psychology) +/area/station/cargo/storage) "dJE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -12802,6 +12817,10 @@ "dKN" = ( /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"dKR" = ( +/obj/structure/window/spawner/directional/east, +/turf/open/floor/wood, +/area/station/service/library) "dKT" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -12826,6 +12845,16 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/range) +"dLp" = ( +/obj/machinery/camera/autoname/directional/south, +/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, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "dLq" = ( /turf/open/floor/plating/airless, /area/space/nearstation) @@ -12884,6 +12913,15 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) +"dMJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 10 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "dMM" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -12906,6 +12944,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"dNb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/wood/large, +/area/station/service/library) "dNc" = ( /obj/item/kirbyplants/random, /obj/machinery/power/apc/auto_name/directional/north, @@ -12920,15 +12965,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dNk" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/service) "dNu" = ( /turf/open/floor/wood, /area/station/maintenance/starboard/aft) @@ -12994,6 +13030,11 @@ /obj/machinery/modular_computer/preset/civilian, /turf/open/floor/iron/dark/smooth_large, /area/station/science/explab) +"dNX" = ( +/obj/machinery/power/supermatter_crystal/engine, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "dNZ" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -13021,6 +13062,11 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"dOl" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/turf/open/openspace, +/area/station/engineering/break_room) "dOm" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -13043,14 +13089,6 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/medical/coldroom) -"dOy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "dOG" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -13088,14 +13126,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"dPx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "dPP" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/disposalpipe/trunk{ @@ -13106,19 +13136,14 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"dPQ" = ( +/obj/structure/railing, +/turf/open/openspace, +/area/station/engineering/storage_shared) "dPR" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dQt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "dQx" = ( /obj/structure/railing{ dir = 4 @@ -13129,18 +13154,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"dQJ" = ( -/obj/effect/turf_decal/trimline/yellow/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, -/area/station/engineering/storage_shared) "dQP" = ( /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/large, @@ -13159,13 +13172,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"dQS" = ( -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped/layer5{ - dir = 8; - name = "air mixer" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "dQV" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -13215,26 +13221,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"dRY" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced, -/obj/item/stamp/denied{ - pixel_x = 13 - }, -/obj/item/stamp/head/ce{ - pixel_y = 3 - }, -/obj/item/paper_bin{ - pixel_x = 3; - pixel_y = 10 - }, -/obj/item/pen{ - pixel_x = 17 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "dSl" = ( /obj/structure/flora/bush/ferny/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -13242,6 +13228,12 @@ /obj/structure/cable, /turf/open/floor/grass, /area/station/hallway/secondary/entry) +"dSq" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "dSs" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/stripes/line{ @@ -13279,28 +13271,6 @@ /obj/effect/decal/cleanable/blood/oil/slippery, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"dSH" = ( -/obj/machinery/door/airlock/hatch{ - name = "MiniSat Access" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/command/minisat, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/effect/landmark/navigate_destination/minisat_access_ai, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"dSK" = ( -/obj/machinery/shower/directional/west, -/obj/structure/fluff/shower_drain, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 1 - }, -/area/station/engineering/main) "dSS" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, @@ -13388,11 +13358,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_edge, /area/station/ai_monitored/turret_protected/ai) +"dUp" = ( +/obj/item/paint/white{ + pixel_x = 11; + pixel_y = 8 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "dUw" = ( /obj/structure/closet/l3closet, /obj/structure/railing, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) +"dUx" = ( +/obj/machinery/light/directional/east, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "dUG" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -13412,6 +13396,16 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) +"dUH" = ( +/obj/machinery/vending/cola/pwr_game, +/turf/open/floor/eighties, +/area/station/engineering/lobby) +"dUK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "dUN" = ( /obj/machinery/door/poddoor/shutters/window{ dir = 4; @@ -13456,6 +13450,14 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"dVe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dVm" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13467,11 +13469,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"dVn" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/large, -/area/station/service/library) "dVs" = ( /obj/effect/turf_decal/siding/dark{ dir = 5 @@ -13491,14 +13488,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/engineering/lobby) -"dVy" = ( -/obj/machinery/airalarm/directional/south, -/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, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dVL" = ( /turf/open/floor/iron/textured_large, /area/station/security/prison) @@ -13517,10 +13506,6 @@ }, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"dVP" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/engine, -/area/station/engineering/break_room) "dWa" = ( /obj/machinery/door/airlock/external{ name = "Arrival Airlock"; @@ -13531,6 +13516,12 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"dWg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "dWi" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -13567,6 +13558,16 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"dWr" = ( +/obj/structure/sign/picture_frame/portrait{ + pixel_y = 33 + }, +/obj/machinery/computer/libraryconsole{ + dir = 8 + }, +/obj/structure/table, +/turf/open/floor/iron/dark/smooth_edge, +/area/station/service/library) "dWD" = ( /obj/structure/railing{ dir = 8 @@ -13590,24 +13591,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) -"dWX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sink/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"dWY" = ( -/obj/structure/cable, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) -"dXd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "dXh" = ( /obj/effect/turf_decal/plaque{ icon_state = "L10" @@ -13631,11 +13614,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/central) -"dXo" = ( -/obj/structure/lattice, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "dXp" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -13689,12 +13667,6 @@ /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/plating, /area/station/maintenance/port) -"dXL" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/radio/intercom/directional/north, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "dXM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -13710,11 +13682,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dXP" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) "dXU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13730,6 +13697,12 @@ }, /turf/open/floor/iron, /area/station/science/research) +"dXY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "dYa" = ( /obj/machinery/requests_console/directional/north{ department = "Chapel"; @@ -13747,46 +13720,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) -"dYg" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/chair/office, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"dYi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "dYl" = ( /obj/structure/weightmachine/weightlifter, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"dYn" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/broken_flooring/side/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "dYq" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner, /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/hallway/primary/central) +"dYy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "dYB" = ( /obj/machinery/computer/mechpad, /turf/open/floor/iron/smooth, /area/station/science/robotics) -"dYX" = ( -/obj/machinery/light/directional/south, -/obj/machinery/shower/directional/east, -/obj/structure/fluff/shower_drain, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 4 - }, -/area/station/engineering/main) "dYY" = ( /obj/structure/railing/corner/end/flip{ dir = 8 @@ -13806,17 +13760,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"dZm" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) "dZs" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/fluff/paper/stack{ @@ -13845,17 +13788,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) -"dZA" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, -/obj/item/storage/crayons{ - pixel_x = -2; - pixel_y = 1 - }, -/turf/open/floor/wood, -/area/station/service/library) "dZF" = ( /obj/structure/ladder, /obj/machinery/door/window/brigdoor/right/directional/east{ @@ -13865,39 +13797,11 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/tcommsat/server) -"dZH" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/barman_recipes{ - pixel_y = 13 - }, -/obj/item/book/manual/wiki/tcomms{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/item/book/manual/wiki/surgery{ - pixel_x = -14; - pixel_y = 6 - }, -/obj/item/book/manual/wiki/research_and_development{ - pixel_x = 12; - pixel_y = 10 - }, -/obj/structure/lattice/catwalk, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/machinery/light/directional/north, -/turf/open/openspace, -/area/station/service/library) "dZM" = ( /obj/structure/girder/reinforced, /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dZU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dZZ" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1; @@ -13960,6 +13864,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/glass, /area/station/maintenance/starboard/fore) +"eaJ" = ( +/obj/structure/table, +/obj/item/paint_palette{ + pixel_y = 11 + }, +/turf/open/floor/wood, +/area/station/service/library) "eaL" = ( /obj/structure/table/reinforced, /obj/structure/displaycase/forsale{ @@ -14006,12 +13917,15 @@ "eaV" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) -"ebf" = ( -/obj/effect/turf_decal/siding/wood/corner{ +"eaX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "ebj" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, @@ -14036,13 +13950,13 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"ebK" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - co2 Cell"; - name = "atmospherics camera" +"ebD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos/upper) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ebL" = ( /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark/textured_corner, @@ -14095,16 +14009,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/openspace, /area/station/commons/dorms) -"eck" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "ecu" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -14173,6 +14077,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/maintenance/port) +"ecY" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "edc" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger{ @@ -14204,12 +14116,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"edl" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ - dir = 8 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "eds" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14228,11 +14134,13 @@ }, /area/station/hallway/secondary/exit/departure_lounge) "edu" = ( -/obj/machinery/requests_console/directional/west, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "edz" = ( /obj/effect/turf_decal/plaque{ icon_state = "L11" @@ -14242,6 +14150,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"edB" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/wood/end, +/turf/open/floor/wood/large, +/area/station/service/library) "edJ" = ( /obj/effect/landmark/start/assistant, /obj/structure/disposalpipe/segment{ @@ -14254,24 +14167,58 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) +"edX" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) +"edY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "eeb" = ( /obj/structure/chair/greyscale, /obj/effect/landmark/start/hangover, /turf/open/floor/glass/reinforced, /area/station/hallway/secondary/construction) +"eed" = ( +/obj/machinery/computer/atmos_control/carbon_tank, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "een" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) -"eep" = ( -/obj/structure/table, -/obj/item/chisel{ - pixel_x = 7; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/station/service/library) "eeq" = ( /obj/structure/chair/office{ dir = 4 @@ -14321,11 +14268,6 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/port) -"efv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random/fullysynthetic, -/turf/open/floor/eighties/red, -/area/station/maintenance/hallway/abandoned_recreation) "efA" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -14341,13 +14283,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"efD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "efJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14379,6 +14314,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"efZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/project) "ega" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, @@ -14428,6 +14367,24 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/hallway/primary/central) +"egy" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "kitchen_service" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) +"egB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) +"egC" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "egD" = ( /obj/structure/table/reinforced, /turf/open/floor/engine/vacuum, @@ -14451,14 +14408,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) -"egU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock{ - name = "Laser Tag" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/station/maintenance/hallway/abandoned_recreation) "egX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14486,12 +14435,6 @@ }, /turf/open/floor/engine/hull/air, /area/station/hallway/primary/aft) -"ehj" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "ehO" = ( /obj/item/trash/can{ pixel_x = -8 @@ -14531,16 +14474,6 @@ dir = 4 }, /area/station/hallway/primary/fore) -"eie" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "eij" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ @@ -14557,17 +14490,14 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"eiw" = ( -/obj/machinery/atmospherics/components/binary/pump/off/general/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"eiE" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +"eiG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/commons/lounge) "eiW" = ( /obj/item/beacon, /turf/open/floor/engine/vacuum, @@ -14579,9 +14509,6 @@ /obj/item/pen, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"ejg" = ( -/turf/open/floor/wood, -/area/station/engineering/lobby) "ejh" = ( /obj/effect/turf_decal/stripes/asteroid/corner, /obj/effect/spawner/random/engineering/atmospherics_portable, @@ -14590,11 +14517,13 @@ "ejo" = ( /turf/closed/wall, /area/station/science/xenobiology/hallway) -"eju" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/layer1, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) +"ejA" = ( +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "ejP" = ( /obj/effect/turf_decal/siding/dark{ dir = 6 @@ -14691,6 +14620,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"ekY" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/engineering/atmos, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "eld" = ( /obj/machinery/vending/coffee, /obj/structure/disposalpipe/segment{ @@ -14717,11 +14655,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) -"elt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/engine/hull, -/area/station/maintenance/disposal/incinerator) "elw" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -14761,10 +14694,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"elM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "elO" = ( /obj/structure/chair/sofa/corp/corner{ dir = 4 @@ -14872,11 +14801,18 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"emN" = ( -/obj/machinery/firealarm/directional/south, +"emO" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/secondary/service) "emR" = ( /obj/structure/chair/office{ dir = 1 @@ -14925,6 +14861,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"enK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "enN" = ( /obj/structure/urinal/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -14957,10 +14898,6 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) -"eoB" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "eoF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/decoration/paint, @@ -14980,14 +14917,22 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"eph" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"eoP" = ( +/obj/structure/hedge, +/turf/open/floor/glass/reinforced, +/area/station/service/library) +"eoU" = ( +/obj/structure/railing{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "epi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15021,15 +14966,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/grass, /area/station/commons/dorms) -"epI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "epR" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 4 @@ -15045,6 +14981,19 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"epX" = ( +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/closet/crate/medical, +/obj/item/hemostat, +/obj/item/cautery, +/obj/item/scalpel{ + pixel_y = 12 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "epY" = ( /obj/structure/plaque/static_plaque/golden/commission/efficiency{ pixel_y = 32 @@ -15067,6 +15016,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"eqg" = ( +/obj/structure/sign/poster/contraband/robust_softdrinks/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "eqi" = ( /obj/effect/turf_decal/trimline/red/arrow_ccw{ dir = 5 @@ -15083,12 +15037,10 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"eqp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/service/library/private) +"eqm" = ( +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "eqt" = ( /obj/machinery/camera/autoname/directional/south, /turf/open/openspace, @@ -15107,18 +15059,6 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/port/aft) -"eqF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/light/directional/north, -/obj/structure/rack, -/obj/item/lightreplacer{ - pixel_y = 7 - }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "eqU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -15132,6 +15072,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"era" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Community Center" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/wood/large, +/area/station/service/library) "erj" = ( /obj/structure/stairs/south, /turf/open/floor/iron/stairs{ @@ -15197,28 +15144,25 @@ /obj/structure/bookcase/random/religion, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"erM" = ( -/obj/structure/table/wood, -/obj/structure/lattice/catwalk, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/item/statuebust{ - desc = "Scribbled on its bottom there are the words 'FEARTHEVAPORWAVE'."; - pixel_y = 12 - }, -/turf/open/openspace, -/area/station/service/library) -"erX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "esb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/medical) +"esk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "esu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, @@ -15240,6 +15184,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/medical) +"esV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "eta" = ( /obj/machinery/vending/coffee, /obj/item/radio/intercom/directional/north, @@ -15255,11 +15211,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/commons/dorms) -"etk" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "etl" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -15299,6 +15250,11 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer4, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) +"etQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "etU" = ( /obj/structure/lattice/catwalk, /obj/structure/closet/crate/cardboard, @@ -15329,14 +15285,6 @@ /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/carpet, /area/station/maintenance/starboard/aft) -"euM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "euN" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -15373,11 +15321,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/storage/primary) -"evq" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/hedge, -/turf/open/floor/wood/large, -/area/station/service/library) +"evv" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped/layer5{ + dir = 8; + name = "air mixer" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "evC" = ( /obj/effect/turf_decal/trimline/yellow/arrow_cw{ dir = 8 @@ -15389,21 +15339,17 @@ dir = 8 }, /area/station/hallway/secondary/exit/departure_lounge) +"evH" = ( +/obj/structure/broken_flooring/singular/directional/east, +/obj/machinery/space_heater, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "evO" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/lesser) -"ewa" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{ - dir = 1 - }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) -"ewc" = ( -/obj/structure/cable, -/obj/structure/lattice/catwalk, -/obj/structure/holosign/barrier/engineering, -/turf/open/openspace, -/area/station/engineering/atmos/project) "ewf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -15441,18 +15387,26 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) -"ewn" = ( -/obj/structure/cable, -/obj/effect/landmark/start/depsec/engineering, -/obj/structure/chair/office{ - dir = 3 +"ewm" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ + cable_layer = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) -"ewp" = ( -/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 6 + }, +/obj/structure/cable/layer1, /turf/open/floor/engine, -/area/station/engineering/break_room) +/area/station/engineering/supermatter) +"ewx" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/item/weldingtool/empty{ + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "ewA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15512,6 +15466,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lab) +"exC" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/machinery/vending/boozeomat, +/turf/open/floor/iron/checker, +/area/station/service/bar) "exM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15569,6 +15531,16 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/security/prison) +"eyS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners, +/obj/item/toy/crayon/spraycan, +/obj/effect/spawner/random/food_or_drink/booze{ + spawn_random_offset = 1 + }, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "eza" = ( /obj/structure/lattice/catwalk, /obj/structure/ladder, @@ -15577,6 +15549,12 @@ }, /turf/open/openspace, /area/station/commons/dorms) +"eze" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "ezm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, @@ -15588,6 +15566,16 @@ }, /turf/open/floor/iron/dark/textured, /area/station/engineering/supermatter/room) +"ezE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron, +/area/station/engineering/lobby) "ezL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -15623,10 +15611,13 @@ /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) "eAc" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/engine_smes) +/obj/structure/chair{ + dir = 1; + pixel_y = -2 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood, +/area/station/service/library) "eAd" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -15638,10 +15629,6 @@ }, /turf/open/openspace, /area/station/engineering/lobby) -"eAf" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "eAg" = ( /obj/structure/table/wood, /obj/item/clipboard{ @@ -15658,10 +15645,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"eAt" = ( -/obj/machinery/vending/cola/pwr_game, -/turf/open/floor/eighties, -/area/station/engineering/lobby) "eAH" = ( /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, @@ -15719,20 +15702,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eBj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/obj/effect/landmark/start/depsec/engineering, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) -"eBr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 +"eBf" = ( +/obj/machinery/meter, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 8 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) "eBt" = ( /obj/structure/tank_dispenser/oxygen{ pixel_x = -1; @@ -15797,11 +15774,6 @@ /obj/structure/lattice, /turf/open/floor/engine/hull, /area/space/nearstation) -"eCA" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "eCD" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -15854,20 +15826,6 @@ /obj/effect/landmark/start/detective, /turf/open/floor/carpet, /area/station/security/detectives_office) -"eDw" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "SM_shutters"; - name = "Supermatter Radiation Shutters" - }, -/obj/structure/cable/layer1, -/turf/open/floor/plating, -/area/station/engineering/supermatter) -"eDz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/vending/colavend, -/obj/effect/mapping_helpers/broken_machine, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "eDO" = ( /obj/machinery/telecomms/bus/preset_four, /obj/effect/turf_decal/tile/yellow/fourcorners, @@ -15912,6 +15870,17 @@ /obj/structure/closet/crate/coffin, /turf/open/floor/plating, /area/station/maintenance/port) +"eEW" = ( +/obj/machinery/light/directional/north, +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/openspace, +/area/station/engineering/atmos/project) +"eFm" = ( +/obj/structure/closet/radiation, +/obj/machinery/light/directional/west, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "eFq" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -15964,11 +15933,17 @@ }, /turf/open/openspace, /area/station/command/corporate_showroom) -"eGs" = ( -/obj/structure/closet/crate/wooden/toy, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/large, -/area/station/service/theater) +"eGp" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) +"eGq" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/camera/autoname/directional/east, +/turf/open/openspace, +/area/station/engineering/break_room) "eGt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15984,20 +15959,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eGL" = ( -/obj/machinery/button/elevator{ - id = "catwalk_engi"; - pixel_y = -24 +"eGE" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/trimline/yellow/filled/end{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8; - pixel_x = -2 - }, -/turf/open/floor/engine, -/area/station/engineering/break_room) +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "eGM" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -16081,13 +16049,6 @@ }, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) -"eHY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "eIh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16155,6 +16116,12 @@ /obj/effect/landmark/carpspawn, /turf/open/misc/asteroid/airless, /area/space/nearstation) +"eIz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "eIJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -16168,6 +16135,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/station/commons/dorms) +"eIS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/contraband/microwave/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "eJb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16182,9 +16154,23 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) -"eJo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ - dir = 9 +"eJp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/public/glass{ + name = "Red Base" + }, +/turf/open/floor/circuit/red, +/area/station/maintenance/hallway/abandoned_recreation) +"eJw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "N2 Multideck Adapter"; + dir = 8 + }, +/obj/machinery/meter{ + name = "N2 meter" }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) @@ -16221,6 +16207,43 @@ }, /turf/open/floor/iron/dark, /area/station/medical/cryo) +"eKF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/table, +/obj/item/clothing/shoes/magboots{ + desc = "Magnetic boots, for the solar enthusiasts. Idential to a regular magboot in everything but soul."; + name = "Solars' Magboots"; + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 4; + pixel_y = 0 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/item/crowbar, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/gloves/color/yellow{ + pixel_x = 0; + pixel_y = 3 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "eKH" = ( /obj/structure/lattice/catwalk, /obj/structure/table/reinforced, @@ -16236,6 +16259,11 @@ }, /turf/open/openspace, /area/station/medical/storage) +"eKL" = ( +/obj/machinery/suit_storage_unit/ce, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "eKW" = ( /obj/structure/railing, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -16257,6 +16285,17 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) +"eLh" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "eLl" = ( /obj/machinery/door/airlock/command{ name = "Captain's Office" @@ -16268,6 +16307,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"eLp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) +"eLK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/siding/red, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "eLU" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -16318,6 +16368,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"eMo" = ( +/obj/structure/table, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/sign/departments/aisat/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "eME" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -16339,29 +16395,26 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port) -"eNi" = ( -/obj/item/toy/plush/moth{ - name = "Smorg Asbord"; - pixel_y = 6 +"eNk" = ( +/obj/structure/transport/linear/public, +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -6; + pixel_y = 13 }, -/obj/item/toy/plush/moth{ - name = "Moff #2"; - pixel_x = 5; - pixel_y = -10 +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = -1; + pixel_y = 13 }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 +/obj/item/plate{ + pixel_x = -7; + pixel_y = -3 }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"eNv" = ( -/obj/structure/railing{ - dir = 8 +/obj/machinery/barsign{ + pixel_y = 32 }, -/obj/structure/fake_stairs/directional/north, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/turf/open/floor/plating/elevatorshaft, +/area/station/service/kitchen) "eNz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -16375,11 +16428,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/warden) -"eNA" = ( -/obj/structure/lattice, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "eND" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/sofa/right/brown{ @@ -16398,13 +16446,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"eNI" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "eNO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -16535,23 +16576,32 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/security/detectives_office/private_investigators_office) +"eOM" = ( +/obj/structure/broken_flooring/corner/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "eOS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/south, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eOW" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +"eOY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) +"ePd" = ( +/obj/effect/turf_decal/tile/dark_blue, +/obj/structure/cable, +/obj/structure/railing{ + dir = 8 }, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "ePm" = ( /obj/structure/rack, /obj/item/radio{ @@ -16572,10 +16622,6 @@ /obj/effect/turf_decal/tile/purple/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"ePv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "ePM" = ( /obj/structure/railing, /obj/effect/decal/cleanable/dirt, @@ -16590,6 +16636,13 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"ePX" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "eQg" = ( /obj/effect/spawner/random/vending/snackvend, /obj/machinery/firealarm/directional/east, @@ -16633,6 +16686,32 @@ "eQF" = ( /turf/open/floor/iron, /area/station/commons/storage/primary) +"eQO" = ( +/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 = 2 + }, +/obj/machinery/light/directional/west, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) +"eRa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "eRb" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -16769,6 +16848,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/construction/storage_wing) +"eSh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/closet/radiation, +/turf/open/floor/iron, +/area/station/engineering/lobby) "eSm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -16799,6 +16885,13 @@ /obj/effect/mapping_helpers/mail_sorting/supply/disposals, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"eSO" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "eSV" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/siding/brown/corner, @@ -16833,6 +16926,16 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/medical) +"eTt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/openspace, +/area/station/engineering/atmos/project) "eTD" = ( /obj/structure/closet/secure_closet/chief_medical, /turf/open/floor/wood, @@ -16887,13 +16990,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"eUn" = ( -/obj/effect/turf_decal/arrows/white, -/obj/effect/turf_decal/stripes/line{ +"eUl" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) +"eUm" = ( +/obj/structure/bookcase/random/reference, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "eUr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16981,6 +17089,12 @@ }, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) +"eVu" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "eVx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood/corner{ @@ -16989,16 +17103,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"eVF" = ( -/obj/machinery/door/airlock/wood{ - name = "Psychology Office" +"eVy" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, -/turf/open/floor/wood/large, -/area/station/medical/psychology) +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "eVW" = ( /obj/structure/plaque/static_plaque/golden{ pixel_x = -32 @@ -17013,6 +17123,10 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) +"eWq" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/project) "eWt" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -17021,16 +17135,25 @@ dir = 1 }, /area/station/science/ordnance/storage) -"eWx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 +"eWv" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 6 +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"eWz" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "eWA" = ( /obj/item/toy/clockwork_watch{ desc = "An ancient piece of machinery, made from an unknown metal by an unknown maker."; @@ -17060,6 +17183,16 @@ }, /turf/open/floor/iron/dark, /area/station/science/lobby) +"eXf" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "eXp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -17101,31 +17234,37 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_half, /area/station/ai_monitored/aisat/exterior) -"eXI" = ( -/obj/structure/ladder, -/obj/structure/railing{ - dir = 1 +"eXP" = ( +/obj/structure/table, +/obj/item/stack/sheet/cardboard/fifty{ + pixel_x = 1; + pixel_y = 9 }, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) +/obj/item/stack/sheet/cardboard/fifty{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "eXS" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"eYa" = ( +/obj/item/storage/crayons{ + pixel_x = -2; + pixel_y = 1 + }, +/obj/structure/table, +/turf/open/floor/wood, +/area/station/service/library) "eYe" = ( /obj/structure/displaycase/captain{ pixel_y = 5 }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"eYf" = ( -/obj/structure/lattice/catwalk, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "eYm" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -17141,15 +17280,6 @@ dir = 4 }, /area/station/hallway/primary/port) -"eYv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "eYw" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/central) @@ -17168,6 +17298,12 @@ /obj/structure/showcase/machinery/tv/broken, /turf/open/floor/plating, /area/station/maintenance/port) +"eYS" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "eZd" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/vending/coffee{ @@ -17181,13 +17317,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"eZt" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "eZA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17235,10 +17364,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"eZW" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/service/theater) "fai" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -17252,6 +17377,22 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"fav" = ( +/obj/machinery/button/door/directional/north{ + id = "SM_Outside_shutters"; + name = "Emitter Room Shutters" + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"faw" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air to Distro" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "fbk" = ( /turf/open/floor/plating, /area/station/engineering/transit_tube) @@ -17274,11 +17415,8 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) "fbu" = ( -/obj/machinery/meter{ - name = "Mixed Air Tank In" - }, -/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, -/turf/closed/wall/r_wall, +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input, +/turf/open/floor/engine/o2, /area/station/engineering/atmos/upper) "fbv" = ( /obj/effect/turf_decal/trimline/green/filled/line{ @@ -17294,15 +17432,12 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"fbw" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 4; - initialize_directions = 4 +"fby" = ( +/obj/machinery/chem_master/condimaster{ + name = "CondiMaster Neo" }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) +/turf/open/floor/glass, +/area/station/service/kitchen) "fbC" = ( /turf/closed/wall, /area/station/medical/morgue) @@ -17312,10 +17447,6 @@ dir = 8 }, /area/station/command/corporate_showroom) -"fbJ" = ( -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "fbK" = ( /obj/structure/sign/poster/contraband/donk_co, /turf/closed/wall, @@ -17371,6 +17502,15 @@ "fcK" = ( /turf/closed/wall/r_wall, /area/station/security/detectives_office/private_investigators_office) +"fcT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "fdb" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/filled/mid_joiner, @@ -17380,14 +17520,6 @@ "fdd" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/eva) -"fdf" = ( -/obj/effect/turf_decal/tile/dark_blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_blue, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron/white, -/area/station/hallway/secondary/entry) "fdg" = ( /obj/structure/window/reinforced/plasma/spawner/directional/west, /obj/structure/window/reinforced/plasma/spawner/directional/north, @@ -17403,6 +17535,12 @@ /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /turf/open/floor/engine, /area/station/science/xenobiology) +"fdH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/entertainment/musical_instrument, +/obj/structure/table, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "fdI" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/fluff/paper{ @@ -17432,6 +17570,13 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"fdM" = ( +/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/hallway/abandoned_recreation) "fdT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17441,6 +17586,14 @@ }, /turf/open/floor/glass, /area/station/science/zoo) +"feh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/dark/end{ + dir = 8 + }, +/turf/open/floor/iron/kitchen, +/area/station/hallway/secondary/service) "fei" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/machinery/door/airlock/research/glass{ @@ -17448,6 +17601,26 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"feq" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/surgery{ + pixel_x = -14; + pixel_y = 6 + }, +/obj/item/book/manual/wiki/tcomms{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/book/manual/wiki/barman_recipes{ + pixel_y = 13 + }, +/obj/item/book/manual/wiki/research_and_development{ + pixel_x = 12; + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/large, +/area/station/service/library) "feA" = ( /obj/structure/table, /obj/item/clothing/suit/apron/chef, @@ -17475,6 +17648,18 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"ffj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ffp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -17492,6 +17677,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark/textured_half, /area/station/science/ordnance/storage) +"ffF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "ffI" = ( /obj/item/statuebust, /obj/machinery/light/cold/no_nightlight/directional/west, @@ -17525,13 +17715,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/robotics/lab) -"ffU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "fgb" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp, @@ -17556,13 +17739,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/maintenance/starboard/lesser) -"fgh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron, -/area/station/engineering/lobby) "fgq" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron, @@ -17572,6 +17748,10 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) +"fgx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "fgz" = ( /obj/machinery/door/airlock{ name = "Law Office" @@ -17581,6 +17761,13 @@ /obj/effect/landmark/navigate_destination/lawyer, /turf/open/floor/wood, /area/station/service/lawoffice) +"fgG" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "fgH" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -17589,14 +17776,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"fgS" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/machinery/suit_storage_unit/engine, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "fgT" = ( /obj/structure/railing{ dir = 1 @@ -17614,6 +17793,11 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) +"fhd" = ( +/obj/machinery/shieldgen, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/engine, +/area/station/engineering/break_room) "fhf" = ( /obj/machinery/door/airlock/maintenance{ name = "Security Maintenance" @@ -17622,20 +17806,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/range) +"fhg" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + filter_type = list(/datum/gas/nitrogen) + }, +/obj/effect/turf_decal/stripes/red/box, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "fhj" = ( /obj/machinery/camera/autoname/directional/west, /turf/open/openspace, /area/station/hallway/primary/fore) -"fhm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "fhw" = ( /obj/structure/table/reinforced/rglass, /obj/item/reagent_containers/cup/glass/mug/nanotrasen{ @@ -17688,6 +17869,14 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark, /area/station/science/cytology) +"fii" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "fik" = ( /obj/structure/rack, /obj/item/cardboard_cutout{ @@ -17756,6 +17945,18 @@ /obj/item/gun/energy/recharge/kinetic_accelerator, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"fjr" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/structure/sign/poster/random/directional/south, +/obj/structure/table/wood, +/obj/item/book/manual/wiki/barman_recipes{ + pixel_x = -4; + pixel_y = 5 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "fjt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17891,6 +18092,12 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"fkR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/lobby) "fkX" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -17938,6 +18145,13 @@ dir = 8 }, /area/station/hallway/secondary/exit/departure_lounge) +"flM" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/painting/large/library, +/turf/open/openspace, +/area/station/maintenance/port/fore) "flS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -17951,13 +18165,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/medical/psychology) -"fmb" = ( -/obj/machinery/atmospherics/pipe/multiz/orange/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "fmd" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/start/hangover, @@ -18003,19 +18210,27 @@ /obj/structure/railing, /turf/open/openspace, /area/station/commons/dorms) -"fnb" = ( -/obj/machinery/door/airlock/mining{ - name = "Cargo Bay" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Bay Shutters"; - id = "qm_cargobay"; +"fmO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) +"fmV" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/turf/open/floor/plating, -/area/station/cargo/storage) +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) +"fnd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "fnm" = ( /obj/structure/cable, /turf/closed/wall, @@ -18048,12 +18263,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/plating, /area/station/engineering/lobby) -"fnM" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "fnT" = ( /obj/structure/lattice/catwalk, /obj/structure/sign/poster/contraband/random/directional/east, @@ -18080,6 +18289,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"fnY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "foj" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, @@ -18109,6 +18324,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/research) +"foH" = ( +/obj/effect/turf_decal/loading_area, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/textured, +/area/station/maintenance/disposal/incinerator) +"foJ" = ( +/obj/machinery/meter/monitored/distro_loop, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible/layer2{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/pumproom) "foN" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -18119,6 +18347,13 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) +"foZ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "fpe" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -18218,24 +18453,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull, /area/space/nearstation) -"fqc" = ( -/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 = "Event Storage" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/library, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/service/library/printer) -"fqh" = ( -/obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "fqj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18264,18 +18481,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fqC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/glass, -/area/station/service/kitchen) "fqD" = ( /obj/structure/table, /obj/item/mmi, @@ -18293,11 +18498,6 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"fqL" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/holopad, -/turf/open/floor/carpet, -/area/station/service/bar/backroom) "fqO" = ( /obj/structure/sign/warning/cold_temp/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -18357,6 +18557,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"frJ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "frK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18394,11 +18600,23 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"fsj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/light/directional/south, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "fso" = ( /obj/machinery/duct, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"fsw" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "fsx" = ( /obj/machinery/door/airlock/public/glass{ name = "Science Store" @@ -18411,13 +18629,6 @@ /obj/effect/landmark/navigate_destination/research, /turf/open/floor/iron/dark, /area/station/science/lobby) -"fsI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "fsM" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -18479,11 +18690,6 @@ /obj/machinery/vending/sovietsoda, /turf/open/openspace, /area/station/construction/storage_wing) -"fty" = ( -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "ftA" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -18492,14 +18698,10 @@ }, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) -"ftI" = ( -/obj/machinery/meter, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 8 - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) +"ftG" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/upper) "ftK" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/fluff/paper/corner{ @@ -18523,14 +18725,6 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/exit/departure_lounge) -"fuc" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, -/obj/effect/landmark/start/atmospheric_technician, -/obj/machinery/light/directional/south, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "fui" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -18572,10 +18766,25 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) +"fuv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "fuP" = ( /obj/machinery/camera/autoname/directional/south, /turf/open/floor/glass, /area/station/hallway/secondary/entry) +"fuU" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/reagent_dispensers/foamtank, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "fuW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -18613,17 +18822,17 @@ dir = 4 }, /area/station/ai_monitored/aisat/exterior) -"fvk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"fvu" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/structure/table, -/obj/item/storage/toolbox/artistic{ - pixel_x = 1; - pixel_y = 10 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/vending/wardrobe/engi_wardrobe, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "fvG" = ( /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/machinery/door/airlock/maintenance_hatch, @@ -18671,21 +18880,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"fwr" = ( -/obj/machinery/light/directional/west, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_y = 5 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "fwx" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark/textured_large, @@ -18711,6 +18905,15 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/central) +"fwE" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "fwF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/checker, @@ -18754,25 +18957,20 @@ /obj/effect/landmark/navigate_destination/vault, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"fxl" = ( -/obj/structure/broken_flooring/singular/directional/east, -/obj/machinery/space_heater, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "fxp" = ( /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fxB" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/machinery/computer/station_alert{ - dir = 8 +"fxO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/checker, +/area/station/service/bar) "fxS" = ( /obj/structure/railing{ dir = 8 @@ -18818,24 +19016,6 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"fyp" = ( -/obj/machinery/griddle, -/obj/machinery/elevator_control_panel/directional/east{ - linked_elevator_id = "catwalk_cafe"; - name = "Feeding Elevator Controller"; - pixel_x = 0; - pixel_y = 26; - preset_destination_names = list("2"="Lower Deck","3"="Upper Deck") - }, -/obj/structure/sign/directions/upload/directional/north{ - desc = "It stands for Up Le Dable"; - dir = 2; - name = "Button Indicator"; - pixel_y = 40 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "fyw" = ( /obj/machinery/newscaster/directional/north, /obj/structure/cable, @@ -18856,17 +19036,6 @@ /obj/item/poster/random_contraband, /turf/open/floor/iron/dark, /area/station/maintenance/port) -"fyz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction/yjunction, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=9-Bridge"; - location = "8-Kitchen" - }, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "fyD" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -18917,6 +19086,41 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"fzl" = ( +/obj/structure/table, +/obj/item/clothing/suit/hazardvest{ + pixel_x = -13; + pixel_y = 3 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_y = 4 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = 10; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = -10; + pixel_y = -11 + }, +/obj/item/clothing/head/cone{ + pixel_x = -10; + pixel_y = -11 + }, +/obj/item/clothing/head/cone{ + pixel_x = -10; + pixel_y = -11 + }, +/obj/item/clothing/head/cone{ + pixel_x = -10; + pixel_y = -11 + }, +/obj/item/clothing/head/cone{ + pixel_x = -10; + pixel_y = -11 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "fzv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -18930,53 +19134,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"fzB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/stack/sheet/iron/fifty{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/stack/sheet/iron/fifty{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/stack/sheet/plasteel{ - amount = 10; - pixel_x = -6; - pixel_y = 7 - }, -/obj/item/stack/rods/fifty{ - pixel_x = 12; - pixel_y = 2 - }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stack/sheet/rglass{ - amount = 30; - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "fzE" = ( /obj/structure/table/glass, /obj/item/clothing/mask/gas{ @@ -19006,19 +19163,26 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"fzM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8; - pixel_x = -2 - }, -/obj/effect/turf_decal/caution/stand_clear{ +"fzP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"fzS" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/openspace, +/area/station/engineering/lobby) "fzT" = ( /obj/effect/turf_decal/siding/purple{ dir = 4 @@ -19043,13 +19207,6 @@ "fAl" = ( /turf/closed/wall/r_wall, /area/station/science/lab) -"fAt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/vending/wardrobe/atmos_wardrobe, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "fAB" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/trimline/green/filled/corner{ @@ -19080,17 +19237,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"fBd" = ( -/obj/item/cigarette/cigar{ - pixel_x = 4 +"fBh" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 4 }, -/obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c20{ - pixel_x = -8; - pixel_y = 8 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "fBm" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/dirt, @@ -19111,14 +19263,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/service/library/printer) -"fBE" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "fBQ" = ( /obj/structure/sign/directions/upload, /turf/closed/wall, @@ -19133,11 +19277,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"fBU" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/photocopier/prebuilt, -/turf/open/floor/plating, -/area/station/medical/psychology) "fBX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -19152,10 +19291,11 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"fCa" = ( +"fBZ" = ( /obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/lobby) +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "fCe" = ( /obj/structure/ladder, /obj/structure/lattice/catwalk, @@ -19171,23 +19311,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"fCp" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) -"fCK" = ( -/obj/effect/turf_decal/siding/dark/inner_corner{ - dir = 1 - }, -/obj/machinery/module_duplicator, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/iron/dark/smooth_corner, -/area/station/service/library) "fCL" = ( /obj/structure/lattice/catwalk, /obj/structure/rack, @@ -19269,25 +19392,21 @@ }, /turf/open/floor/iron, /area/station/science/research) -"fEr" = ( -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) +"fEl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/glass, +/area/station/service/kitchen) "fEs" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance/storage) -"fEu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "fEA" = ( /obj/structure/reagent_dispensers/wall/peppertank/directional/east, /obj/machinery/airalarm/directional/north, @@ -19297,6 +19416,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) +"fEL" = ( +/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/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "fEO" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/decal/cleanable/dirt, @@ -19346,20 +19474,6 @@ /obj/item/surgical_drapes, /turf/open/floor/iron/white/textured_large, /area/station/medical/surgery) -"fFv" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/off{ - pixel_x = 6 - }, -/obj/item/phone{ - pixel_x = -3; - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) "fFA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, @@ -19396,19 +19510,6 @@ /obj/machinery/light/directional/north, /turf/open/openspace, /area/station/security/checkpoint/science) -"fGf" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"fGj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/carpet, -/area/station/commons/lounge) "fGm" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -19440,6 +19541,11 @@ /obj/structure/closet/secure_closet/chemical, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"fGD" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/upper) "fGL" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -19501,9 +19607,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"fHm" = ( -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) +"fHk" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 4 + }, +/turf/open/floor/eighties, +/area/station/engineering/lobby) "fHp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/showcase/machinery/oldpod{ @@ -19514,24 +19623,11 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"fHv" = ( -/obj/item/paint/white{ - pixel_x = 11; - pixel_y = 8 - }, -/turf/open/floor/wood, -/area/station/service/library) "fHG" = ( /obj/structure/lattice, /obj/machinery/camera/autoname/directional/north, /turf/open/openspace, /area/station/hallway/secondary/entry) -"fHR" = ( -/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) "fHW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19561,6 +19657,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/tile, /area/station/service/abandoned_gambling_den) +"fIs" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 1; + pixel_y = 3 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "fID" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -19573,6 +19681,17 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"fIF" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "fIN" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -19605,10 +19724,6 @@ }, /turf/open/floor/engine/airless, /area/station/maintenance/disposal/incinerator) -"fJe" = ( -/obj/machinery/light/directional/west, -/turf/open/openspace, -/area/station/engineering/break_room) "fJx" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -19627,35 +19742,24 @@ dir = 4 }, /area/station/hallway/primary/fore) -"fJK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) "fJL" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/engineering) -"fKa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) -"fKh" = ( -/turf/open/floor/iron/dark, -/area/station/engineering/storage) +"fJN" = ( +/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/engineering/supermatter/room) +"fJY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/glass, +/area/station/service/kitchen) "fKi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19669,12 +19773,14 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/hallway/secondary/construction) -"fKq" = ( +"fKD" = ( +/obj/structure/cable, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 8 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "fKJ" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 4 @@ -19698,6 +19804,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"fLi" = ( +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + 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/smooth_large, +/area/station/commons/lounge) "fLq" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/openspace, @@ -19763,10 +19880,6 @@ /obj/structure/closet/crate/engineering/electrical, /turf/open/floor/glass/reinforced, /area/station/solars/starboard/fore) -"fLM" = ( -/obj/structure/table/wood, -/turf/open/floor/wood/large, -/area/station/service/library) "fLX" = ( /obj/structure/table/reinforced, /obj/item/storage/crayons{ @@ -19800,15 +19913,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"fMS" = ( -/obj/effect/turf_decal/siding/dark/inner_corner{ - dir = 8 - }, -/obj/machinery/component_printer, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 4 - }, -/area/station/service/library) "fNa" = ( /obj/effect/turf_decal/siding/blue{ dir = 4 @@ -19929,23 +20033,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"fOM" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/engine, +/area/station/engineering/main) "fPf" = ( /obj/effect/landmark/event_spawn, /turf/open/openspace, /area/station/cargo/storage) -"fPh" = ( -/obj/structure/table/wood, -/obj/item/instrument/guitar{ - pixel_y = 12 - }, -/obj/item/instrument/eguitar{ - pixel_x = 3; - pixel_y = 5 - }, -/obj/machinery/light/warm/dim/directional/south, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet, -/area/station/service/bar) +"fPi" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) +"fPl" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "fPy" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -19957,18 +20063,9 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) "fPA" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/upper) "fPD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -20030,17 +20127,15 @@ "fQp" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) -"fQr" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos/upper) -"fQu" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"fQG" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight{ + pixel_y = 8 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/eighties/red, +/area/station/maintenance/hallway/abandoned_recreation) "fQI" = ( /obj/structure/table, /obj/machinery/cell_charger{ @@ -20051,16 +20146,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/science/explab) -"fQL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fQQ" = ( /obj/machinery/vending/games, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"fQR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "fRd" = ( /obj/machinery/disposal/bin/tagger, /obj/machinery/button/door/directional/north{ @@ -20103,6 +20200,13 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"fRs" = ( +/obj/machinery/light/directional/west, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "fRE" = ( /obj/machinery/computer/security/qm{ dir = 4 @@ -20113,10 +20217,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"fRF" = ( -/obj/machinery/holopad, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "fRG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20190,11 +20290,6 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"fSt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fSF" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/effect/turf_decal/siding/dark, @@ -20260,13 +20355,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/service/cafeteria) -"fTB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/machinery/space_heater, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) +"fTF" = ( +/obj/structure/sign/warning/radiation, +/turf/closed/wall/r_wall, +/area/station/engineering/main) "fTM" = ( /obj/structure/chair, /obj/effect/turf_decal/tile/dark_blue{ @@ -20284,13 +20376,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"fTU" = ( -/obj/machinery/door/airlock/command{ - name = "Chief Engineer's Quarters" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "fTZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20298,12 +20383,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"fUb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "fUd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -20376,11 +20455,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"fUV" = ( +/obj/machinery/component_printer, +/turf/open/floor/iron/dark/smooth_edge, +/area/station/service/library) "fVa" = ( /obj/effect/landmark/event_spawn, /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"fVd" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "fVh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20409,6 +20498,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"fVn" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "fVq" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -20449,11 +20542,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"fVC" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/machinery/light/warm/dim/directional/south, -/turf/open/floor/wood, -/area/station/commons/lounge) "fVD" = ( /turf/closed/wall, /area/station/maintenance/solars/port/aft) @@ -20472,6 +20560,14 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs) +"fVU" = ( +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = 5; + pixel_y = 9 + }, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "fVX" = ( /obj/structure/table, /obj/machinery/door/poddoor/shutters/preopen{ @@ -20481,14 +20577,6 @@ }, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) -"fWa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "fWc" = ( /obj/structure/closet/secure_closet/personal, /obj/item/clothing/suit/hooded/wintercoat, @@ -20498,10 +20586,19 @@ /turf/open/floor/iron, /area/station/commons/dorms) "fWk" = ( -/obj/machinery/air_sensor/plasma_tank, -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/commons/lounge) "fWt" = ( /obj/effect/turf_decal/trimline/yellow/arrow_ccw{ dir = 4 @@ -20514,6 +20611,11 @@ dir = 4 }, /area/station/hallway/primary/fore) +"fWz" = ( +/obj/machinery/holopad, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "fWG" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20532,35 +20634,12 @@ /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"fWM" = ( -/obj/structure/table, -/obj/item/hfr_box/corner{ - pixel_y = 8; - pixel_x = 8 - }, -/obj/item/hfr_box/corner{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/hfr_box/corner{ - pixel_x = -10 - }, -/obj/item/hfr_box/corner{ - pixel_x = 3 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "fWQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"fWV" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/commons/lounge) "fWW" = ( /obj/item/cigbutt{ pixel_x = -14; @@ -20578,14 +20657,6 @@ "fWY" = ( /turf/closed/wall, /area/station/service/bar) -"fXf" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/spawner/random/entertainment/cigarette{ - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/station/service/bar) "fXh" = ( /obj/item/flashlight/lamp{ pixel_x = 4; @@ -20597,6 +20668,10 @@ }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"fXp" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "fXB" = ( /obj/machinery/status_display/evac/directional/north, /turf/open/openspace, @@ -20657,6 +20732,18 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) +"fYq" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Cooling Loop Bypass" + }, +/obj/effect/turf_decal/trimline/neutral, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"fYt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "fYu" = ( /obj/structure/bodycontainer/morgue/beeper_off, /obj/machinery/camera/autoname/directional/west{ @@ -20710,17 +20797,6 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"fZp" = ( -/obj/item/toy/plush/moth{ - name = "Spare Sani" - }, -/obj/structure/closet/crate/wooden, -/obj/item/pai_card, -/obj/item/camera, -/obj/item/taperecorder, -/obj/item/tape, -/turf/open/floor/plating, -/area/station/medical/psychology) "fZq" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/head/costume/foilhat, @@ -20733,6 +20809,13 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"fZB" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/machinery/modular_computer/preset/engineering{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "fZD" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 5 @@ -20774,16 +20857,18 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"fZS" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "gad" = ( /obj/effect/turf_decal/weather/dirt{ dir = 6 }, /turf/open/water/jungle, /area/station/science/genetics) +"gaf" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 1 + }, +/turf/open/floor/engine/hull/reinforced, +/area/space/nearstation) "gaj" = ( /obj/effect/turf_decal/trimline/red, /obj/effect/turf_decal/trimline/red/mid_joiner{ @@ -20823,16 +20908,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) -"gar" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Showers" - }, -/obj/structure/closet/radiation, -/obj/item/clothing/glasses/meson, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 8 - }, -/area/station/engineering/main) +"gav" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "gaE" = ( /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark/smooth_large, @@ -20936,13 +21016,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/prison/mess) -"gbY" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "gcc" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -21058,22 +21131,22 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"gdj" = ( -/obj/effect/turf_decal/stripes/line{ +"gdu" = ( +/obj/item/toy/plush/moth{ + name = "Stockpile Sammy"; + pixel_x = -7; + pixel_y = 11 + }, +/obj/item/toy/plush/moth{ + name = "General Kill Light"; + pixel_y = -3 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"gdC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +/obj/effect/turf_decal/tile/purple/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "gdG" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, @@ -21085,6 +21158,10 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/aft) +"gef" = ( +/obj/structure/chair/office, +/turf/open/floor/iron, +/area/station/engineering/lobby) "gei" = ( /obj/structure/railing{ dir = 4 @@ -21096,6 +21173,15 @@ /obj/structure/railing/corner, /turf/open/floor/engine/hull, /area/space/nearstation) +"gex" = ( +/obj/structure/railing, +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/warm/directional/west, +/turf/open/floor/grass, +/area/station/hallway/primary/starboard) "geA" = ( /obj/effect/turf_decal/siding/red/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21110,6 +21196,19 @@ /obj/machinery/door/poddoor/incinerator_ordmix, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"geE" = ( +/obj/structure/closet/crate/secure/engineering{ + name = "Advanced Materials" + }, +/obj/item/stack/sheet/plasteel, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) "geK" = ( /turf/open/floor/iron, /area/station/cargo/storage) @@ -21121,20 +21220,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/science/xenobiology) -"geO" = ( -/obj/structure/cable, -/obj/structure/chair/stool/bar/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/lounge) -"gfc" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/microwave/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "gfh" = ( /obj/structure/railing{ dir = 4 @@ -21150,17 +21235,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"gft" = ( -/obj/item/paint/yellow{ - pixel_x = 8; - pixel_y = 3 +"gfs" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/cable, +/obj/machinery/computer/turbine_computer, +/obj/effect/mapping_helpers/airalarm/all_access, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 }, -/obj/item/paint/violet{ - pixel_x = -7; - pixel_y = -1 - }, -/turf/open/floor/wood, -/area/station/service/library) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "gfz" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/disposalpipe/segment, @@ -21172,15 +21257,15 @@ }, /turf/open/floor/wood, /area/station/hallway/primary/central) -"gfH" = ( -/obj/structure/railing/corner, -/obj/structure/railing{ - dir = 8 +"gfM" = ( +/obj/machinery/fax{ + fax_name = "Psychology Office"; + name = "Psychology Office Fax Machine" }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/light_switch/directional/north, +/obj/structure/table, +/obj/machinery/airalarm/directional/east, /turf/open/floor/wood/large, -/area/station/service/library) +/area/station/medical/psychology) "gfU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -21221,12 +21306,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"ggs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/atmos/project) "ggt" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -21237,12 +21316,6 @@ /obj/structure/ladder, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) -"ggC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/lobby) "ggE" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -21273,6 +21346,19 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"ggU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"ggW" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) +"ggX" = ( +/obj/structure/cable/multilayer/multiz, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "ghb" = ( /obj/machinery/light/directional/east, /turf/open/floor/glass/reinforced, @@ -21294,14 +21380,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"ghz" = ( -/obj/structure/easel, -/obj/item/canvas/twentythree_nineteen{ - pixel_x = 3; - pixel_y = 10 - }, -/turf/open/floor/wood, -/area/station/service/library) "ghA" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -21309,16 +21387,17 @@ }, /turf/open/openspace, /area/station/hallway/primary/central) -"ghE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"ghH" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/engineering/main) +"ghC" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ghO" = ( /obj/item/coin/antagtoken, /obj/item/coin/antagtoken{ @@ -21361,12 +21440,6 @@ /obj/item/clothing/mask/breath/medical, /turf/open/floor/iron/white/textured_large, /area/station/medical/surgery) -"ghU" = ( -/obj/effect/spawner/random/entertainment/arcade{ - dir = 4 - }, -/turf/open/floor/eighties, -/area/station/engineering/lobby) "ghV" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, @@ -21378,6 +21451,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/storage) +"gid" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "gie" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -21433,6 +21514,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"gix" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "giB" = ( /obj/machinery/camera/directional/east{ c_tag = "Secure Tech Storage" @@ -21457,6 +21542,9 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/glass, /area/station/maintenance/starboard/fore) +"gjb" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/hallway) "gjn" = ( /obj/item/kirbyplants/random, /obj/machinery/airalarm/directional/south, @@ -21490,22 +21578,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"gjN" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) -"gjO" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/machinery/door/firedoor/heavy, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) -"gjP" = ( -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "gjU" = ( /obj/effect/spawner/structure/window, /obj/structure/disposalpipe/segment{ @@ -21551,6 +21623,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/cafeteria) +"gkq" = ( +/obj/machinery/light/dim/directional/north, +/obj/structure/closet/secure_closet/personal, +/obj/item/storage/briefcase/secure, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "gkv" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -21570,45 +21652,21 @@ /obj/effect/landmark/start/botanist, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"gkU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"gkP" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "CO2 to Port" + }, +/obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"gkZ" = ( -/obj/structure/table, -/obj/item/clothing/suit/hazardvest{ - pixel_x = -13; - pixel_y = 3 +/area/station/engineering/atmos/project) +"gkW" = ( +/obj/machinery/shower/directional/west, +/obj/structure/fluff/shower_drain, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 }, -/obj/item/clothing/suit/hazardvest{ - pixel_y = 4 - }, -/obj/item/clothing/suit/hazardvest{ - pixel_x = 10; - pixel_y = 3 - }, -/obj/item/clothing/head/cone{ - pixel_x = -10; - pixel_y = -11 - }, -/obj/item/clothing/head/cone{ - pixel_x = -10; - pixel_y = -11 - }, -/obj/item/clothing/head/cone{ - pixel_x = -10; - pixel_y = -11 - }, -/obj/item/clothing/head/cone{ - pixel_x = -10; - pixel_y = -11 - }, -/obj/item/clothing/head/cone{ - pixel_x = -10; - pixel_y = -11 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/area/station/engineering/main) "gla" = ( /obj/structure/railing/corner{ dir = 4 @@ -21626,12 +21684,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"glj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/glass, -/area/station/service/kitchen) "gll" = ( /obj/effect/landmark/event_spawn, /turf/open/openspace, @@ -21653,16 +21705,6 @@ dir = 1 }, /area/station/service/chapel) -"glB" = ( -/obj/structure/table, -/obj/item/flashlight/lamp{ - pixel_y = 10 - }, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "glC" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron, @@ -21671,6 +21713,13 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/wood, /area/station/medical/medbay/central) +"glJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "glL" = ( /turf/closed/wall/mineral/plastitanium, /area/space/nearstation) @@ -21701,6 +21750,53 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"gmd" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/stack/sheet/plasteel{ + amount = 10; + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/stack/rods/fifty{ + pixel_x = 12; + pixel_y = 2 + }, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stack/sheet/rglass{ + amount = 30; + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "gme" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -21727,6 +21823,11 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"gmm" = ( +/obj/machinery/air_sensor/plasma_tank, +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "gmt" = ( /obj/item/clothing/head/wig/random, /obj/effect/mapping_helpers/broken_floor, @@ -21743,11 +21844,6 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) -"gmA" = ( -/obj/structure/mirror/directional/north, -/obj/structure/sink/directional/south, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "gmE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -21776,12 +21872,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) -"gna" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "gnf" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -21797,20 +21887,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"gno" = ( -/obj/machinery/electrolyzer, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"gnp" = ( -/obj/structure/table, -/obj/structure/showcase/machinery/tv/broken{ - pixel_y = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "gnt" = ( /obj/structure/cable, /obj/structure/railing/corner/end/flip{ @@ -21841,6 +21917,14 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/security/checkpoint/supply) +"gnF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/eighties, +/area/station/maintenance/hallway/abandoned_recreation) "gnI" = ( /obj/machinery/door/airlock/hatch{ name = "MiniSat Space Access Airlock" @@ -21909,11 +21993,6 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"goc" = ( -/obj/structure/closet/radiation, -/obj/machinery/light/directional/west, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "gog" = ( /obj/structure/sign/poster/contraband/borg_fancy_2, /turf/closed/wall, @@ -21972,6 +22051,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"goM" = ( +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "goN" = ( /obj/machinery/light/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -21989,26 +22075,33 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) -"goW" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"gpd" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/smoke_machine, +"goU" = ( +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"gph" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/wood, -/area/station/service/theater) +/area/station/command/heads_quarters/ce) +"gpk" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "gps" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library/printer) -"gpv" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet, -/area/station/service/janitor) "gpx" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -22031,38 +22124,42 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"gpM" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) +"gpK" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"gpO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Bay Shutters"; + id = "qm_cargobay"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/security/checkpoint/supply) "gpU" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/dorms) -"gqa" = ( -/obj/structure/mop_bucket/janitorialcart{ - dir = 8 - }, -/obj/item/mop, -/obj/machinery/power/apc/auto_name/directional/south, +"gpW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) +"gqb" = ( /obj/structure/cable, -/turf/open/floor/carpet, -/area/station/service/janitor) +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "gqh" = ( /obj/item/cigbutt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/disposalpipe/trunk/multiz, /turf/open/floor/wood, /area/station/commons/dorms) -"gqj" = ( -/obj/machinery/door/airlock/wood{ - name = "Event Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/library, -/obj/machinery/door/firedoor, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "gqn" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ @@ -22105,12 +22202,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"gqX" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/machinery/meter/monitored/distro_loop, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "grb" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/plating, @@ -22125,6 +22216,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"gro" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "grr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -22132,21 +22230,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"grt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "grx" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/clothing/mask/joy, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/aft) -"grJ" = ( -/obj/item/kirbyplants/random, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "grX" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -22168,10 +22256,14 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/medical/chemistry) -"gsO" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos/upper) +"gsL" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "gtd" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -22207,6 +22299,9 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) +"gtw" = ( +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "gty" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/purple/filled/line, @@ -22256,15 +22351,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"gtZ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/wood{ - name = "Kitchen" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/stairs/medium, -/area/station/hallway/primary/central) "gug" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -22302,6 +22388,12 @@ }, /turf/open/floor/iron, /area/station/science/research) +"guy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "guD" = ( /obj/effect/turf_decal/siding/dark{ dir = 1 @@ -22336,12 +22428,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"gva" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/mapping_helpers/broken_machine, -/obj/machinery/vending/tool, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "gvb" = ( /obj/machinery/light/directional/west, /obj/structure/cable, @@ -22364,28 +22450,29 @@ /obj/item/radio/intercom/prison/directional/west, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) +"gvi" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light_switch/directional/east, +/obj/effect/landmark/event_spawn, +/turf/open/floor/engine, +/area/station/service/hydroponics) "gvk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"gvr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ - dir = 1 - }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "gvI" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance/storage) +"gvK" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/obj/structure/holosign/barrier/engineering, +/turf/open/openspace, +/area/station/engineering/atmos/project) "gvU" = ( /obj/machinery/plate_press, /obj/effect/turf_decal/stripes/line, @@ -22418,10 +22505,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/tile, /area/station/maintenance/port/aft) -"gwG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "gwJ" = ( /obj/structure/ladder, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22433,29 +22516,6 @@ "gwK" = ( /turf/open/floor/engine/hull/air, /area/station/security/courtroom) -"gwS" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"gwV" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, -/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/smooth, -/area/station/engineering/main) -"gxl" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/wood/large, -/area/station/service/library) "gxm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/window/spawner/directional/north, @@ -22475,18 +22535,24 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"gyb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 +"gxW" = ( +/obj/structure/table, +/obj/item/storage/toolbox/artistic{ + pixel_x = 9; + pixel_y = 9 }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 +/obj/item/storage/toolbox/mechanical{ + pixel_x = 9; + pixel_y = 2 }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 +/obj/item/trapdoor_remote/preloaded{ + pixel_x = -6; + pixel_y = 2 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "gyc" = ( /obj/structure/table/wood, /obj/machinery/computer/libraryconsole/bookmanagement, @@ -22508,6 +22574,15 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"gym" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/station/engineering/main) "gyp" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/effect/turf_decal/stripes/corner, @@ -22528,11 +22603,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"gyr" = ( -/obj/structure/sign/warning/radiation/rad_area, -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/engineering/main) "gys" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed{ @@ -22558,10 +22628,6 @@ /obj/machinery/air_sensor, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) -"gyF" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/break_room) "gyN" = ( /obj/structure/table/glass, /obj/item/storage/briefcase/secure, @@ -22576,23 +22642,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gyV" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/fake_stairs/directional/north, +/turf/open/floor/iron, +/area/station/engineering/lobby) "gzh" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"gzo" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/layer1, -/obj/machinery/button/door/directional/east{ - id = "SM_shutters"; - name = "Radiation Shutters"; - req_access = list("engineering") - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"gzm" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "gzr" = ( /obj/structure/railing{ dir = 4 @@ -22644,6 +22708,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs) +"gAb" = ( +/obj/structure/chair/office, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron, +/area/station/engineering/lobby) "gAd" = ( /obj/structure/table, /obj/item/folder/white, @@ -22666,19 +22735,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) +"gAC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "gAI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance/storage) -"gAK" = ( -/obj/item/stack/sheet/cotton{ - pixel_x = -6; - pixel_y = 10 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "gAM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22738,15 +22808,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"gBB" = ( -/obj/effect/turf_decal/arrows/white{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "gBE" = ( /obj/structure/chair/sofa/right/brown{ dir = 8 @@ -22784,6 +22845,25 @@ }, /turf/open/openspace, /area/station/command/gateway) +"gBV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8; + pixel_x = -2 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/engine, +/area/station/engineering/break_room) +"gBY" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) +"gCa" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 10 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "gCn" = ( /obj/structure/lattice, /obj/item/toy/figure/ninja{ @@ -22829,16 +22909,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"gCV" = ( -/obj/effect/turf_decal/arrows/red{ - dir = 4; - pixel_x = -15 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "gDc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/trunk/multiz{ @@ -22846,17 +22916,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/captain/private) -"gDe" = ( -/obj/item/kirbyplants/random, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood/large, -/area/station/medical/psychology) -"gDq" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ - dir = 8 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "gDs" = ( /obj/item/kirbyplants/random, /obj/machinery/power/apc/auto_name/directional/south, @@ -22880,6 +22939,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"gDK" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "gDU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22951,6 +23016,17 @@ }, /turf/open/floor/engine/hull/reinforced/air, /area/station/ai_monitored/turret_protected/ai) +"gEZ" = ( +/obj/item/toy/cards/deck{ + pixel_y = 4 + }, +/obj/structure/table, +/obj/item/food/hotcrossbun{ + pixel_x = 10; + pixel_y = 12 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "gFa" = ( /obj/structure/table/reinforced, /obj/item/plant_analyzer, @@ -22972,12 +23048,31 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"gFk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "gFm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/closed/wall, /area/station/service/hydroponics/garden/abandoned) +"gFp" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/engineering{ + name = "Engine Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "gFt" = ( /obj/machinery/smartfridge/organ, /obj/item/radio/intercom/directional/south, @@ -23007,13 +23102,14 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/ai_monitored/turret_protected/aisat/foyer) -"gFQ" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Nitrogen Cell"; - name = "atmospherics camera" - }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos/upper) +"gFO" = ( +/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/all/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "gFU" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -23135,39 +23231,11 @@ /obj/machinery/icecream_vat, /turf/open/floor/iron, /area/station/maintenance/starboard/central) -"gHJ" = ( -/obj/structure/table, -/obj/machinery/requests_console/directional/west{ - department = "Kitchen"; - name = "Kitchen Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/processor{ - pixel_x = -4; - pixel_y = 13 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "gHK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/construction/storage_wing) -"gHR" = ( -/obj/machinery/disposal/bin, -/obj/machinery/button/door/directional/south{ - id = "psychology_shutters"; - name = "psychology shutters control"; - pixel_x = -6 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "gHU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -23183,6 +23251,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/glass/reinforced, /area/station/construction/storage_wing) +"gIn" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/upper) "gIo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23230,18 +23302,18 @@ }, /turf/open/openspace, /area/station/medical/cryo) -"gJu" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "gJT" = ( -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/obj/structure/rack, +/obj/item/clothing/glasses/meson, +/obj/item/geiger_counter, +/obj/item/clothing/head/utility/radiation, +/obj/item/clothing/suit/utility/radiation, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "gKa" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/tile/dark_blue{ @@ -23268,6 +23340,28 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/entry) +"gKs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/table/reinforced, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) +"gKB" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/machinery/light/warm/dim/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "gKL" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -23293,13 +23387,34 @@ /obj/machinery/light/red/dim/directional/south, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"gLf" = ( -/obj/effect/turf_decal/siding/wood{ +"gLe" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/holopad, -/turf/open/floor/wood/large, -/area/station/service/library) +/obj/machinery/firealarm/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) +"gLk" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/hand_labeler{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/pen{ + pixel_x = 5; + pixel_y = 2 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "gLp" = ( /obj/machinery/holopad/secure, /obj/structure/cable/layer3, @@ -23384,37 +23499,20 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) -"gMI" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/pen, -/obj/effect/turf_decal/tile/green/fourcorners, -/obj/machinery/door/window/left/directional/west{ - req_access = list("hydroponics"); - name = "Hydroponics Desk" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydropony_shutters"; - name = "Hydroponics Shutters" - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "gMO" = ( /obj/structure/window/reinforced/spawner/directional/south, /turf/open/space/openspace, /area/space/nearstation) -"gMU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"gMP" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/light/small/directional/west, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/engineering/atmos/project) "gNf" = ( /obj/structure/light_construct/directional/east, /obj/effect/mapping_helpers/broken_floor, @@ -23423,10 +23521,6 @@ "gNi" = ( /turf/open/floor/carpet, /area/station/security/detectives_office) -"gNj" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron/stairs/medium, -/area/station/hallway/primary/central) "gNq" = ( /obj/structure/table/reinforced, /turf/open/floor/wood, @@ -23434,12 +23528,6 @@ "gNr" = ( /turf/closed/wall, /area/station/service/library) -"gNw" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/firealarm/directional/west, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "gNy" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -23523,13 +23611,6 @@ /obj/item/pai_card, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"gOo" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/engineering/lobby) "gOC" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 @@ -23537,6 +23618,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"gOE" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "gOH" = ( /obj/structure/sink/kitchen/directional/west, /obj/machinery/light_switch/directional/east, @@ -23548,6 +23634,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/carpet, /area/station/ai_monitored/command/storage/eva) +"gOL" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "gOR" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron, @@ -23571,6 +23663,13 @@ /obj/machinery/drone_dispenser, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"gPj" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Nitrogen Cell"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/upper) "gPu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23579,6 +23678,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"gPv" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "gPy" = ( /obj/machinery/computer/station_alert{ dir = 1 @@ -23662,20 +23767,6 @@ }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) -"gQA" = ( -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) "gQB" = ( /obj/structure/table/reinforced, /obj/item/pai_card{ @@ -23715,6 +23806,10 @@ }, /turf/open/floor/iron/dark, /area/station/command/teleporter) +"gQW" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/engine, +/area/station/engineering/break_room) "gRn" = ( /obj/effect/turf_decal/siding/yellow{ dir = 8 @@ -23744,11 +23839,13 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"gRu" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) +"gRx" = ( +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/effect/turf_decal/delivery/white{ + color = "#ff6600" + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) "gRB" = ( /obj/machinery/door/airlock/research{ name = "Research and Development Lab" @@ -23818,39 +23915,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"gSq" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/structure/sign/plaques/kiddie{ - desc = "A certificate of psychology, indicating that the person's a psychologist."; - name = "Psychology Degree"; - pixel_x = -32 - }, -/obj/effect/landmark/start/psychologist, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet, -/area/station/medical/psychology) -"gSx" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"gSG" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) -"gSI" = ( -/obj/structure/sign/warning/radiation/rad_area, -/turf/closed/wall/r_wall, -/area/station/engineering/hallway) "gSK" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 4 @@ -23875,6 +23939,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/air, /area/station/medical/chemistry) +"gSY" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/lobby) "gTe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23884,6 +23954,18 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"gTm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/light/directional/north, +/obj/structure/rack, +/obj/item/lightreplacer{ + pixel_y = 7 + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "gTn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -23901,10 +23983,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) -"gTz" = ( -/obj/machinery/roulette, -/turf/open/floor/engine, -/area/station/engineering/break_room) "gTH" = ( /obj/structure/table, /obj/item/reagent_containers/cup/glass/mug{ @@ -23947,43 +24025,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"gUc" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "gUh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/red/dim/directional/south, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"gUn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "gUv" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/security/detectives_office) -"gUG" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/machinery/power/energy_accumulator/grounding_rod/anchored{ - cable_layer = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "gUQ" = ( /obj/machinery/door/airlock/public/glass{ name = "Nanotrasen Museum" @@ -24064,21 +24115,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/break_room) -"gWq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/glass, -/area/station/service/kitchen) "gWu" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -24164,6 +24200,11 @@ "gXG" = ( /turf/closed/wall, /area/station/science/robotics) +"gXQ" = ( +/obj/structure/cable/multilayer/multiz, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/station/engineering/atmos/upper) "gXR" = ( /obj/machinery/atmospherics/components/binary/tank_compressor{ dir = 8 @@ -24178,6 +24219,13 @@ }, /turf/open/floor/iron/dark, /area/station/medical/cryo) +"gYr" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "gYu" = ( /obj/item/lazarus_injector, /obj/item/gun/grenadelauncher, @@ -24222,6 +24270,10 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/cargo/storage) +"gYR" = ( +/obj/structure/table/wood/poker, +/turf/open/floor/carpet/stellar, +/area/station/service/library) "gYS" = ( /obj/structure/table/reinforced, /obj/item/cigbutt, @@ -24294,20 +24346,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/gravity_generator) -"gZv" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/item/toy/crayon/spraycan{ - pixel_x = 15; - pixel_y = 18 - }, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/clown, -/turf/open/floor/wood/large, -/area/station/service/theater) "gZy" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/airalarm/directional/south, @@ -24331,6 +24369,10 @@ /obj/structure/bookcase/random, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"gZO" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "gZT" = ( /obj/structure/table, /obj/item/book/manual/wiki/medicine{ @@ -24368,13 +24410,6 @@ /obj/item/storage/toolbox/mechanical, /turf/open/floor/plating, /area/station/maintenance/port) -"haf" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) "hag" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/start/hangover, @@ -24398,15 +24433,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/library) -"haE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, +"haK" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8 + dir = 10 }, -/turf/open/floor/wood/large, -/area/station/service/library) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/eighties, +/area/station/maintenance/hallway/abandoned_recreation) "haN" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -24452,6 +24486,32 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"hbO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/table, +/obj/item/tank/jetpack/oxygen{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) +"hbS" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"hcf" = ( +/obj/machinery/atmospherics/components/binary/crystallizer{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "hci" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24470,26 +24530,15 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/qm) +"hcs" = ( +/obj/machinery/newscaster/directional/north, +/obj/machinery/deepfryer, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "hcx" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"hcC" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"hcD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "hcH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24571,15 +24620,6 @@ /obj/effect/turf_decal/trimline/yellow/warning, /turf/open/floor/engine/hull, /area/space/nearstation) -"heb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/banner/blue{ - inspiration_available = 0 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/eighties, -/area/station/maintenance/hallway/abandoned_recreation) "hei" = ( /obj/structure/chair{ dir = 8 @@ -24589,6 +24629,18 @@ dir = 1 }, /area/station/service/chapel) +"hej" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/station/commons/lounge) "heo" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -24666,28 +24718,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/central) -"hgu" = ( -/obj/structure/table/wood, -/obj/item/toy/crayon/spraycan/lubecan{ - charges = 5; - pixel_x = -6; - pixel_y = 13 - }, -/obj/item/toy/crayon/spraycan/mimecan{ - charges = 5; - pixel_x = 3; - pixel_y = 13 - }, -/obj/item/toy/figure/clown{ - pixel_x = 5 - }, -/obj/item/toy/figure/mime{ - pixel_x = -5 - }, -/obj/machinery/light/directional/north, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/station/service/theater) "hgv" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -24703,20 +24733,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hgw" = ( -/obj/machinery/air_sensor/carbon_tank, -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos/upper) -"hgx" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/break_room) "hgC" = ( /obj/effect/turf_decal/siding{ dir = 4 @@ -24747,6 +24763,18 @@ /obj/machinery/vending/snack/orange, /turf/open/floor/wood, /area/station/service/library) +"hgS" = ( +/obj/structure/mop_bucket/janitorialcart{ + dir = 8 + }, +/obj/item/mop, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "hgW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24771,6 +24799,24 @@ /obj/effect/turf_decal/trimline/yellow/filled/mid_joiner, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) +"hhf" = ( +/obj/structure/table, +/obj/item/grenade/chem_grenade/teargas/moustache{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/grenade/chem_grenade/glitter/pink{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/grenade/smokebomb{ + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/service/theater_dressing) "hhp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/circuit/telecomms, @@ -24792,6 +24838,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) +"hhx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/smooth_edge, +/area/station/commons/lounge) "hhz" = ( /obj/structure/railing/corner{ dir = 1 @@ -24848,6 +24901,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"hig" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"hij" = ( +/obj/structure/displaycase/trophy, +/turf/open/floor/wood/large, +/area/station/service/library) "hik" = ( /obj/machinery/door/airlock{ id_tag = "Cabin3"; @@ -24881,6 +24945,10 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/security/medical) +"hiA" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "hiK" = ( /obj/structure/railing/corner{ dir = 4 @@ -24906,36 +24974,16 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"hja" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "hjG" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/station/hallway/secondary/construction) -"hjL" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/bottle/tequila{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/reagent_containers/cup/glass/bottle/absinthe{ - pixel_x = 5; - pixel_y = 16 - }, -/obj/item/reagent_containers/cup/glass/bottle/cognac{ - pixel_x = -7; - pixel_y = 15 - }, -/obj/item/reagent_containers/cup/glass/bottle/vodka{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/glass/bottle/rum{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet, -/area/station/service/bar) "hkm" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/fore) @@ -24960,31 +25008,6 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"hkO" = ( -/obj/structure/table, -/obj/item/storage/toolbox/artistic{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/trapdoor_remote/preloaded{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/wood/large, -/area/station/service/theater) -"hkR" = ( -/obj/machinery/button/door/directional/north{ - id = "SM_Outside_shutters"; - name = "Emitter Room Shutters" - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "hkZ" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -25015,10 +25038,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/openspace, /area/station/maintenance/starboard/aft) -"hlk" = ( -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "hlm" = ( /mob/living/basic/axolotl{ name = "The Lost Axolotl" @@ -25082,16 +25101,6 @@ /obj/structure/cable, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) -"hmb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/item/storage/medkit/fire{ - pixel_y = 2 - }, -/obj/structure/table/reinforced, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "hmc" = ( /obj/structure/lattice/catwalk, /obj/item/toy/figure/assistant, @@ -25110,6 +25119,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"hmt" = ( +/obj/item/reagent_containers/cup/glass/mug/tea, +/obj/structure/table/wood, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "hmw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -25142,6 +25156,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/station/commons/dorms) +"hmX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "hmY" = ( /obj/effect/turf_decal/siding/brown{ dir = 6 @@ -25167,13 +25191,17 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"hni" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/lattice/catwalk, -/turf/open/water, -/area/station/maintenance/port/fore) +"hng" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Air Supply"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/upper) +"hnh" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "hnk" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -25183,32 +25211,12 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison) -"hnt" = ( -/obj/structure/table/wood, -/obj/item/food/pie/cream{ - pixel_y = 9 +"hns" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/item/food/pie/cream{ - pixel_y = 9 - }, -/obj/item/food/pie/cream{ - pixel_y = 9 - }, -/obj/item/bikehorn/rubberducky{ - pixel_x = -14; - pixel_y = 6 - }, -/obj/item/bikehorn/airhorn{ - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/bikehorn/rubberducky{ - pixel_x = -9; - pixel_y = 2 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/carpet, -/area/station/service/theater) +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "hny" = ( /obj/structure/table, /obj/structure/microscope, @@ -25244,10 +25252,6 @@ }, /turf/open/openspace, /area/station/commons/fitness/recreation) -"hnN" = ( -/obj/structure/railing/corner, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "hnU" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/table, @@ -25257,6 +25261,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) +"hnV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "hnZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -25292,6 +25302,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) +"hoO" = ( +/obj/structure/stairs/north{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/structure/sign/departments/botany/alt2/directional/west, +/turf/open/floor/iron/stairs/medium, +/area/station/hallway/primary/central) "hoP" = ( /obj/structure/table/reinforced, /obj/item/surgery_tray/full/morgue{ @@ -25301,6 +25319,22 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"hoQ" = ( +/obj/machinery/light/warm/dim/directional/south, +/obj/item/kirbyplants/potty, +/obj/effect/turf_decal/siding/thinplating_new/dark/end{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) +"hpe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron, +/area/station/engineering/lobby) "hpk" = ( /obj/structure/lattice, /obj/machinery/camera/autoname/directional/south, @@ -25351,19 +25385,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"hpQ" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"hpR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) "hqf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -25385,6 +25406,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"hql" = ( +/obj/effect/turf_decal/stripes/line, +/turf/closed/wall/r_wall, +/area/station/engineering/break_room) "hqr" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -25400,15 +25425,6 @@ "hqz" = ( /turf/closed/wall, /area/station/medical/abandoned) -"hqD" = ( -/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 = 2 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hqL" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/openspace, @@ -25441,12 +25457,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"hrh" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "hri" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/vending/snackvend, @@ -25471,31 +25481,14 @@ "hrD" = ( /turf/open/openspace, /area/station/command/heads_quarters/hop) -"hrE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 1 +"hsd" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"hrT" = ( -/obj/structure/broken_flooring/singular/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"hrW" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/photocopier/prebuilt, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) -"hsh" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance Access" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/library, -/turf/open/floor/wood/large, -/area/station/maintenance/hallway/abandoned_recreation) +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "hsi" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -25508,6 +25501,14 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/white/textured_large, /area/station/science/robotics) +"hsz" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "hsB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/punching_bag, @@ -25515,12 +25516,14 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"hsL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"hsI" = ( +/obj/machinery/shower/directional/east, +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/stripes/white/line{ dir = 1 }, -/turf/open/floor/wood/large, -/area/station/medical/psychology) +/turf/open/floor/iron/dark/smooth_corner, +/area/station/engineering/main) "hsR" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -25539,11 +25542,6 @@ }, /turf/closed/wall, /area/station/hallway/primary/central) -"hsV" = ( -/obj/structure/cable/layer1, -/obj/structure/sign/warning/radiation/rad_area/directional/east, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) "htb" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/fluff/paper/stack{ @@ -25552,15 +25550,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"htd" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, +"htc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) +/area/station/engineering/break_room) "htm" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -25580,16 +25574,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"htr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/bounty, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Bay Shutters"; - id = "qm_cargobay"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/cargo/bitrunning/den) "hty" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25652,6 +25636,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"hun" = ( +/obj/structure/stairs/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/stairs/right, +/area/station/engineering/lobby) "huo" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -25668,39 +25659,11 @@ }, /turf/open/floor/plating, /area/station/construction/storage_wing) -"huE" = ( -/obj/structure/cable, -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "huR" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"huV" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "Plasma Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "Plasma meter" - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"huW" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/service/bar) "hvc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -25727,21 +25690,22 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"hvS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) +"hwe" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/ai_monitored/command/storage/eva) "hwn" = ( /obj/effect/spawner/random/trash/crushed_can, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hww" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "hwP" = ( /obj/structure/chair/sofa/middle/brown, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -25760,14 +25724,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/gateway) -"hwT" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 8 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/carpet, -/area/station/medical/psychology) "hwU" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -25776,24 +25732,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"hwV" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/item/newspaper{ - pixel_y = 2 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) -"hwW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/theater) "hxa" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -25905,6 +25843,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"hyo" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) +"hyw" = ( +/obj/structure/closet/firecloset, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "hyx" = ( /obj/effect/decal/cleanable/dirt, /obj/item/restraints/legcuffs/beartrap/prearmed, @@ -25921,13 +25873,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"hyS" = ( -/obj/structure/chair/sofa/right/brown{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/large, -/area/station/service/library) "hyZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -25966,21 +25911,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) -"hzI" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/atmos/project) -"hzJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) +"hzP" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/machinery/light/warm/dim/directional/west, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/iron/checker, +/area/station/service/bar) "hzQ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -26095,6 +26034,23 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) +"hAW" = ( +/obj/structure/closet/crate, +/obj/item/book/manual/chef_recipes, +/obj/item/hand_labeler, +/obj/item/stack/package_wrap, +/obj/item/storage/box/papersack{ + icon_state = "paperbag_NanotrasenStandard_closed" + }, +/obj/item/storage/box/papersack{ + icon_state = "paperbag_NanotrasenStandard_closed" + }, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "hBh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -26108,6 +26064,14 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/central) +"hBw" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "hBy" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -26146,12 +26110,6 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"hBY" = ( -/obj/structure/dresser, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/service/theater) "hCe" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -26159,6 +26117,9 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) +"hCg" = ( +/turf/open/floor/engine, +/area/station/engineering/break_room) "hCj" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/structure/sign/poster/party_game/directional/north, @@ -26203,6 +26164,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"hCH" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "hCP" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -26256,13 +26223,14 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/engine, /area/station/service/hydroponics) -"hDz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"hDv" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree{ + pixel_x = 4; + pixel_y = 10 }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) +/turf/open/floor/glass/reinforced, +/area/station/service/library) "hDG" = ( /obj/structure/railing/corner/end{ dir = 4 @@ -26275,6 +26243,12 @@ }, /turf/open/floor/catwalk_floor/iron_white, /area/station/ai_monitored/turret_protected/aisat_interior) +"hDS" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 5 + }, +/turf/open/floor/engine/hull/reinforced, +/area/space/nearstation) "hDT" = ( /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron, @@ -26297,15 +26271,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/tcommsat/server) -"hDW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hop_office, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "hEf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26394,6 +26359,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"hFq" = ( +/obj/structure/rack, +/obj/item/clothing/suit/utility/radiation, +/obj/item/clothing/head/utility/radiation, +/obj/item/geiger_counter, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hFy" = ( /obj/structure/ladder, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26401,6 +26377,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"hFA" = ( +/obj/structure/lattice/catwalk, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "hFG" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -26425,11 +26405,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"hFQ" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) "hFT" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26503,18 +26478,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"hGK" = ( -/obj/structure/closet/radiation, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"hGN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "hGR" = ( /obj/structure/table/reinforced, /obj/item/pen, @@ -26529,26 +26492,6 @@ /obj/effect/landmark/navigate_destination/teleporter, /turf/open/floor/iron/stairs/medium, /area/station/hallway/primary/central) -"hHm" = ( -/obj/machinery/vending/autodrobe, -/obj/item/clothing/head/cone{ - pixel_x = 18; - pixel_y = 7 - }, -/obj/item/clothing/head/cone{ - pixel_x = 18; - pixel_y = 7 - }, -/obj/item/clothing/head/cone{ - pixel_x = 18; - pixel_y = 7 - }, -/obj/item/plunger{ - pixel_x = 12; - pixel_y = -7 - }, -/turf/open/floor/wood/large, -/area/station/service/theater) "hHr" = ( /obj/effect/turf_decal/trimline/brown/warning{ dir = 10 @@ -26578,18 +26521,6 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"hHF" = ( -/obj/machinery/disposal/bin/tagger, -/obj/machinery/airalarm/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/janitor) -"hHG" = ( -/obj/effect/turf_decal/trimline/yellow/warning, -/turf/open/floor/engine/hull/reinforced, -/area/space/nearstation) "hHK" = ( /obj/machinery/computer/atmos_alert{ dir = 1 @@ -26628,6 +26559,17 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"hIj" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/structure/cable, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "hIn" = ( /obj/structure/cable, /obj/item/stack/sticky_tape{ @@ -26725,6 +26667,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/station/commons/dorms) +"hJS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "hJX" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26744,21 +26693,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"hKd" = ( -/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, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/airlock/engineering{ - name = "Engine Room" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "hKh" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -26768,6 +26702,12 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) +"hKn" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "hKw" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -26782,11 +26722,27 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"hKE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/requests_console/directional/west{ + name = "Engineering Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "hKJ" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/dark/smooth_large, /area/station/security/eva) +"hKO" = ( +/obj/structure/sign/poster/official/random/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/service/library) "hKP" = ( /obj/structure/chair/office/light{ dir = 4 @@ -26797,6 +26753,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"hKS" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high{ + charge = 100; + maxcharge = 15000 + }, +/obj/item/pipe_dispenser{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/meson/engine{ + pixel_y = 4 + }, +/obj/machinery/cell_charger, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "hLd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26809,12 +26781,6 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/aft) -"hLs" = ( -/obj/machinery/light/directional/east, -/obj/structure/railing, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/storage) "hLu" = ( /obj/effect/turf_decal/siding{ dir = 8 @@ -26880,12 +26846,24 @@ }, /turf/open/floor/plating, /area/station/service/hydroponics/garden/abandoned) +"hLS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/pdapainter/engineering, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "hLT" = ( /obj/docking_port/stationary/escape_pod{ dir = 8 }, /turf/open/floor/engine/hull, /area/space/nearstation) +"hMc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/clock/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hMd" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -26907,6 +26885,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/science/explab) +"hMt" = ( +/obj/machinery/portable_atmospherics/canister/plasma, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "hMw" = ( /obj/effect/turf_decal/trimline/dark/arrow_cw, /obj/effect/turf_decal/trimline/dark/arrow_cw, @@ -26955,6 +26937,16 @@ }, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) +"hMG" = ( +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/light/directional/east, +/obj/structure/table, +/obj/item/book/manual/wiki/cooking_to_serve_man{ + pixel_x = -4; + pixel_y = 6 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "hMI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance, @@ -26967,11 +26959,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"hMJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "hMU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -27031,33 +27018,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"hNy" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Community Center" - }, -/obj/machinery/door/firedoor, -/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, -/area/station/service/library) -"hNz" = ( -/obj/effect/turf_decal/tile/dark_green/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/item/stack/sheet/cotton{ - pixel_x = -5; - pixel_y = 15 - }, -/obj/effect/decal/cleanable/generic, -/obj/structure/closet/firecloset, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "hNC" = ( /obj/structure/stairs/west, /turf/open/floor/plating, /area/station/security/courtroom) +"hNJ" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 4; + initialize_directions = 8 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "hNW" = ( /obj/effect/spawner/structure/window, /obj/effect/turf_decal/stripes/line{ @@ -27107,14 +27079,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"hOO" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "N2 to Port" - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "hOQ" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 @@ -27124,13 +27088,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"hOV" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ +"hOZ" = ( +/obj/structure/chair/sofa/bench/right{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/engine/hull/reinforced/air, +/turf/open/floor/glass/reinforced/plasma, /area/station/engineering/atmos/project) "hPa" = ( /obj/structure/railing{ @@ -27167,11 +27129,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/commons/dorms) -"hPQ" = ( -/obj/structure/table/wood, -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet, -/area/station/medical/psychology) +"hPP" = ( +/obj/structure/stairs/north, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/stairs/left, +/area/station/engineering/lobby) "hPU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27208,13 +27172,6 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/break_room) -"hQb" = ( -/obj/machinery/light_switch/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "hQd" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -27223,26 +27180,26 @@ /obj/machinery/light/directional/south, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"hQk" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/soup_pot{ - pixel_x = 6; - pixel_y = 16 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) -"hQt" = ( -/obj/effect/turf_decal/siding/thinplating{ +"hQj" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/grassy/style_random, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/grass, -/area/station/engineering/lobby) +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/glass, +/area/station/service/kitchen) +"hQr" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/wood, +/obj/structure/curtain/cloth/fancy/mechanical{ + name = "Psychologist's Office Curtains"; + id = "psychpriv" + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "hQE" = ( /obj/structure/railing{ dir = 8 @@ -27254,6 +27211,11 @@ }, /turf/open/floor/wood, /area/station/service/chapel) +"hQQ" = ( +/obj/structure/broken_flooring/singular/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "hQU" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -27267,6 +27229,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) +"hQZ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hRa" = ( /obj/structure/table, /obj/item/storage/belt/medical{ @@ -27286,13 +27253,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"hRc" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "hRd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -27330,10 +27290,6 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"hRr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos/upper) "hRv" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -27360,21 +27316,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/brig) -"hRN" = ( -/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 = 2 - }, -/obj/machinery/light/directional/west, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "hRO" = ( /obj/machinery/door/poddoor/shutters{ name = "Teleporter Access Shutter"; @@ -27414,20 +27355,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/security/courtroom) -"hSd" = ( -/obj/structure/table, -/obj/item/compact_remote{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 9; - pixel_y = 1 - }, -/obj/effect/turf_decal/siding/dark, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/dark/smooth_edge, -/area/station/service/library) "hSh" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -27441,6 +27368,13 @@ "hSk" = ( /turf/closed/wall, /area/station/security/checkpoint/medical) +"hSq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "hSu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -27478,12 +27412,6 @@ /obj/effect/turf_decal/trimline/blue/filled/mid_joiner, /turf/open/floor/iron/white/textured_large, /area/station/medical/surgery) -"hSA" = ( -/obj/machinery/light/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/wood, -/area/station/commons/storage/tools) "hSW" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -27493,6 +27421,30 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"hSZ" = ( +/obj/item/vending_refill/boozeomat{ + pixel_x = -4; + pixel_y = 14 + }, +/obj/item/vending_refill/cytopro{ + pixel_x = 11; + pixel_y = 11 + }, +/obj/item/vending_refill/hotdog{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"hTs" = ( +/obj/machinery/light/directional/south, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "hTt" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -27512,12 +27464,6 @@ dir = 4 }, /area/station/security/courtroom) -"hTJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/carpet, -/area/station/service/bar/backroom) "hTK" = ( /obj/structure/cable, /obj/effect/turf_decal/caution, @@ -27530,19 +27476,17 @@ /obj/structure/cable/layer3, /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/satellite) -"hTP" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 1 - }, -/obj/machinery/meter{ - name = "Mixed Air Tank In" - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "hUs" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/tcommsat/server) +"hUw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/catwalk_floor, +/area/station/engineering/lobby) "hUA" = ( /obj/effect/turf_decal/arrows{ dir = 8 @@ -27550,15 +27494,38 @@ /obj/effect/spawner/random/structure/closet_empty/crate, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"hUM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hUU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) +"hVc" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/item/radio/intercom/directional/north, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "hVi" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/glass, /area/station/maintenance/starboard/fore) +"hVk" = ( +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "hVr" = ( /obj/structure/sign/warning/cold_temp/directional/west{ desc = "A sign that notes the room within is the Cold Room. Not that it's actually cold."; @@ -27585,42 +27552,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) -"hVY" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/gloves/color/black, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 5 +"hVH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 }, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 5 - }, -/obj/item/clothing/gloves/color/black, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"hWb" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 - }, -/area/station/service/library) -"hWd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/light/directional/north, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "hWk" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, @@ -27630,22 +27568,6 @@ /obj/structure/railing, /turf/open/floor/grass, /area/station/science/zoo) -"hWu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) "hWw" = ( /obj/effect/spawner/structure/window, /turf/open/floor/wood, @@ -27665,15 +27587,16 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat/foyer) -"hWT" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Gas to Mix" +"hWP" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/obj/effect/turf_decal/trimline/yellow, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/hydroponics) "hWU" = ( /obj/effect/decal/cleanable/glitter{ color = "ff8080" @@ -27685,9 +27608,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"hWV" = ( -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "hXc" = ( /obj/effect/turf_decal/plaque{ icon_state = "L3" @@ -27743,6 +27663,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/station/ai_monitored/turret_protected/ai) +"hXA" = ( +/obj/machinery/light/directional/west, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/pen{ + pixel_y = 5 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "hXD" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -27760,6 +27695,13 @@ "hXT" = ( /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) +"hYa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/main) "hYc" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable, @@ -27771,6 +27713,20 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) +"hYg" = ( +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) +"hYj" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "hYo" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -27780,6 +27736,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"hYu" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "hYx" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -27818,6 +27782,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"hYV" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/engine/hull/air, +/area/station/engineering/break_room) "hZa" = ( /obj/effect/landmark/carpspawn, /turf/open/floor/engine/hull, @@ -27835,29 +27803,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"hZg" = ( -/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{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "hZi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"hZl" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/library) "hZq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/status_display/ai/directional/east, @@ -27878,16 +27828,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"hZD" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "hZE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/poddoor{ @@ -27911,6 +27851,18 @@ /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/floor/plating, /area/station/maintenance/port) +"iaf" = ( +/turf/closed/wall, +/area/station/service/theater_dressing) +"iak" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/openspace, +/area/station/engineering/lobby) "iar" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/filled/mid_joiner, @@ -27948,21 +27900,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"iaW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"ibb" = ( -/obj/machinery/holopad, -/turf/open/floor/carpet, -/area/station/service/theater) "ibc" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/closet/boxinggloves, @@ -27970,13 +27907,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"ibf" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/medical/psychology) "ibj" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/light/directional/south, @@ -27989,6 +27919,15 @@ /obj/effect/turf_decal/siding/white/corner, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"ibq" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 4; + initialize_directions = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "ibr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -28010,11 +27949,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"ibw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/wood/large, -/area/station/service/library/private) "iby" = ( /obj/structure/railing/corner/end, /obj/structure/disposalpipe/segment{ @@ -28069,6 +28003,19 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"ich" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/engine_access, +/obj/effect/mapping_helpers/airalarm/link{ + chamber_id = "engine" + }, +/obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "icj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28085,10 +28032,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"icr" = ( -/obj/structure/broken_flooring/pile/directional/north, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "icw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -28146,21 +28089,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lab) +"idm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "idq" = ( /turf/open/floor/iron/stairs/medium{ dir = 8 }, /area/station/ai_monitored/turret_protected/ai_upload) -"idt" = ( -/obj/machinery/meter, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/door/window/brigdoor/left/directional/east{ - name = "Air Pump Room"; - req_access = list("atmospherics") - }, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "idI" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -28182,18 +28124,6 @@ /obj/item/book/bible, /turf/open/floor/carpet, /area/station/maintenance/starboard/lesser) -"idZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "iea" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -28201,12 +28131,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) -"ied" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/structure/closet/radiation, -/obj/machinery/light/directional/east, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "iee" = ( /obj/structure/table/reinforced, /obj/item/radio/headset, @@ -28228,6 +28152,27 @@ /obj/structure/mecha_wreckage/ripley, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"ien" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) +"iep" = ( +/obj/structure/table, +/obj/item/geiger_counter{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "iev" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28240,11 +28185,6 @@ dir = 4 }, /area/station/medical/abandoned) -"ieG" = ( -/obj/machinery/atmospherics/components/unary/passive_vent, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "ifn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, @@ -28278,6 +28218,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lab) +"igb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "igc" = ( /obj/machinery/computer/records/security, /obj/structure/lattice/catwalk, @@ -28339,6 +28283,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"igK" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ihd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sink/directional/east, @@ -28362,6 +28313,15 @@ }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"ihy" = ( +/obj/item/lighter{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/turf/open/floor/wood/large, +/area/station/service/bar) "ihE" = ( /obj/structure/table/wood, /obj/item/clothing/under/misc/burial, @@ -28375,6 +28335,36 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"ihG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/book/manual/wiki/medicine{ + pixel_x = -4; + pixel_y = 14 + }, +/obj/item/book/manual/wiki/plumbing{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/book/manual/wiki/cooking_to_serve_man{ + pixel_x = -6; + pixel_y = 14 + }, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = 3; + pixel_y = 10 + }, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 9; + pixel_y = 12 + }, +/obj/item/book/manual/wiki/engineering_construction{ + pixel_y = 9 + }, +/obj/structure/table/wood, +/turf/open/floor/wood/large, +/area/station/service/library) "ihP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28389,12 +28379,6 @@ /obj/effect/spawner/random/medical/memeorgans, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ihT" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) "ihV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/garbage{ @@ -28420,11 +28404,6 @@ }, /turf/open/floor/iron/white/textured_corner, /area/station/science/robotics) -"iib" = ( -/obj/structure/lattice/catwalk, -/obj/item/kirbyplants/random, -/turf/open/openspace, -/area/station/service/library) "iis" = ( /turf/closed/wall, /area/station/command/heads_quarters/captain/private) @@ -28438,15 +28417,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"iiH" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +"iiN" = ( +/obj/structure/sign/poster/official/cleanliness/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "iiV" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/random/entertainment/cigarette_pack, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"iiX" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "ijh" = ( /obj/structure/railing{ dir = 8 @@ -28485,16 +28472,6 @@ }, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"ijD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Plasma Cell"; - name = "atmospherics camera" - }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) "ijF" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/airalarm/directional/south, @@ -28513,13 +28490,15 @@ /obj/structure/railing, /turf/open/openspace, /area/station/medical/morgue) -"ikq" = ( -/obj/machinery/light/floor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"ikp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/service/library) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "ikK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28536,22 +28515,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"ikR" = ( -/obj/structure/table/wood, -/obj/item/folder/white{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/pen/fountain{ - pixel_x = 14 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet, -/area/station/medical/psychology) "ikZ" = ( /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) @@ -28572,15 +28535,6 @@ /obj/effect/spawner/random/maintenance/no_decals, /turf/open/floor/engine/hull, /area/space/nearstation) -"ilw" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "ilB" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/filingcabinet, @@ -28612,28 +28566,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison) -"imo" = ( -/obj/structure/table, -/obj/item/storage/box/hug{ - pixel_y = 9 - }, -/obj/item/bikehorn{ - pixel_y = -1 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/wood/large, -/area/station/service/theater) -"imp" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/engineering{ - name = "Engine Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "imq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28648,10 +28580,6 @@ /obj/item/airlock_painter, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"ims" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "imz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28661,20 +28589,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"imH" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "imJ" = ( /obj/structure/railing/corner{ dir = 4 }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"imL" = ( -/obj/structure/table/wood, -/obj/item/hand_labeler{ - pixel_y = -12 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet, -/area/station/service/bar/backroom) "imQ" = ( /obj/structure/table, /obj/item/storage/medkit/toxin{ @@ -28688,17 +28617,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"imU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Port to Engine"; - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "ina" = ( /obj/machinery/atmospherics/components/binary/valve, /obj/item/storage/box/matches{ @@ -28712,13 +28630,16 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison) -"ine" = ( -/obj/structure/cable, -/turf/open/floor/carpet, -/area/station/commons/lounge) "inh" = ( /turf/open/openspace, /area/station/command/bridge) +"inp" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 1 + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "int" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -28738,12 +28659,16 @@ dir = 8 }, /area/station/medical/abandoned) -"inG" = ( -/obj/structure/cable, -/obj/structure/sign/poster/official/get_your_legs/directional/west, -/obj/machinery/light/directional/west, -/turf/open/floor/wood/large, -/area/station/service/library/private) +"inI" = ( +/obj/machinery/shower/directional/west, +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/station/engineering/main) "inK" = ( /obj/machinery/conveyor{ dir = 8; @@ -28805,6 +28730,10 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) +"iov" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/lobby) "iox" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/structure/cable, @@ -28814,12 +28743,6 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"ioC" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/landmark/start/hangover, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/station/commons/lounge) "ioK" = ( /obj/structure/sign/warning/cold_temp/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28901,22 +28824,6 @@ }, /turf/open/floor/iron/edge, /area/station/hallway/primary/fore) -"ipA" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 9 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/no_smoking/circle/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"ipP" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "ipQ" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood/large, @@ -28962,6 +28869,20 @@ dir = 8 }, /area/station/tcommsat/server) +"iqf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"iqj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/upper) "iqo" = ( /obj/structure/table/reinforced, /obj/item/toy/redbutton{ @@ -28969,6 +28890,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"iqs" = ( +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Waste to Filter"; + dir = 4 + }, +/obj/effect/turf_decal/trimline/red, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "iqv" = ( /obj/structure/railing{ dir = 8 @@ -28989,6 +28919,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"iqy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "iqC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -28998,14 +28933,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/plating, /area/station/maintenance/central) -"iqI" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/project) -"iqM" = ( -/obj/item/radio/intercom/directional/south, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "irh" = ( /turf/closed/wall, /area/station/medical/cryo) @@ -29029,13 +28956,12 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"irA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"iry" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "irL" = ( /obj/item/kirbyplants/organic/plant21{ pixel_x = -11; @@ -29047,11 +28973,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"irO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "irU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -29072,6 +28993,27 @@ /obj/effect/decal/cleanable/fuel_pool, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"isi" = ( +/obj/machinery/light/warm/dim/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) +"isn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/engine/hull, +/area/station/maintenance/disposal/incinerator) +"isp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "isv" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/fluff/paper/stack{ @@ -29120,11 +29062,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) -"isZ" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/camera/autoname/directional/east, -/turf/open/openspace, -/area/station/engineering/break_room) +"isX" = ( +/obj/machinery/air_sensor/nitrous_tank, +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "ite" = ( /obj/effect/turf_decal/siding/red{ dir = 4 @@ -29144,9 +29086,28 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) +"itm" = ( +/obj/structure/transport/linear, +/turf/open/openspace, +/area/station/engineering/break_room) "itq" = ( /turf/open/floor/engine/hull/air, /area/station/engineering/lobby) +"itt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) +"itu" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "itw" = ( /obj/effect/turf_decal/siding/blue/corner{ dir = 1 @@ -29198,17 +29159,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/security/detectives_office/private_investigators_office) -"iun" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ - cable_layer = 1 +"itW" = ( +/obj/structure/railing/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 6 +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/railing{ + dir = 4 }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, +/area/station/service/library) +"itX" = ( +/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_large, +/area/station/engineering/main) "ius" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -29217,6 +29188,19 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, /area/station/security/medical) +"iuu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) +"iux" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "iuR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -29286,10 +29270,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"ivZ" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iwa" = ( /obj/effect/turf_decal/trimline/red/line, /obj/effect/turf_decal/trimline/red/line{ @@ -29316,6 +29296,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"iwq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "iwu" = ( /obj/machinery/camera/autoname/directional/east, /obj/machinery/firealarm/directional/east, @@ -29342,10 +29326,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"iwU" = ( -/obj/structure/cable, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "ixf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -29379,6 +29359,22 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine/hull/air, /area/station/command/meeting_room/council) +"ixW" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/glass, +/area/station/service/kitchen) +"iyb" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/main) "iyk" = ( /obj/machinery/door/airlock/maintenance{ name = "Auxiliary Tech Storage" @@ -29390,15 +29386,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iym" = ( -/obj/structure/railing/corner{ - 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/wood/large, -/area/station/service/library/private) "iyn" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -29429,13 +29416,6 @@ /obj/structure/sign/poster/official/pda_ad/directional/north, /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) -"iyA" = ( -/obj/machinery/vending/games, -/obj/structure/sign/painting/library_secure{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/service/library) "iyE" = ( /obj/effect/turf_decal/weather/dirt{ dir = 10 @@ -29461,10 +29441,6 @@ }, /turf/open/floor/wood, /area/station/medical/medbay/central) -"iyV" = ( -/obj/structure/broken_flooring/corner/directional/west, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "izb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29509,29 +29485,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/security/courtroom) -"izm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "izp" = ( /obj/item/stack/rods{ amount = 7 }, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/aft) -"izF" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/wood, -/area/station/service/library) "izI" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/table, @@ -29573,11 +29532,6 @@ /obj/item/target/syndicate, /turf/open/floor/iron/dark, /area/station/security/range) -"iAf" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "iAo" = ( /obj/structure/chair/office{ dir = 8 @@ -29609,21 +29563,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/commons/storage/art) -"iAQ" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/item/wrench{ - pixel_x = -7; - pixel_y = -3 - }, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) -"iAV" = ( +"iAH" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 + dir = 8 }, -/obj/machinery/vending/tool, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "iBj" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/remains/human, @@ -29631,6 +29577,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"iBl" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Community Center" + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "iBn" = ( /obj/machinery/vending/wardrobe/curator_wardrobe, /obj/machinery/light_switch/directional/east, @@ -29640,22 +29592,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) -"iBy" = ( -/obj/structure/table, -/obj/item/hfr_box/body/moderator_input{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/hfr_box/body/waste_output{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/hfr_box/body/interface, -/obj/item/hfr_box/body/waste_output{ - pixel_x = -15 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "iBG" = ( /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/plating, @@ -29675,19 +29611,6 @@ /obj/structure/sign/warning/no_smoking/directional/east, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"iBZ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/landmark/firealarm_sanity, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) "iCa" = ( /obj/effect/turf_decal/siding/purple{ dir = 4 @@ -29698,15 +29621,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lab) -"iCc" = ( -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "iCd" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/left/directional/east{ @@ -29742,6 +29656,10 @@ /obj/effect/turf_decal/siding/dark, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) +"iCq" = ( +/obj/machinery/holopad, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "iCx" = ( /obj/effect/spawner/random/trash/botanical_waste, /turf/open/floor/engine/hull/air, @@ -29838,6 +29756,15 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/engine, /area/station/science/auxlab/firing_range) +"iDS" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "iEf" = ( /obj/machinery/air_sensor/ordnance_burn_chamber, /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer4{ @@ -29895,22 +29822,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"iEw" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) -"iEH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock/wood{ - name = "Kitchen" - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "iEI" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -29973,6 +29884,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance/storage) +"iFf" = ( +/obj/structure/cable/multilayer/multiz, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "iFn" = ( /obj/structure/railing/corner/end/flip{ dir = 8 @@ -30128,6 +30044,24 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) +"iGK" = ( +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) +"iGL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random/fullysynthetic, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/eighties/red, +/area/station/maintenance/hallway/abandoned_recreation) "iGP" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable/layer3, @@ -30147,13 +30081,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"iGY" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/engineering/main) "iHo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, @@ -30192,10 +30119,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/disposal) -"iHK" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input, -/turf/open/floor/engine/air, -/area/station/engineering/atmos/upper) "iHN" = ( /obj/machinery/chem_heater, /obj/effect/turf_decal/tile/purple/opposingcorners{ @@ -30213,11 +30136,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/circuit/telecomms/server, /area/station/science/server) -"iHW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "iIi" = ( /obj/effect/turf_decal/trimline/yellow/arrow_ccw{ dir = 4 @@ -30229,6 +30147,10 @@ dir = 4 }, /area/station/hallway/primary/fore) +"iIr" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "iIs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/biogenerator, @@ -30246,18 +30168,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) -"iIy" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"iIJ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Service Hall Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/library, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/maintenance/hallway/abandoned_recreation) +"iIL" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/closet/firecloset, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "iIP" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -30301,6 +30216,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/bridge) +"iJs" = ( +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = 5; + pixel_y = 9 + }, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "iJu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -30364,6 +30288,14 @@ }, /turf/open/openspace, /area/station/engineering/lobby) +"iKl" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hydropony_shutters"; + name = "Hydroponics Shutters" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/service/hydroponics) "iKm" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box, @@ -30377,6 +30309,15 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"iKA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "iKC" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, @@ -30397,14 +30338,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"iKW" = ( -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ - pixel_x = 5; - pixel_y = 9 - }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "iLe" = ( /obj/effect/turf_decal/box/red, /turf/open/floor/plating, @@ -30425,6 +30358,31 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"iLq" = ( +/obj/structure/transport/linear/public, +/obj/structure/table, +/obj/item/plate{ + pixel_x = 6 + }, +/obj/item/plate{ + pixel_x = -13; + pixel_y = 8 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/service/kitchen) +"iLr" = ( +/obj/machinery/button/door/directional/west{ + name = "Kitchen Counter Shutters Control"; + id = "kitchen_counter"; + req_access = list("kitchen") + }, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "iLy" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -30450,6 +30408,13 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"iLC" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "iLD" = ( /obj/machinery/requests_console/directional/north{ department = "Security"; @@ -30499,6 +30464,13 @@ }, /turf/open/misc/asteroid, /area/station/science/robotics) +"iLH" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "iLL" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/transit_tube/horizontal, @@ -30536,6 +30508,11 @@ }, /turf/closed/wall, /area/station/maintenance/starboard/aft) +"iMq" = ( +/obj/item/clothing/head/soft/orange, +/obj/structure/closet/secure_closet/engineering_chief, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "iMr" = ( /obj/structure/railing/corner{ dir = 8 @@ -30565,11 +30542,6 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/hallway/primary/starboard) -"iMH" = ( -/obj/structure/stairs/north, -/obj/structure/sign/departments/botany/alt2/directional/west, -/turf/open/floor/iron/stairs/medium, -/area/station/hallway/primary/central) "iML" = ( /obj/machinery/shower/directional/west, /obj/machinery/power/apc/auto_name/directional/north, @@ -30577,6 +30549,10 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"iMP" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "iMQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30604,11 +30580,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) -"iNu" = ( -/obj/structure/cable/multilayer/multiz, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) "iNy" = ( /obj/effect/turf_decal/siding/purple{ dir = 8 @@ -30633,6 +30604,19 @@ /obj/machinery/light/directional/west, /turf/open/openspace, /area/station/service/chapel) +"iNX" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/effect/landmark/start/depsec/engineering, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"iOc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "iOk" = ( /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) @@ -30721,6 +30705,14 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"iPL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "iPQ" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -30747,6 +30739,11 @@ }, /turf/open/openspace, /area/station/hallway/secondary/construction) +"iQe" = ( +/obj/machinery/field/generator, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/engine, +/area/station/engineering/break_room) "iQi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -30755,46 +30752,6 @@ /obj/effect/decal/cleanable/wrapping, /turf/open/floor/iron, /area/station/construction/storage_wing) -"iQr" = ( -/obj/item/toy/plush/moth{ - name = "Spanner"; - pixel_x = -3; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/spawner/random/maintenance, -/obj/structure/sign/poster/official/moth_hardhat/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) -"iQw" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/turf/open/floor/wood/large, -/area/station/service/library) -"iQy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson{ - pixel_y = 8 - }, -/obj/item/clothing/glasses/meson{ - pixel_y = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "iQA" = ( /obj/effect/turf_decal/siding/blue{ dir = 4 @@ -30838,13 +30795,6 @@ }, /turf/closed/wall, /area/station/maintenance/starboard/lesser) -"iRc" = ( -/obj/structure/broken_flooring/singular/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "iRf" = ( /turf/open/floor/carpet, /area/station/command/meeting_room/council) @@ -30882,6 +30832,13 @@ }, /turf/open/openspace, /area/station/medical/storage) +"iRX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/engineering/lobby) "iSh" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Engineering Maintenance" @@ -30916,6 +30873,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"iSA" = ( +/obj/machinery/light/directional/south, +/obj/machinery/light_switch/directional/south, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "iSB" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, @@ -30963,13 +30929,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/command/bridge) -"iTc" = ( -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "iTf" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 @@ -30979,14 +30938,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"iTw" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"iTx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/meter, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) +"iTB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, /turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/area/station/engineering/lobby) "iTE" = ( /obj/effect/spawner/random/food_or_drink/snack, /turf/open/floor/plating, @@ -31001,16 +30968,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"iTO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "iTW" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/structure/table, @@ -31021,19 +30978,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"iUf" = ( -/obj/item/vending_refill/donksnackvendor{ - pixel_y = 15 +"iUj" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/obj/item/vending_refill/sovietsoda{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "iUl" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/science/genetics, @@ -31047,6 +30999,15 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/security/interrogation) +"iUo" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "iUs" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -31056,15 +31017,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"iUu" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "iUx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31100,6 +31052,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) +"iVc" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/structure/sign/warning/vacuum/external/directional/east, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "iVi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -31123,6 +31080,12 @@ /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"iVT" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "iVW" = ( /turf/open/floor/plating/elevatorshaft, /area/station/security/prison/rec) @@ -31146,6 +31109,12 @@ /obj/structure/urinal/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"iWh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "iWk" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -31155,25 +31124,6 @@ /obj/effect/turf_decal/trimline/blue/filled/mid_joiner, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"iWl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/station/service/theater) -"iWm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "iWo" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -31195,33 +31145,21 @@ "iWu" = ( /turf/closed/wall, /area/space/nearstation) -"iWD" = ( +"iWA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/smes/engineering, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/library) +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"iWM" = ( +/obj/structure/broken_flooring/side/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "iXd" = ( /obj/structure/lattice/catwalk, /obj/effect/decal/remains/human, /turf/open/space/openspace, /area/space/nearstation) -"iXg" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/purple/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/north, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "iXw" = ( /obj/structure/bed/dogbed/renault, /mob/living/basic/pet/fox/renault, @@ -31252,13 +31190,12 @@ /obj/structure/chair, /turf/open/floor/iron/airless, /area/station/maintenance/starboard/aft) -"iXI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"iXH" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "iXJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall, @@ -31290,10 +31227,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"iYJ" = ( -/obj/structure/sink/kitchen/directional/west, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "iYK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -31316,11 +31249,12 @@ /obj/effect/mapping_helpers/mob_buckler, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/aft) -"iZd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +"iZe" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/railing/corner/end, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "iZr" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -31340,6 +31274,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"iZx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "iZI" = ( /obj/machinery/computer/bank_machine, /obj/machinery/light_switch/directional/west{ @@ -31374,21 +31314,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"jae" = ( -/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/green/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"jak" = ( -/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/large, -/area/station/hallway/secondary/service) "jal" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, @@ -31470,18 +31395,13 @@ /obj/structure/sign/poster/official/help_others/directional/north, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"jbo" = ( -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"jbD" = ( /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, -/area/station/engineering/break_room) +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "jbO" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -31545,11 +31465,27 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/bomb) +"jcP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "jcQ" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"jda" = ( +/obj/item/spear, +/obj/effect/decal/cleanable/blood/old, +/obj/item/clothing/gloves/color/rainbow, +/obj/item/clothing/shoes/sneakers/rainbow, +/obj/item/clothing/under/color/rainbow, +/obj/item/clothing/head/soft/rainbow, +/obj/effect/decal/remains/human, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jdf" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/spawner/random/structure/grille, @@ -31562,10 +31498,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/bridge) -"jdh" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/engine/hull/air, -/area/station/engineering/atmos/project) "jdi" = ( /obj/effect/turf_decal/siding/purple{ dir = 8 @@ -31581,6 +31513,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) +"jdr" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/openspace, +/area/station/engineering/atmos/project) "jdB" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ dir = 1 @@ -31590,6 +31528,15 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"jdV" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Holodeck - Aft"; + name = "holodeck camera" + }, +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/station/holodeck/rec_center) "jdZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -31609,15 +31556,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/openspace, /area/station/medical/virology) -"jed" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "jee" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31640,17 +31578,6 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room/council) -"jel" = ( -/obj/structure/rack, -/obj/item/clothing/suit/utility/radiation, -/obj/item/clothing/head/utility/radiation, -/obj/item/geiger_counter, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "jeq" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -31661,12 +31588,6 @@ "jes" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/science) -"jez" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "jeA" = ( /obj/structure/railing{ dir = 8 @@ -31693,14 +31614,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"jeL" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/grassy/style_random, -/turf/open/floor/grass, -/area/station/engineering/lobby) "jeU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -31761,6 +31674,11 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"jfp" = ( +/obj/structure/lattice/catwalk, +/obj/item/kirbyplants/random, +/turf/open/openspace, +/area/station/engineering/break_room) "jfA" = ( /turf/open/openspace, /area/station/security/brig) @@ -31801,10 +31719,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"jgm" = ( -/obj/structure/chair/office, -/turf/open/floor/iron, -/area/station/engineering/lobby) "jgt" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -31859,16 +31773,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/science/server) -"jgL" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) "jgR" = ( /obj/structure/bonfire/dense, /turf/open/floor/plating, @@ -31880,6 +31784,13 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"jhg" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "jhj" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32010,12 +31921,40 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"jjd" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/pumproom) +"jjh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"jjj" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "jjn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"jjo" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "jjr" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, @@ -32027,15 +31966,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"jjC" = ( -/obj/structure/railing{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "jjG" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/blood/old, @@ -32061,6 +31991,10 @@ }, /turf/open/floor/grass, /area/station/science/genetics) +"jjZ" = ( +/obj/machinery/holopad, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "jkd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32076,11 +32010,6 @@ /obj/structure/table/wood/poker, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"jkp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "jkq" = ( /turf/open/floor/iron/stairs/right{ dir = 1 @@ -32089,27 +32018,11 @@ "jkr" = ( /turf/closed/wall, /area/station/science/lab) -"jkx" = ( -/obj/structure/closet/crate/wooden{ - desc = "Used for storing props for a stage play!."; - name = "Space Station 27 Props" - }, -/obj/item/clothing/under/costume/lobster, -/obj/item/clothing/head/collectable/captain, -/obj/item/disk/nuclear/fake/obvious, -/obj/item/clothing/head/collectable/hos, -/obj/item/toy/gun, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/item/clothing/head/collectable/xenom, -/obj/item/clothing/head/collectable/hardhat, -/obj/item/clothing/head/collectable/police, -/turf/open/floor/wood/large, -/area/station/service/theater) +"jkz" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "jkG" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Post - Cargo" @@ -32124,6 +32037,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) +"jkI" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "jkL" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -32183,14 +32100,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"jlq" = ( -/obj/structure/railing, -/obj/structure/chair, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/siding/wood, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "jlB" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -32236,6 +32145,21 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"jmv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"jmD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/broken_flooring/side/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "jmQ" = ( /obj/effect/spawner/random/trash/grime, /turf/open/floor/plating, @@ -32297,6 +32221,14 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) +"jnq" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/openspace, +/area/station/engineering/break_room) "jnC" = ( /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) @@ -32311,6 +32243,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) +"jnQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "jof" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -32325,6 +32263,33 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) +"joH" = ( +/obj/item/vending_refill/donksnackvendor{ + pixel_y = 15 + }, +/obj/item/vending_refill/sovietsoda{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/structure/railing{ + dir = 6 + }, +/obj/item/vending_refill/coffee{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"joI" = ( +/obj/machinery/power/emitter{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) "jpa" = ( /obj/machinery/vatgrower{ dir = 4 @@ -32349,14 +32314,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"jpr" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "CO2 to Port" - }, -/obj/effect/turf_decal/tile/dark/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "jps" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/structure/cable, @@ -32369,19 +32326,18 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/command/corporate_showroom) +"jpw" = ( +/obj/machinery/door/poddoor{ + id = "securestoragecw"; + name = "Secure Storage" + }, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/break_room) "jpx" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/lockers) -"jpy" = ( -/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" - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/carpet, -/area/station/service/bar) "jpA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32401,13 +32357,6 @@ /obj/item/mmi, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) -"jpV" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "jqd" = ( /obj/machinery/door/airlock/public/glass{ name = "Prison Community Center" @@ -32455,12 +32404,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"jqO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/turf/open/floor/engine, -/area/station/service/hydroponics) "jqR" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -32545,10 +32488,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"jrz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "jrK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -32566,19 +32505,18 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"jrU" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/light_switch/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "jrV" = ( /obj/machinery/status_display/evac/directional/north, /obj/machinery/light/directional/north, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"jrX" = ( +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "jsh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -32593,10 +32531,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"jsm" = ( -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "jsD" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -32606,14 +32540,6 @@ /obj/structure/sign/poster/contraband/lizard/directional/south, /turf/open/openspace, /area/station/maintenance/starboard/fore) -"jsF" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix Bypass" - }, -/obj/effect/turf_decal/trimline/blue, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "jsK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32627,15 +32553,6 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"jtj" = ( -/obj/structure/table, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/obj/item/pen, -/obj/item/airlock_painter, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "jtm" = ( /obj/machinery/door/airlock/medical{ name = "Abandoned Room" @@ -32652,6 +32569,26 @@ /obj/structure/railing, /turf/open/space/openspace, /area/space/nearstation) +"jtS" = ( +/obj/machinery/vending/autodrobe, +/obj/item/clothing/head/cone{ + pixel_x = 18; + pixel_y = 7 + }, +/obj/item/clothing/head/cone{ + pixel_x = 18; + pixel_y = 7 + }, +/obj/item/clothing/head/cone{ + pixel_x = 18; + pixel_y = 7 + }, +/obj/item/plunger{ + pixel_x = 12; + pixel_y = -7 + }, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "jtT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -32697,43 +32634,10 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/break_room) -"jug" = ( -/obj/structure/table, -/obj/item/stack/sheet/cardboard/fifty{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/stack/sheet/cardboard/fifty{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood/large, -/area/station/service/theater) -"jui" = ( -/obj/structure/table, -/obj/item/kitchen/rollingpin{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 7; - pixel_y = 13 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 4; - pixel_y = 7 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/large, -/area/station/service/kitchen) -"juj" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/catwalk_floor, +"juh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) "juo" = ( /obj/effect/turf_decal/siding{ @@ -32755,15 +32659,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"juq" = ( -/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/plating, -/area/station/maintenance/port/fore) "jur" = ( /obj/structure/table, /obj/effect/turf_decal/siding/dark{ @@ -32794,6 +32689,14 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"juM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_recreation) "juP" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -32880,6 +32783,11 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) +"jvZ" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "jwa" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/central) @@ -32997,6 +32905,10 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/starboard/lesser) +"jxs" = ( +/obj/machinery/light/floor, +/turf/open/floor/carpet/black, +/area/station/service/theater) "jxt" = ( /obj/structure/ladder, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -33025,16 +32937,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"jxI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "jxL" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/purple/fourcorners, @@ -33073,6 +32975,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"jxZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/end{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "jyd" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -33082,6 +32999,10 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"jyg" = ( +/obj/item/radio/intercom/directional/north, +/turf/open/openspace, +/area/station/service/kitchen) "jyl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing, @@ -33180,10 +33101,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) -"jzi" = ( -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library) +"jzj" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "jzx" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /obj/machinery/firealarm/directional/east, @@ -33215,14 +33139,6 @@ /obj/effect/turf_decal/tile/dark/half/contrasted, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"jzQ" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "jzW" = ( /obj/structure/table/wood, /obj/item/camera{ @@ -33262,6 +33178,13 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) +"jAd" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "jAo" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 4 @@ -33315,24 +33238,23 @@ }, /turf/open/floor/iron/edge, /area/station/hallway/primary/fore) -"jAU" = ( -/obj/machinery/space_heater, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"jAY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"jBb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "jBd" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"jBh" = ( +/obj/structure/sign/poster/random/directional/west, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "jBk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33365,25 +33287,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"jBB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "jBI" = ( /obj/structure/cable, /obj/structure/table, /obj/item/clothing/mask/gas, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"jBU" = ( -/obj/structure/transport/linear/public, -/obj/structure/table, -/obj/item/plate{ - pixel_x = 6; - pixel_y = 9 +"jBK" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/railing/corner, +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/item/plate{ - pixel_x = -11; - pixel_y = -2 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/commons/lounge) +/obj/structure/flora/tree/jungle, +/turf/open/floor/grass, +/area/station/hallway/primary/starboard) "jBW" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -33403,15 +33326,16 @@ }, /turf/open/openspace, /area/station/command/gateway) +"jCa" = ( +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "jCk" = ( /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) -"jCo" = ( -/turf/closed/wall, -/area/station/engineering/main) "jCt" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -33419,6 +33343,21 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"jCv" = ( +/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, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/airlock/engineering{ + name = "Engine Room" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "jCz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33446,6 +33385,14 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/port) +"jCJ" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "jCK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -33454,6 +33401,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"jCN" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "jCO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -33475,21 +33426,6 @@ /obj/item/surgicaldrill, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"jCT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos/upper) -"jCW" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "jDe" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -33532,6 +33468,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/science/robotics/lab) +"jDl" = ( +/obj/item/radio/intercom/directional/north, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark/smooth_corner, +/area/station/engineering/main) "jDq" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/trunk/multiz/down{ @@ -33544,6 +33487,15 @@ /obj/effect/spawner/random/clothing/wardrobe_closet_colored, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) +"jDt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "jDx" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33560,20 +33512,6 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) -"jDI" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos/upper) -"jDJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 9 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "jDL" = ( /obj/effect/turf_decal/siding/dark{ dir = 9 @@ -33596,6 +33534,19 @@ /obj/structure/sign/poster/contraband/tools/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"jDY" = ( +/obj/effect/turf_decal/tile/dark_green/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/item/stack/sheet/cotton{ + pixel_x = -5; + pixel_y = 15 + }, +/obj/effect/decal/cleanable/generic, +/obj/structure/closet/firecloset, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "jEc" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/east, @@ -33605,20 +33556,16 @@ "jEm" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/foyer) -"jEr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "jEw" = ( /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"jEx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "jEz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4; @@ -33639,6 +33586,15 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"jEV" = ( +/obj/structure/table, +/obj/item/folder/yellow{ + pixel_x = 4 + }, +/obj/item/pen, +/obj/item/airlock_painter, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "jFj" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 4 @@ -33688,14 +33644,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/lab) -"jFI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "jFU" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -33716,6 +33664,27 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"jGa" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/structure/table/wood, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = -13 + }, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = -13 + }, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_y = -20 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "jGh" = ( /obj/machinery/computer/records/security, /obj/machinery/light/directional/north, @@ -33728,6 +33697,12 @@ /obj/effect/spawner/random/structure/table_or_rack, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"jGm" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "jGq" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -33801,10 +33776,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"jHp" = ( -/obj/structure/lattice/catwalk, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "jHq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, @@ -33820,6 +33791,10 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"jHt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "jHD" = ( /obj/structure/table/wood, /obj/effect/spawner/random/bureaucracy/paper, @@ -33845,23 +33820,14 @@ /turf/open/floor/plating, /area/station/medical/cryo) "jIj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +/obj/machinery/requests_console/directional/south{ + department = "Engineering"; + name = "Engineering Requests Console" }, -/obj/item/kirbyplants/random/fullysynthetic, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"jIm" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Project Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor/heavy, -/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/engineering/storage_shared) +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "jIs" = ( /obj/structure/table/glass, /turf/open/floor/wood, @@ -33958,12 +33924,6 @@ /obj/machinery/light/floor, /turf/open/floor/carpet, /area/station/command/bridge) -"jJO" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "jJP" = ( /obj/machinery/vending/coffee, /obj/item/radio/intercom/directional/east, @@ -34050,12 +34010,6 @@ }, /turf/open/openspace, /area/station/medical/storage) -"jKW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "jKX" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/cmo) @@ -34108,6 +34062,17 @@ /obj/item/radio/intercom/directional/south, /turf/open/openspace, /area/station/security/checkpoint/science) +"jLt" = ( +/obj/structure/sign/poster/official/random/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/engine/directional/south{ + name = "Engine Camera Monitor" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "jLu" = ( /obj/machinery/telecomms/processor/preset_three, /obj/effect/turf_decal/tile/red/fourcorners, @@ -34126,14 +34091,33 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"jLY" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +"jLH" = ( +/obj/machinery/button/door/directional/south{ + id = "ceprivacy"; + name = "Privacy Shutters Control"; + pixel_y = 8 }, -/obj/structure/railing/corner{ - dir = 8 +/obj/machinery/button/door/directional/west{ + id = "transitlockdown"; + name = "Transit Tube Lockdown"; + pixel_x = 0; + pixel_y = -8 }, -/turf/open/floor/glass, +/obj/machinery/button/door{ + id = "securestoragecw"; + name = "Secure Storage" + }, +/obj/structure/table/reinforced, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) +"jLV" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen_counter"; + name = "Kitchen Counter Shutters" + }, +/turf/open/floor/wood/large, /area/station/service/kitchen) "jMi" = ( /obj/machinery/camera/autoname/directional/south, @@ -34146,25 +34130,11 @@ "jMr" = ( /turf/closed/wall, /area/station/hallway/secondary/exit/departure_lounge) -"jMw" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/railing, -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) "jMy" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/start/hangover, /turf/open/openspace, /area/station/commons/vacant_room/office) -"jML" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "jMO" = ( /obj/structure/lattice/catwalk, /obj/structure/table/reinforced, @@ -34255,6 +34225,16 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"jOl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/effect/turf_decal/siding/dark/end{ + dir = 4 + }, +/turf/open/floor/iron/kitchen, +/area/station/hallway/secondary/service) "jOE" = ( /turf/closed/wall, /area/station/service/lawoffice) @@ -34267,23 +34247,17 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/wood, /area/station/commons/dorms) -"jOW" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "jPa" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/hallway/primary/starboard) +"jPb" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "jPh" = ( /obj/structure/broken_flooring/pile/directional/south, /turf/open/floor/plating, @@ -34305,13 +34279,6 @@ /obj/effect/spawner/random/maintenance/no_decals, /turf/open/space/basic, /area/space/nearstation) -"jPA" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 4 - }, -/obj/structure/window/reinforced/tinted/frosted/spawner/directional/west, -/turf/open/floor/wood/large, -/area/station/service/library) "jPC" = ( /obj/effect/turf_decal/siding/dark{ dir = 5 @@ -34336,21 +34303,15 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/hallway/secondary/entry) -"jQe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/blacklight/directional/south, -/obj/item/kirbyplants/random/fullysynthetic, -/turf/open/floor/carpet/stellar, -/area/station/maintenance/hallway/abandoned_recreation) -"jQj" = ( -/obj/machinery/power/emitter{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ +"jQb" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/landmark/navigate_destination/kitchen, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/floor/engine, -/area/station/engineering/break_room) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "jQn" = ( /obj/effect/turf_decal/siding/green/corner{ dir = 4 @@ -34405,6 +34366,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"jRb" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/upper) "jRg" = ( /obj/effect/turf_decal/trimline/red/filled/warning{ dir = 10 @@ -34431,6 +34396,14 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"jRK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, +/area/station/commons/lounge) "jRL" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -34470,17 +34443,19 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"jSC" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/structure/cable, -/obj/structure/sign/warning/radiation/rad_area/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "jSD" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/structure/window/reinforced/plasma/spawner/directional/north, /turf/open/space/basic, /area/space/nearstation) +"jSO" = ( +/obj/effect/turf_decal/arrows/white{ + color = "#00AAFF"; + pixel_y = 15 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "jSV" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -34554,6 +34529,10 @@ /obj/structure/table/wood/fancy, /turf/open/floor/wood/large, /area/station/service/library/private) +"jTQ" = ( +/obj/machinery/airalarm/directional/west, +/turf/closed/wall/r_wall, +/area/station/maintenance/starboard/central) "jTZ" = ( /obj/effect/turf_decal/tile/dark_blue/half{ dir = 4 @@ -34574,6 +34553,32 @@ "jUe" = ( /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/exit/departure_lounge) +"jUg" = ( +/obj/machinery/barsign{ + pixel_y = 32 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) +"jUh" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/machinery/reagentgrinder{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "jUp" = ( /obj/structure/table, /obj/machinery/status_display/ai/directional/north, @@ -34604,17 +34609,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"jUK" = ( -/obj/structure/table/reinforced, -/obj/item/wirecutters, -/obj/item/screwdriver, -/obj/item/stack/cable_coil, -/obj/item/crowbar, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "jUS" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -34669,20 +34663,6 @@ "jVB" = ( /turf/closed/wall/r_wall, /area/station/engineering/gravity_generator) -"jVI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) -"jVO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 9 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "jVP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -34815,25 +34795,39 @@ /obj/structure/ladder, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"jXl" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hydropony_shutters"; + name = "Hydropony's Shutters" + }, +/obj/item/paper{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_x = 5; + pixel_y = 2 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jXm" = ( /obj/structure/ladder, /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/delivery, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/qm) -"jXx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/service/library) -"jXC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/wood/large, -/area/station/service/library) +"jXz" = ( +/obj/structure/chair/office, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "jXX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -34891,13 +34885,21 @@ /obj/machinery/photocopier/prebuilt, /turf/open/floor/iron, /area/station/cargo/storage) -"jYE" = ( -/obj/structure/railing{ - dir = 8 +"jYG" = ( +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Access" }, -/obj/machinery/light/small/dim/directional/north, -/turf/open/water, -/area/station/maintenance/port/fore) +/obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/command/minisat, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/effect/landmark/navigate_destination/minisat_access_ai, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "jYI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34970,32 +34972,40 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) -"kat" = ( -/obj/machinery/power/terminal{ - dir = 1; - cable_layer = 1 - }, -/obj/structure/cable/multilayer/layer1, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/catwalk_floor, -/area/station/engineering/engine_smes) -"kau" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "kax" = ( /turf/open/floor/iron/white/smooth_half{ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat/foyer) +"kaG" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) +"kaH" = ( +/obj/item/reagent_containers/cup/soup_pot{ + pixel_x = 6; + pixel_y = 16 + }, +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_x = -6; + pixel_y = 14 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "kaM" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/start/hangover, @@ -35009,13 +35019,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"kaO" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) "kbe" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner, @@ -35068,10 +35071,37 @@ /obj/structure/cable, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"kbQ" = ( +/obj/machinery/light/directional/east, +/obj/item/kirbyplants/random/fullysynthetic, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "kbR" = ( /obj/machinery/newscaster/directional/south, /turf/open/openspace, /area/station/maintenance/starboard/aft) +"kbS" = ( +/obj/structure/cable, +/obj/structure/closet/secure_closet/engineering_personal{ + anchored = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"kbU" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "kci" = ( /obj/effect/turf_decal/siding/purple, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -35114,46 +35144,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"kcQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/table, -/obj/item/clothing/shoes/magboots{ - desc = "Magnetic boots, for the solar enthusiasts. Idential to a regular magboot in everything but soul."; - name = "Solars' Magboots"; - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 4; - pixel_y = 0 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/item/crowbar, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/gloves/color/yellow{ - pixel_x = 0; - pixel_y = 3 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"kdc" = ( -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +"kdh" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/module_duplicator, +/turf/open/floor/iron/dark/smooth_edge, +/area/station/service/library) "kdl" = ( /turf/open/floor/wood, /area/station/service/chapel) @@ -35254,12 +35249,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/hallway/primary/starboard) -"kdU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"kdZ" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/obj/effect/decal/cleanable/generic, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "keh" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/textured_large, @@ -35375,24 +35375,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"kfE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/structure/rack, -/obj/item/book/manual/wiki/engineering_guide{ - pixel_x = -2 - }, -/obj/item/book/manual/wiki/engineering_construction{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/book/manual/wiki/engineering_hacking{ - pixel_x = 2; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "kfO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/box/corners{ @@ -35405,6 +35387,15 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"kgf" = ( +/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/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "kgg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/generic_maintenance_landmark, @@ -35418,10 +35409,23 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) +"kgo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "kgE" = ( /obj/structure/ladder, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"kgZ" = ( +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/turf/open/floor/wood, +/area/station/service/library) "khi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35503,6 +35507,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/research) +"kil" = ( +/obj/machinery/air_sensor/oxygen_tank, +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/upper) "kip" = ( /obj/structure/closet/secure_closet/detective, /obj/item/camera/detective, @@ -35553,18 +35562,6 @@ /obj/structure/sign/poster/ripped/directional/north, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"kjy" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"kjF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/maintenance/port/fore) "kjH" = ( /obj/machinery/portable_atmospherics/canister/plasma, /obj/effect/turf_decal/box/red, @@ -35572,6 +35569,14 @@ dir = 4 }, /area/station/science/ordnance/storage) +"kjK" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "kjN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -35592,12 +35597,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"kki" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "kkn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/urinal/directional/north, @@ -35635,6 +35634,16 @@ /obj/machinery/computer/security/telescreen/rd/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) +"kkH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "kkM" = ( /obj/effect/turf_decal/siding, /obj/effect/turf_decal/trimline/white/line{ @@ -35648,6 +35657,11 @@ }, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) +"kkQ" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "kkT" = ( /obj/structure/railing/corner/end/flip{ dir = 4 @@ -35688,21 +35702,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"klj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) -"kll" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "klp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -35735,6 +35734,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/exit/departure_lounge) +"klH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) "klI" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -35751,18 +35755,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"klJ" = ( -/obj/machinery/light/small/directional/south{ - dir = 8 - }, -/obj/machinery/fax{ - fax_name = "Psychology Office"; - name = "Psychology Office Fax Machine" - }, -/obj/structure/table, -/obj/machinery/digital_clock/directional/west, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "kmh" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner/end/flip{ @@ -35770,19 +35762,11 @@ }, /turf/open/space/openspace, /area/space/nearstation) -"kmx" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"kmy" = ( -/obj/structure/chair/office, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) +"kmm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/vending/coffee, +/turf/open/floor/iron, +/area/station/engineering/lobby) "kmD" = ( /obj/machinery/light_switch/directional/north, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -35931,15 +35915,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"knV" = ( -/obj/item/flashlight/flashdark{ - name = "Envy Flashlight" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +"knN" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "knY" = ( /obj/structure/flora/tree/jungle/small, /obj/structure/flora/bush/sparsegrass/style_random, @@ -35981,8 +35959,15 @@ }, /turf/open/openspace, /area/station/commons/fitness/recreation) -"koD" = ( -/turf/open/floor/catwalk_floor, +"koC" = ( +/obj/structure/table, +/obj/item/flashlight/lamp{ + pixel_y = 10 + }, +/obj/item/folder/yellow{ + pixel_x = 4 + }, +/turf/open/floor/iron, /area/station/engineering/lobby) "koE" = ( /obj/structure/railing/corner{ @@ -35990,13 +35975,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) -"koM" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck/cas/black, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/large, -/area/station/service/library) "koU" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 @@ -36120,28 +36098,29 @@ "kqv" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/aft) -"kqE" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/machinery/modular_computer/preset/engineering{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "kqF" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"kqH" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/structure/railing, +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "kqI" = ( /obj/machinery/photocopier, /turf/open/floor/glass, /area/station/security/brig) -"kqY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/bluespace_sender, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "kra" = ( /obj/structure/lattice/catwalk, /obj/structure/closet/l3closet, @@ -36151,10 +36130,22 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/openspace, /area/station/medical/storage) -"krq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/computer/atmos_control/nitrous_tank{ - dir = 1 +"krk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8; + pixel_x = -2 + }, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) +"krK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ + dir = 4 }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) @@ -36190,6 +36181,14 @@ /obj/structure/cable/multilayer/connected, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) +"ksa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "ksj" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/trimline/dark/arrow_ccw{ @@ -36202,6 +36201,18 @@ dir = 4 }, /area/station/hallway/primary/fore) +"ksm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "kso" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -36220,22 +36231,11 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"ksx" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/light/warm/directional/east, -/turf/open/floor/iron, -/area/station/engineering/lobby) "ksz" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/cytology) -"ksE" = ( -/obj/structure/transport/linear, -/turf/open/openspace, -/area/station/engineering/break_room) "ksM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -36288,6 +36288,15 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron, /area/station/science/breakroom) +"kth" = ( +/obj/structure/sign/warning/hot_temp/directional/east, +/obj/machinery/camera/directional/east, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/lobby) "kto" = ( /obj/machinery/door/airlock/security{ name = "Armory" @@ -36354,16 +36363,6 @@ }, /turf/open/floor/glass, /area/station/science/zoo) -"ktL" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/landmark/start/cook, -/turf/open/floor/glass, -/area/station/service/kitchen) "ktZ" = ( /obj/structure/closet/crate/trashcart/filled, /obj/effect/decal/cleanable/dirt, @@ -36406,6 +36405,16 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"kul" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "kup" = ( /obj/structure/cable, /obj/effect/decal/cleanable/blood/old, @@ -36420,6 +36429,18 @@ /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/construction/storage_wing) +"kus" = ( +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) "kuv" = ( /mob/living/carbon/human/species/monkey, /obj/structure/flora/bush/sparsegrass/style_random, @@ -36455,6 +36476,32 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) +"kvb" = ( +/obj/structure/railing/corner, +/obj/structure/railing, +/obj/structure/lattice/catwalk, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"kve" = ( +/obj/machinery/vending/wardrobe/jani_wardrobe, +/obj/item/reagent_containers/cup/bucket{ + pixel_x = -7; + pixel_y = -13 + }, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) +"kvl" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/engineering/main) "kvm" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -36573,6 +36620,13 @@ /obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine/airless, /area/station/maintenance/disposal/incinerator) +"kwO" = ( +/obj/structure/sign/departments/aisat/directional/east, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "kwQ" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -36649,6 +36703,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lab) +"kxA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "kxE" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, @@ -36700,22 +36760,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) -"kyo" = ( -/obj/structure/rack, -/obj/item/pai_card{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/integrated_circuit/loaded/hello_world{ - pixel_x = 4 - }, -/obj/item/integrated_circuit/loaded/speech_relay{ - pixel_x = 1; - pixel_y = -4 - }, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/dark/smooth_edge, -/area/station/service/library) "kyq" = ( /obj/structure/ladder, /obj/machinery/airalarm/directional/west, @@ -36734,13 +36778,6 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/medical/coldroom) -"kyz" = ( -/obj/machinery/computer/atmos_control/mix_tank{ - dir = 4 - }, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "kyJ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -36761,14 +36798,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"kyW" = ( -/obj/item/pickaxe{ - pixel_x = -5; - pixel_y = -7 - }, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "kyZ" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/sign/warning/vacuum/external/directional/south, @@ -36853,6 +36882,16 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kAr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "kAu" = ( /obj/structure/lattice/catwalk, /obj/structure/chair/comfy, @@ -36881,18 +36920,27 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/openspace, /area/station/commons/vacant_room/office) -"kAJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8; - pixel_x = -2 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/engine, -/area/station/engineering/break_room) "kAV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/maintenance/starboard/lesser) +"kAX" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"kAY" = ( +/obj/structure/closet/secure_closet/bar, +/obj/item/storage/box/rubbershot, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "kAZ" = ( /obj/machinery/newscaster/directional/north, /obj/machinery/light/directional/north, @@ -36904,6 +36952,13 @@ dir = 8 }, /area/station/service/chapel) +"kBe" = ( +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "kBi" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -36958,23 +37013,13 @@ "kBF" = ( /turf/open/floor/engine/hull/air, /area/station/hallway/primary/aft) -"kBJ" = ( -/obj/structure/cable/layer1, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) -"kBV" = ( -/obj/machinery/light/directional/west, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"kCl" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ +"kBG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "kCp" = ( /obj/structure/lattice, /turf/open/openspace, @@ -36989,48 +37034,20 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"kCF" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "kCN" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"kCO" = ( -/obj/structure/lattice/catwalk, -/obj/structure/rack, -/obj/item/storage/box/lights/mixed{ - pixel_x = -8; - pixel_y = 1 - }, -/obj/item/storage/toolbox/fishing, -/obj/effect/spawner/random/maintenance, -/turf/open/water, -/area/station/maintenance/port/fore) -"kCP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) -"kCY" = ( -/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/camera/autoname/directional/east, -/turf/open/openspace, -/area/station/engineering/atmos/project) "kDa" = ( /obj/structure/disposalpipe/segment, /obj/structure/railing/corner/end{ @@ -37051,12 +37068,6 @@ dir = 4 }, /area/station/service/chapel) -"kDy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "kDC" = ( /obj/structure/railing/corner/end{ dir = 1 @@ -37074,6 +37085,13 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kDN" = ( +/obj/machinery/air_sensor/engine_chamber, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "kDO" = ( /turf/closed/wall/r_wall, /area/station/medical/morgue) @@ -37124,13 +37142,14 @@ dir = 8 }, /area/station/tcommsat/server) -"kEo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ +"kEq" = ( +/obj/machinery/atmospherics/components/binary/pump{ dir = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "kEw" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -37162,13 +37181,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"kEW" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Air Supply"; - name = "atmospherics camera" - }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos/upper) "kFa" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -37181,14 +37193,15 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) "kFh" = ( -/obj/effect/turf_decal/trimline/yellow/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/structure/chair{ + dir = 8; + pixel_y = -2 }, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/open/floor/wood, +/area/station/service/library) "kFi" = ( /obj/structure/railing/corner/end{ dir = 4 @@ -37226,13 +37239,20 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kFU" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) +"kFS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/airlock/engineering, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor, +/area/station/engineering/lobby) +"kGD" = ( +/obj/machinery/air_sensor/nitrogen_tank, +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/upper) "kGG" = ( /obj/item/coin/antagtoken{ pixel_x = -3; @@ -37261,13 +37281,14 @@ }, /turf/open/openspace, /area/station/maintenance/port) -"kHb" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 +"kHg" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "kHj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37345,6 +37366,12 @@ }, /turf/open/floor/carpet, /area/station/security/detectives_office) +"kIH" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "kIW" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -37405,11 +37432,6 @@ /obj/structure/mannequin/wood, /turf/open/floor/wood, /area/station/service/library/printer) -"kKh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "kKj" = ( /obj/structure/chair/sofa/corner/brown{ dir = 4 @@ -37448,6 +37470,17 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) +"kKS" = ( +/obj/machinery/light_switch/directional/south, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "kLe" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -37461,16 +37494,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/cargo/storage) -"kLy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "kLD" = ( /turf/open/floor/plating, /area/station/engineering/supermatter/room) @@ -37493,12 +37516,6 @@ }, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"kLU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "kLV" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -37542,6 +37559,13 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/port) +"kMF" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library) "kMI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/fax{ @@ -37602,15 +37626,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"kOi" = ( -/obj/effect/turf_decal/siding/thinplating{ +"kOc" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Community Center" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central) +"kOf" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"kOh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/grassy/style_random, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/grass, -/area/station/engineering/lobby) +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "kOk" = ( /turf/closed/wall/r_wall, /area/station/engineering/lobby) @@ -37675,6 +37721,18 @@ }, /turf/open/floor/wood/tile, /area/station/science/robotics) +"kOZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen_counter"; + name = "Kitchen Counter Shutters" + }, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/kitchen) "kPd" = ( /obj/machinery/conveyor{ dir = 4; @@ -37702,16 +37760,6 @@ /obj/machinery/light/small/red/dim/directional/west, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"kPy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 1 - }, -/obj/machinery/meter, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "kPF" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -37721,11 +37769,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"kPH" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "kPI" = ( /obj/structure/table/wood, /obj/item/storage/briefcase/secure{ @@ -37746,6 +37789,15 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/cmo) +"kPL" = ( +/obj/effect/landmark/transport/transport_id{ + specific_transport_id = "catwalk_engi" + }, +/obj/structure/transport/linear{ + radial_travel = 0 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "kPN" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -37777,13 +37829,6 @@ }, /turf/open/openspace, /area/station/command/gateway) -"kPT" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) "kPZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -37842,12 +37887,52 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"kQn" = ( -/obj/structure/sign/picture_frame/portrait{ - pixel_y = 33 +"kQx" = ( +/obj/machinery/button/door/directional/east{ + id = "commissarydoor"; + name = "Commissary Door Lock"; + normaldoorcontrol = 1; + pixel_x = 23; + pixel_y = 5; + specialfunctions = 4 }, -/turf/open/floor/wood/large, -/area/station/service/library) +/obj/structure/table, +/obj/machinery/button/ticket_machine{ + id = "ticket_machine_comissary"; + pixel_x = 23; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/item/paper_bin{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/machinery/button/door/directional/east{ + id = "actualcommissaryshutter"; + name = "Commissary Shutters"; + pixel_x = 34 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"kQy" = ( +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "kQC" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line, /obj/effect/turf_decal/tile/dark_blue{ @@ -37861,10 +37946,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kQG" = ( -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "kQV" = ( /obj/structure/girder, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37902,13 +37983,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) -"kRz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/junction, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) "kRD" = ( /obj/effect/spawner/random/vending/snackvend, /obj/structure/disposalpipe/segment{ @@ -37930,13 +38004,6 @@ }, /turf/open/floor/iron/stairs/left, /area/station/hallway/secondary/construction) -"kRN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "kRR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37952,24 +38019,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/engine/hull/air, /area/station/medical/medbay/central) -"kSf" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/item/radio/intercom/directional/north, -/turf/open/openspace, -/area/station/engineering/atmos/project) "kSg" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/stairs/medium, /area/station/science/cytology) -"kSh" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "N2O to Port" - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "kSo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -38017,16 +38070,11 @@ }, /turf/open/floor/grass, /area/station/hallway/primary/starboard) -"kSP" = ( +"kSS" = ( /obj/structure/lattice/catwalk, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/railing/corner{ dir = 8 }, -/obj/structure/table/glass, -/obj/item/storage/box{ - pixel_x = 2; - pixel_y = 4 - }, /turf/open/openspace, /area/station/engineering/break_room) "kSY" = ( @@ -38041,12 +38089,6 @@ "kTi" = ( /turf/open/floor/engine/vacuum, /area/station/science/ordnance/bomb) -"kTk" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "kTq" = ( /obj/structure/railing{ dir = 8 @@ -38093,16 +38135,25 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"kTU" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"kTW" = ( -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/station/hallway/primary/central) +"kTN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/item/storage/medkit/toxin, +/obj/structure/table, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"kUf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) +"kUm" = ( +/obj/structure/sign/poster/contraband/hacking_guide/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "kUq" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port) @@ -38113,26 +38164,25 @@ }, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) -"kUz" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "kUO" = ( /turf/open/openspace, /area/station/security/courtroom) +"kUW" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 1; + initialize_directions = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "kVj" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/gravity_generator) -"kVq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/broken_flooring/side/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"kVm" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "kVu" = ( /obj/structure/table, /obj/item/stack/medical/mesh{ @@ -38204,6 +38254,24 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"kWe" = ( +/obj/structure/table, +/obj/item/hfr_box/corner{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/item/hfr_box/corner{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/hfr_box/corner{ + pixel_x = -10 + }, +/obj/item/hfr_box/corner{ + pixel_x = 3 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "kWj" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -38240,21 +38308,22 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) +"kWx" = ( +/obj/structure/table/reinforced, +/obj/item/wirecutters, +/obj/item/screwdriver, +/obj/item/stack/cable_coil, +/obj/item/crowbar, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "kWF" = ( /obj/structure/lattice/catwalk, /obj/machinery/firealarm/directional/east, /turf/open/openspace, /area/station/medical/storage) -"kWI" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "kWO" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, @@ -38269,6 +38338,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/station/ai_monitored/turret_protected/aisat_interior) +"kXa" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor/heavy, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"kXe" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/hallway/primary/central) +"kXt" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "kXy" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/medical_all, @@ -38302,6 +38390,14 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron, /area/station/science/lab) +"kXT" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine, +/area/station/engineering/storage_shared) "kYd" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -38319,6 +38415,9 @@ }, /turf/open/floor/wood, /area/station/commons/toilet/restrooms) +"kYf" = ( +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/upper) "kYi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, @@ -38449,6 +38548,14 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"lan" = ( +/obj/machinery/door/airlock/engineering/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "lav" = ( /obj/machinery/power/shieldwallgen/xenobiologyaccess, /obj/structure/window/reinforced/spawner/directional/south, @@ -38574,6 +38681,22 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"lcb" = ( +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark/arrow_cw{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) "lce" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38605,11 +38728,24 @@ /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/maintenance/starboard/lesser) +"lcN" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "lcO" = ( /obj/structure/table, /obj/item/clothing/suit/hazardvest, /turf/open/floor/wood, /area/station/commons/storage/tools) +"lcU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ldj" = ( /obj/structure/railing{ dir = 1 @@ -38625,16 +38761,21 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) -"ldk" = ( -/obj/effect/turf_decal/siding/dark, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark/smooth_edge, -/area/station/service/library) "ldv" = ( /obj/machinery/status_display/ai/directional/south, /obj/structure/closet/emcloset, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"ldL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - n2o Cell"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "ldX" = ( /obj/machinery/door/airlock{ id_tag = "commissarydoor"; @@ -38701,6 +38842,24 @@ "leL" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/rd) +"leN" = ( +/obj/structure/table, +/obj/machinery/requests_console/directional/west{ + department = "Kitchen"; + name = "Kitchen Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/processor{ + pixel_x = -4; + pixel_y = 13 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 5 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "leR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38721,10 +38880,33 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"lff" = ( +/obj/machinery/power/terminal{ + dir = 1; + cable_layer = 1 + }, +/obj/structure/cable/multilayer/layer1, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) "lfi" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/security/armory) +"lfk" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "lfx" = ( /obj/effect/landmark/event_spawn, /turf/open/openspace, @@ -38753,17 +38935,29 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/starboard/aft) +"lfX" = ( +/obj/structure/chair{ + dir = 8; + pixel_y = -2 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood, +/area/station/service/library) "lgb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/commons/storage/primary) -"lgi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"lge" = ( +/turf/open/floor/wood, +/area/station/engineering/lobby) +"lgj" = ( +/obj/structure/stairs/east, +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/iron/stairs/medium{ + dir = 8 }, -/obj/structure/chair/office, -/turf/open/floor/wood/large, -/area/station/service/library) +/area/station/hallway/primary/central) "lgo" = ( /obj/item/storage/box/silver_ids{ pixel_x = -4; @@ -38803,14 +38997,6 @@ /obj/effect/turf_decal/tile/dark_blue/opposingcorners, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) -"lgR" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/firealarm/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, -/area/station/engineering/storage_shared) "lgV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -38864,6 +39050,13 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/cargo/storage) +"lhX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "lhY" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/conveyor{ @@ -38875,12 +39068,13 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"lic" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, +"lia" = ( /obj/structure/cable, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, /area/station/engineering/storage_shared) "lig" = ( /obj/effect/turf_decal/bot, @@ -38920,21 +39114,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"liX" = ( -/obj/structure/table, -/obj/item/food/cheese/firm_cheese_slice{ - pixel_x = 10; - pixel_y = 7 +"liY" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" }, -/obj/item/flashlight/lantern{ - pixel_y = 7 - }, -/obj/item/food/moth_cheese_cakes{ - pixel_x = -6 - }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor/heavy, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/engineering/atmos/project) "ljc" = ( /turf/open/openspace, /area/station/hallway/secondary/exit/departure_lounge) @@ -38950,16 +39137,6 @@ "lji" = ( /turf/closed/wall/r_wall, /area/station/security/evidence) -"ljt" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/landmark/start/bartender, -/turf/open/floor/carpet, -/area/station/service/bar/backroom) "ljx" = ( /obj/structure/tank_holder/extinguisher, /obj/effect/turf_decal/trimline/purple/filled/line, @@ -38970,13 +39147,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) -"ljJ" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/closet/radiation, -/obj/item/clothing/glasses/meson, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark/smooth_corner, -/area/station/engineering/main) "ljW" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ @@ -39027,19 +39197,29 @@ /obj/effect/turf_decal/bot/right, /turf/open/floor/engine/hull, /area/space/nearstation) -"lkS" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/lobby) "lkY" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"llg" = ( +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) +"llh" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "lll" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -39068,6 +39248,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"llK" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "llP" = ( /obj/effect/turf_decal/caution/stand_clear{ dir = 4 @@ -39077,14 +39263,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"llY" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_y = 4 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet, -/area/station/medical/psychology) "lmc" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/effect/turf_decal/siding/purple{ @@ -39140,12 +39318,16 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/port) -"lmD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/smes/engineering, +"lmH" = ( +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) +"lmJ" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "lmL" = ( /obj/structure/chair/sofa/left/brown, /obj/item/instrument/guitar{ @@ -39153,11 +39335,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lmS" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "lmT" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/glass/reinforced, @@ -39183,6 +39360,10 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"lnf" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "lng" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -39212,6 +39393,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/textured, /area/station/cargo/storage) +"lnL" = ( +/obj/structure/closet/crate/freezer, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato, +/turf/open/floor/wood, +/area/station/service/library) "lnO" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -39293,10 +39483,6 @@ /obj/structure/disposalpipe/trunk/multiz, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"loW" = ( -/obj/item/cigbutt, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "lpc" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -39305,10 +39491,22 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/grass, /area/station/hallway/secondary/entry) +"lpj" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "lpq" = ( /obj/structure/fake_stairs/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"lpw" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Plasma to Port" + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "lpG" = ( /obj/machinery/door/poddoor/massdriver_chapel, /obj/machinery/atmos_shield_gen/active{ @@ -39319,13 +39517,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"lpS" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/suit_storage_unit/engine, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "lqd" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -39368,6 +39559,20 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"lqv" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/pipedispenser/disposal, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"lqA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "lqB" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -39417,15 +39622,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/station/science/xenobiology) -"lqO" = ( -/obj/structure/table/reinforced, -/obj/item/lighter{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/carpet, -/area/station/service/bar) "lqS" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/north, @@ -39454,6 +39650,17 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"lrl" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "O2 Multideck Adapter"; + dir = 8 + }, +/obj/machinery/meter{ + name = "O2 meter" + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "lrp" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -39468,6 +39675,23 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"lrF" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) +"lrG" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "lrM" = ( /obj/structure/cable, /turf/open/floor/engine/hull, @@ -39496,6 +39720,11 @@ /obj/structure/closet/crate/engineering/electrical, /turf/open/floor/glass/reinforced, /area/station/solars/starboard/fore) +"lse" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "lsg" = ( /obj/machinery/door/window/brigdoor/security/cell/left/directional/east{ id = "Cell 2"; @@ -39511,24 +39740,19 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/glass/reinforced/airless, /area/station/solars/starboard/aft) -"lsq" = ( -/obj/structure/reagent_dispensers/fueltank/large, -/obj/effect/turf_decal/delivery/white{ - color = "#ff6600" +"lsu" = ( +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/door/airlock{ + name = "Kitchen" }, -/turf/open/floor/engine, -/area/station/engineering/break_room) +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "lsA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron, /area/station/construction/storage_wing) -"lsK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "lsQ" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) @@ -39563,6 +39787,13 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/abandoned) +"ltG" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/openspace, +/area/station/engineering/atmos/project) "ltQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39581,15 +39812,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/stairs/medium, /area/station/hallway/secondary/construction) -"luf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "lul" = ( /turf/closed/wall/r_wall, /area/space/nearstation) +"lup" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/dim/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "luw" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -39612,16 +39853,6 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"luO" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable/layer1, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "luW" = ( /obj/structure/cable, /obj/machinery/shower/directional/south, @@ -39637,6 +39868,25 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/engine/hull/air, /area/station/command/meeting_room/council) +"lvs" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/item/holosign_creator/robot_seat/restaurant{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/stack/package_wrap, +/obj/item/rag{ + pixel_x = -4 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "lvv" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/east, /obj/structure/disposalpipe/segment{ @@ -39654,25 +39904,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/space/basic, /area/station/solars/starboard/aft) -"lwb" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/glass, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/wrench, -/obj/item/crowbar/red, -/turf/open/openspace, -/area/station/engineering/break_room) "lwf" = ( /turf/open/floor/glass, /area/station/security/brig) @@ -39711,31 +39942,17 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"lwP" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/landmark/start/depsec/engineering, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 +"lwT" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) -"lxh" = ( -/obj/machinery/griddle, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/upper) "lxl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"lxn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "lxs" = ( /obj/effect/turf_decal/trimline/yellow/corner, /obj/item/storage/toolbox/electrical{ @@ -39806,11 +40023,33 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) -"lys" = ( -/obj/machinery/vatgrower, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/engine, -/area/station/service/hydroponics) +"lyd" = ( +/obj/structure/broken_flooring/corner/directional/east, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"lyw" = ( +/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/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/folder/yellow{ + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "lyx" = ( /obj/machinery/door/window/brigdoor/security/cell/left/directional/east{ id = "Cell 3"; @@ -39867,6 +40106,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/science/research) +"lyQ" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "lyX" = ( /obj/machinery/door/airlock/highsecurity{ name = "AI Chamber" @@ -39942,14 +40193,6 @@ "lAl" = ( /turf/closed/wall, /area/station/science/robotics/lab) -"lAp" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Air to Distro" - }, -/obj/effect/turf_decal/trimline/blue, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "lAs" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, @@ -39967,12 +40210,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lAF" = ( -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "lAG" = ( /obj/structure/railing{ dir = 8 @@ -40039,11 +40276,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"lAW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/service/theater) "lBg" = ( /obj/machinery/door/airlock/external{ name = "Departure Lounge Airlock" @@ -40054,12 +40286,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"lBh" = ( -/obj/machinery/portable_atmospherics/canister/water_vapor, -/obj/machinery/firealarm/directional/south, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet, -/area/station/service/janitor) "lBi" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -40088,20 +40314,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lBt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/clothing/glasses/welding{ - pixel_x = 6; - pixel_y = 7 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"lBu" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "lBw" = ( /obj/effect/landmark/event_spawn, /obj/effect/landmark/blobstart, @@ -40130,6 +40342,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"lBQ" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Engineering Lobby"; + name = "Engineering Lobby Fax Machine" + }, +/turf/open/floor/wood, +/area/station/engineering/lobby) "lBS" = ( /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt{ @@ -40138,6 +40363,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"lBW" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/station/commons/lounge) "lBX" = ( /obj/machinery/quantum_server, /obj/effect/decal/cleanable/dirt/dust, @@ -40168,6 +40402,28 @@ /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"lCw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"lCJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "lCO" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -40213,6 +40469,15 @@ dir = 8 }, /area/station/ai_monitored/turret_protected/ai) +"lDh" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "Plasma Multideck Adapter" + }, +/obj/machinery/meter{ + name = "Plasma meter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "lDj" = ( /obj/structure/chair/office{ dir = 1 @@ -40248,12 +40513,27 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/medical/medbay/central) +"lEf" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "lEi" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 1 }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"lEj" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/obj/effect/landmark/start/atmospheric_technician, +/obj/machinery/light/directional/south, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "lEo" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/trimline/yellow/arrow_ccw{ @@ -40267,16 +40547,6 @@ dir = 4 }, /area/station/hallway/primary/fore) -"lEx" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "lEy" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4, @@ -40303,27 +40573,14 @@ dir = 1 }, /area/station/cargo/bitrunning/den) -"lEG" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +"lEJ" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "SM_shutters"; + name = "Supermatter Radiation Shutters" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/library) -"lEH" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/cable, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron, -/area/station/engineering/main) +/obj/structure/cable/layer1, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "lEO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -40381,6 +40638,12 @@ "lFm" = ( /turf/closed/wall, /area/station/security/range) +"lFz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library) "lFB" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner{ dir = 8 @@ -40406,6 +40669,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library/printer) +"lFW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "lFZ" = ( /obj/machinery/power/terminal{ dir = 1 @@ -40417,6 +40687,12 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai) +"lGc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/hallway/secondary/service) "lGy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -40443,13 +40719,6 @@ }, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"lGF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/engineering/lobby) "lGT" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -40460,11 +40729,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"lGY" = ( -/obj/item/clothing/head/soft/orange, -/obj/structure/closet/secure_closet/engineering_chief, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "lHa" = ( /obj/structure/bed/medical/emergency, /obj/machinery/iv_drip, @@ -40482,6 +40746,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"lHs" = ( +/obj/machinery/light/warm/dim/directional/west, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/dark{ + dir = 9 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "lHx" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -40492,12 +40767,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) -"lHE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "lHK" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -40537,6 +40806,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"lIm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/computer/atmos_control/air_tank, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "lIp" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -40551,6 +40827,21 @@ "lIr" = ( /turf/closed/wall, /area/station/maintenance/port/aft) +"lIw" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "Plasma Multideck Adapter"; + dir = 8 + }, +/obj/machinery/meter{ + name = "Plasma meter" + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) +"lIA" = ( +/obj/effect/decal/cleanable/blood/oil/slippery, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "lIC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40638,13 +40929,6 @@ }, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"lJB" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "lJQ" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 4 @@ -40669,24 +40953,15 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"lKr" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"lKB" = ( +/obj/machinery/portable_atmospherics/canister/water_vapor, +/obj/machinery/firealarm/directional/south, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/purple{ dir = 8 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"lKv" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 8 - }, -/obj/machinery/meter, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/line{ - dir = 8; - pixel_x = -2 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron/checker, +/area/station/service/janitor) "lKK" = ( /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/engine, @@ -40723,13 +40998,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"lLf" = ( +"lLg" = ( +/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/structure/cable, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/atmos/project) +/obj/structure/chair/stool/bar/directional/east, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "lLh" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/table/glass, @@ -40752,6 +41030,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"lLl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/glass, +/area/station/service/kitchen) "lLs" = ( /turf/open/floor/engine/hull/air, /area/station/science/research) @@ -40778,6 +41065,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"lLL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "lLY" = ( /obj/effect/turf_decal/siding/thinplating_new, /obj/effect/turf_decal/loading_area{ @@ -40785,24 +41076,11 @@ }, /turf/open/floor/iron, /area/station/science/robotics) -"lMa" = ( -/obj/machinery/atmospherics/components/trinary/filter/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "lMe" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/railing, /turf/open/floor/iron, /area/station/commons/dorms) -"lMf" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "lMt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/oil, @@ -40851,13 +41129,17 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/prison) -"lMR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/turf_decal/siding/red{ - dir = 1 +"lMN" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/obj/machinery/light/dim/directional/south, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "lMS" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -40880,10 +41162,28 @@ "lMU" = ( /turf/open/floor/iron/vaporwave, /area/station/maintenance/starboard/lesser) -"lNe" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +"lNc" = ( +/obj/item/toy/plush/moth{ + name = "Spanner 2, her sibling"; + pixel_y = 10 + }, +/obj/item/toy/plush/moth{ + name = "Moff #5"; + pixel_x = -6; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/toy/plush/moth{ + name = "Lizzy Hates-The-Lizards"; + pixel_x = 5; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "lNj" = ( /obj/machinery/computer/records/security{ dir = 1 @@ -40952,6 +41252,9 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"lNY" = ( +/turf/open/floor/carpet/black, +/area/station/service/library/private) "lNZ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -40994,6 +41297,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"lOi" = ( +/obj/structure/sign/poster/official/get_your_legs/directional/west, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "lOy" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -41058,14 +41366,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/security/warden) -"lPV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "lQd" = ( /obj/structure/table/wood, /obj/machinery/recharger{ @@ -41097,15 +41397,10 @@ /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/dark, /area/station/science/cytology) -"lQz" = ( -/obj/machinery/firealarm/directional/east, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/closet/secure_closet/security/engine, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +"lQA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "lQE" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, @@ -41115,19 +41410,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lQR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/space_heater, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "lQV" = ( /obj/effect/turf_decal/siding/blue{ dir = 6 @@ -41181,6 +41463,18 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/floor/plating, /area/station/security/brig) +"lRn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "lRp" = ( /obj/item/storage/box/lights/mixed, /obj/structure/cable, @@ -41189,6 +41483,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"lRr" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/machinery/suit_storage_unit/engine, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "lRz" = ( /obj/structure/safe/floor, /obj/item/stack/spacecash/c1000, @@ -41207,12 +41509,13 @@ /obj/item/stack/spacecash/c1, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lRF" = ( -/obj/machinery/light_switch/directional/north, -/obj/machinery/light/directional/north, -/obj/machinery/deepfryer, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +"lRB" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/station/commons/lounge) "lRP" = ( /obj/effect/turf_decal/trimline/yellow/arrow_cw{ dir = 8 @@ -41241,6 +41544,17 @@ }, /turf/open/floor/iron, /area/station/science/robotics) +"lSC" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/structure/cable, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "lSH" = ( /obj/structure/cable, /obj/structure/table, @@ -41264,11 +41578,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/command/bridge) -"lSN" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/machinery/door/airlock/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "lSP" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/wood, @@ -41283,9 +41592,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"lTp" = ( -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "lTw" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/tile/dark_blue{ @@ -41294,6 +41600,16 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) +"lTy" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/turf_decal/tile/green/full, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/hydroponics{ + name = "Hydroponics" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/hydroponics) "lTA" = ( /obj/effect/turf_decal/siding/brown{ dir = 4 @@ -41315,6 +41631,13 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/security/courtroom) +"lTX" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "lUk" = ( /obj/structure/railing, /obj/structure/cable, @@ -41366,6 +41689,18 @@ /obj/item/clothing/gloves/latex, /turf/open/floor/iron/white/textured_large, /area/station/medical/surgery) +"lUM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/station/engineering/lobby) +"lUO" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/machinery/meter/monitored/distro_loop, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "lUV" = ( /obj/machinery/camera/directional/east{ c_tag = "Prison Isolation Cell"; @@ -41383,20 +41718,6 @@ /obj/structure/light_construct/directional/north, /turf/open/floor/iron, /area/station/maintenance/starboard/central) -"lVe" = ( -/obj/structure/cable/layer1, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"lVl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) "lVn" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -41423,27 +41744,16 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"lVv" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/closet/crate/medical, -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 +"lVA" = ( +/obj/machinery/meter, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/door/window/brigdoor/left/directional/east{ + name = "Air Pump Room"; + req_access = list("atmospherics") }, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/pen/red{ - pixel_y = 10 - }, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/medical/psychology) +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "lVD" = ( /obj/machinery/door/airlock/engineering/glass, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41452,6 +41762,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"lVH" = ( +/obj/machinery/computer/records/security{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/south{ + name = "AI Ministat Camera Monitor" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "lVK" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, @@ -41506,6 +41826,13 @@ }, /turf/open/openspace, /area/station/maintenance/port/fore) +"lWy" = ( +/obj/machinery/light_switch/directional/south{ + pixel_y = -24 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "lWK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41546,13 +41873,23 @@ /turf/open/floor/plating, /area/station/maintenance/port/greater) "lXr" = ( -/obj/structure/bed, -/obj/item/bedsheet/ce, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) -"lXy" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/computer/order_console/cook, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/dark, -/area/station/engineering/hallway) +/area/station/hallway/secondary/service) +"lXz" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "lXC" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -41577,6 +41914,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/medical/coldroom) +"lXK" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/lobby) "lXM" = ( /obj/effect/turf_decal/siding/blue/corner{ dir = 1 @@ -41687,6 +42031,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"lZc" = ( +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/checker, +/area/station/service/bar) +"lZh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/random/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lZj" = ( /obj/structure/lattice/catwalk, /obj/structure/sign/poster/contraband/clown/directional/south, @@ -41717,6 +42079,9 @@ /obj/structure/stairs/south, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"lZQ" = ( +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "lZV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -41777,17 +42142,18 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"maS" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mbk" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/science/central) -"mbn" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "mbv" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -41872,6 +42238,15 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"mcr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "mcB" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy{ @@ -41910,25 +42285,17 @@ }, /turf/open/openspace, /area/station/medical/cryo) -"mcK" = ( -/obj/structure/table, -/obj/item/hfr_box/core{ - pixel_y = 5 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) -"mcM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "mcR" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"mcT" = ( +/obj/structure/lattice, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "mcX" = ( /obj/structure/table/reinforced, /obj/item/dice{ @@ -42012,6 +42379,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"mdZ" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/openspace, +/area/station/service/library) "mek" = ( /obj/effect/turf_decal/tile/green/full, /obj/machinery/biogenerator, @@ -42068,23 +42441,19 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"mep" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Psychology 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/all/medical/psychology, -/obj/structure/disposalpipe/segment{ +"meE" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"meJ" = ( -/obj/effect/turf_decal/stripes/line, -/turf/closed/wall/r_wall, -/area/station/engineering/break_room) +/obj/structure/cable/layer1, +/obj/machinery/button/door/directional/east{ + id = "SM_shutters"; + name = "Radiation Shutters"; + req_access = list("engineering") + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "meK" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/status_display/evac/directional/west, @@ -42129,12 +42498,18 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/ai) -"mfo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) +"mfn" = ( +/obj/structure/table, +/obj/item/stack/sheet/plasteel/fifty, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 13 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -9; + pixel_y = 9 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "mfs" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -42150,20 +42525,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"mfA" = ( -/obj/machinery/light_switch/directional/south, -/obj/machinery/light/warm/dim/directional/south, -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/deck{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/stack/spacecash/c200{ - pixel_x = 8; - pixel_y = 2 - }, -/turf/open/floor/wood, -/area/station/maintenance/port/greater) "mfD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -42198,17 +42559,17 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"mgj" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/carpet/stellar, +/area/station/service/library) "mgu" = ( /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/port/fore) -"mgy" = ( -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "mgJ" = ( /obj/structure/ladder, /obj/structure/lattice/catwalk, @@ -42299,17 +42660,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"mhW" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "N20 Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "N20 meter" - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "mib" = ( /obj/effect/turf_decal/trimline/red/line, /obj/effect/turf_decal/trimline/red/corner{ @@ -42341,6 +42691,25 @@ }, /turf/open/floor/iron, /area/station/science/explab) +"mil" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"min" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 4 + }, +/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/iron/dark/smooth_large, +/area/station/commons/lounge) "mip" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -42425,6 +42794,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"mjy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Gas to Mix" + }, +/obj/effect/turf_decal/trimline/yellow, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mjB" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -42438,13 +42816,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) -"mkd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/banner/red{ - inspiration_available = 0 - }, -/turf/open/floor/eighties, -/area/station/maintenance/hallway/abandoned_recreation) "mke" = ( /obj/structure/table, /obj/item/binoculars, @@ -42462,15 +42833,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) -"mkB" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "mkI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42492,12 +42854,6 @@ }, /turf/open/floor/iron/freezer, /area/station/ai_monitored/turret_protected/aisat/foyer) -"mkQ" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "mkR" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 @@ -42517,6 +42873,13 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"mkV" = ( +/obj/machinery/light_switch/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "mlL" = ( /obj/structure/kitchenspike, /obj/machinery/power/apc/auto_name/directional/west, @@ -42534,23 +42897,17 @@ /obj/machinery/vending/cigarette, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"mmi" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Holodeck - Fore"; - name = "holodeck camera" - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/station/holodeck/rec_center) -"mmp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"mmn" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/catwalk_floor, -/area/station/engineering/lobby) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "mmq" = ( /obj/machinery/disposal/bin, /obj/structure/cable, @@ -42560,15 +42917,19 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) -"mms" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +"mmt" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/firealarm/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/openspace, +/area/station/engineering/atmos/project) +"mmM" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/broken_flooring/side/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "mmS" = ( /obj/machinery/light/small/broken, /turf/closed/wall/r_wall, @@ -42588,6 +42949,12 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"mmZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/orange/visible{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mnn" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/welded, @@ -42640,10 +43007,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"moa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "mok" = ( /obj/machinery/camera/autoname/directional/west, /obj/item/radio/intercom/directional/south, @@ -42670,23 +43033,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"moz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"moE" = ( -/obj/structure/cable, -/obj/effect/landmark/start/bartender, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/station/service/bar) "moI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42755,13 +43101,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/iron/dark, /area/station/command/gateway) -"mpM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "mpT" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, @@ -42833,12 +43172,28 @@ /obj/item/stack/rods/two, /turf/open/space/basic, /area/space/nearstation) -"mqJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 +"mqD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hydropony_shutters"; + name = "Hydroponics Shutters" }, -/turf/open/floor/wood/large, -/area/station/service/library) +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/west{ + req_access = list("hydroponics"); + name = "Hydroponics Desk" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/hydroponics) "mqK" = ( /obj/structure/chair{ dir = 8 @@ -42861,10 +43216,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"mqX" = ( -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "mqY" = ( /obj/effect/turf_decal/siding/purple, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -42883,31 +43234,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"mrj" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) -"mrk" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) -"mrm" = ( -/obj/machinery/power/port_gen/pacman, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/turf/open/floor/engine, -/area/station/engineering/break_room) -"mrp" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks, -/obj/machinery/light/directional/north, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/wood, -/area/station/service/theater) "mrq" = ( /obj/structure/chair/sofa/corner/brown{ dir = 1 @@ -42965,6 +43291,19 @@ dir = 1 }, /area/station/science/robotics/lab) +"msh" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler{ + pixel_y = 11 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "msm" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -43006,14 +43345,31 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"msR" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "mtg" = ( /obj/structure/sign/poster/official/soft_cap_pop_art/directional/west, /turf/open/openspace, /area/station/maintenance/starboard/fore) +"mtl" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/toy/plush/moth{ + name = "Headslicer Mofiny"; + pixel_x = 2; + pixel_y = 11 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/toy/plush/moth{ + name = "Flutty The Ravager Moffy"; + pixel_x = 5 + }, +/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/north, +/obj/item/toy/plush/moth{ + name = "Sporg Asbord"; + pixel_x = -8; + pixel_y = -3 + }, +/obj/structure/sign/poster/ripped/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "mtp" = ( /obj/structure/frame/machine, /turf/open/floor/plating, @@ -43035,21 +43391,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"mtr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"mts" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "mtw" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -43081,19 +43422,6 @@ /obj/structure/closet/crate/goldcrate, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/command/nuke_storage) -"mtK" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"mtM" = ( -/obj/machinery/computer/atmos_alert{ - dir = 1 - }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "mtP" = ( /obj/item/knife/kitchen{ pixel_x = 10; @@ -43113,21 +43441,6 @@ /obj/structure/transit_tube/diagonal/topleft, /turf/open/space/openspace, /area/space/nearstation) -"mtW" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/structure/railing, -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "mui" = ( /obj/structure/chair{ dir = 1 @@ -43148,6 +43461,18 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/kitchen, /area/station/maintenance/port/aft) +"mur" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/storage) +"mus" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Bay Shutters"; + id = "qm_cargobay"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "muu" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 4 @@ -43187,6 +43512,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) +"muE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "muF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/autoname/directional/north, @@ -43223,6 +43555,23 @@ /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, /area/station/hallway/secondary/entry) +"muV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"muW" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "mvf" = ( /obj/machinery/door/window/right/directional/north, /turf/open/floor/plating, @@ -43238,6 +43587,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) +"mvu" = ( +/obj/effect/turf_decal/trimline/dark, +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Distro to Waste" + }, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "mvy" = ( /obj/item/kirbyplants/random, /obj/structure/railing{ @@ -43247,10 +43605,18 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/chapel, /area/station/service/chapel) -"mvH" = ( -/obj/structure/hedge, -/turf/open/floor/wood/large, -/area/station/service/library) +"mvL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "mwd" = ( /obj/structure/railing/corner{ dir = 1 @@ -43265,16 +43631,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured_large, /area/station/medical/storage) -"mwg" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "mwh" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment, @@ -43284,25 +43640,30 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"mwl" = ( +/obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/station/commons/lounge) "mwm" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"mwo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "mwr" = ( /turf/closed/wall, /area/station/security/evidence) +"mwx" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "mwy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -43341,6 +43702,13 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"mwY" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/siding/red/corner{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "mxF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -43420,6 +43788,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"myt" = ( +/obj/structure/lattice/catwalk, +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) "myx" = ( /turf/closed/wall, /area/station/service/library/private) @@ -43438,18 +43811,6 @@ }, /turf/open/openspace, /area/station/science/xenobiology) -"myM" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/table/reinforced, -/obj/item/storage/briefcase/secure{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/paper/monitorkey, -/obj/item/clipboard, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "myO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_blue, @@ -43480,6 +43841,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"mzN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "mzT" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -43488,20 +43856,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"mzX" = ( -/obj/structure/table, -/obj/item/geiger_counter{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/screwdriver{ - pixel_y = 10 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "mAe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/stairs/south, @@ -43566,6 +43920,17 @@ /obj/item/clothing/head/costume/shrine_wig, /turf/open/floor/plating/airless, /area/space/nearstation) +"mAY" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "actualcommissaryshutter"; + name = "Vacant Commissary Shutter" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "mBb" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/large, @@ -43582,10 +43947,13 @@ }, /turf/open/floor/iron, /area/station/construction/storage_wing) -"mBx" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) +"mBr" = ( +/obj/item/storage/toolbox/mechanical, +/obj/structure/table, +/obj/item/analyzer, +/obj/item/multitool, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "mBK" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -43595,14 +43963,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"mBW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/firealarm/directional/east, -/obj/structure/cable, -/turf/open/floor/carpet, -/area/station/service/bar/backroom) "mBY" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -43633,14 +43993,29 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mCw" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment{ - dir = 4 +"mCo" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 }, -/turf/open/floor/carpet, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/smooth_large, /area/station/commons/lounge) +"mCJ" = ( +/obj/item/paint/red{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/paint/black{ + pixel_x = 4; + pixel_y = 12 + }, +/obj/item/paint/blue{ + pixel_x = 9; + pixel_y = 8 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "mCM" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -43654,13 +44029,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"mCN" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "mDd" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/rack, @@ -43673,13 +44041,6 @@ "mDk" = ( /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"mDn" = ( -/obj/structure/reflector/double{ - dir = 6 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "mDo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -43688,6 +44049,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"mDq" = ( +/obj/effect/spawner/random/maintenance/two, +/obj/structure/rack, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mDv" = ( /obj/machinery/vending/coffee{ pixel_x = -3 @@ -43696,6 +44062,17 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/wood, /area/station/command/meeting_room/council) +"mDy" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/machinery/button/door/directional/north{ + id = "hydropony_shutters"; + name = "hydroponics shutters control"; + pixel_x = 10; + pixel_y = 30; + req_access = list("hydroponics") + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/hydroponics) "mDz" = ( /obj/structure/railing{ dir = 1 @@ -43720,6 +44097,13 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"mDD" = ( +/obj/machinery/atmospherics/pipe/multiz/orange/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mDF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -43762,6 +44146,9 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) +"mEh" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "mEv" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/firealarm_sanity, @@ -43792,21 +44179,12 @@ }, /turf/open/floor/iron/checker, /area/station/ai_monitored/command/storage/satellite) -"mFt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "mFA" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/dim/directional/south, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"mFB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "mFR" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -43817,11 +44195,6 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) -"mFZ" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "mGb" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -43837,29 +44210,12 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mGh" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) "mGx" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/engine/hull, /area/station/maintenance/starboard/lesser) -"mGy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/pdapainter/engineering, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "mGO" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 @@ -43878,12 +44234,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"mGX" = ( -/obj/effect/turf_decal/loading_area, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/textured, -/area/station/maintenance/disposal/incinerator) "mHd" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/trimline/purple/filled, @@ -43904,6 +44254,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"mHz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/wood{ + name = "Event Storage" + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/machinery/door/firedoor, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "mHC" = ( /obj/structure/table, /obj/item/camera, @@ -43919,6 +44280,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"mHH" = ( +/obj/item/stack/sheet/cotton{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "mHK" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 8 @@ -43948,14 +44317,31 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"mHZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "mIa" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"mIf" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"mId" = ( +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) +"mIg" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "mIi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -43999,14 +44385,16 @@ /turf/open/floor/plating, /area/station/cargo/miningoffice) "mIE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 }, -/obj/machinery/bluespace_vendor/directional/north, -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "mIJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -44031,6 +44419,13 @@ /obj/structure/ladder, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/command/nuke_storage) +"mIR" = ( +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "mIX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/frame/computer{ @@ -44094,11 +44489,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/cytology) -"mJE" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "mJF" = ( /obj/structure/table/wood, /obj/item/camera_film{ @@ -44110,18 +44500,20 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"mJI" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/vending_refill/coffee{ - pixel_x = 5; - pixel_y = 12 +"mJJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/turf/open/floor/iron/dark/smooth_edge, +/area/station/commons/lounge) "mJL" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) +"mKk" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "mKo" = ( /obj/machinery/door/airlock/research{ name = "Ordnance Gas Storage" @@ -44165,18 +44557,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) -"mKU" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/landmark/start/assistant, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) "mKV" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, @@ -44199,6 +44579,12 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/iron/dark, /area/station/service/chapel) +"mLk" = ( +/obj/machinery/computer/atmos_alert{ + dir = 1 + }, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "mLl" = ( /obj/machinery/vending/cigarette, /turf/open/floor/carpet, @@ -44206,13 +44592,6 @@ "mLm" = ( /turf/closed/wall, /area/station/hallway/secondary/construction) -"mLu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 10 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "mLH" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/table/reinforced, @@ -44235,6 +44614,9 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"mLS" = ( +/turf/open/openspace, +/area/station/engineering/break_room) "mMb" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -44242,13 +44624,6 @@ }, /turf/open/openspace, /area/station/command/bridge) -"mMn" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/computer/atmos_control/nitrogen_tank, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "mMx" = ( /obj/structure/window/reinforced/tinted/spawner/directional/south, /obj/structure/window/reinforced/tinted/spawner/directional/east, @@ -44267,10 +44642,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"mMD" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "mMN" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -44287,6 +44658,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"mMW" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Bar & Restaurant" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/herringbone, +/area/station/commons/lounge) "mMX" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -44298,29 +44676,16 @@ /obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"mNn" = ( -/obj/structure/chair/stool/directional/south{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/landmark/start/janitor, -/turf/open/floor/carpet, -/area/station/service/janitor) "mNp" = ( /obj/structure/lattice/catwalk, /obj/structure/ladder, /turf/open/space/basic, /area/space/nearstation) -"mNx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) +"mNC" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/radiation/rad_area/directional/south, +/turf/open/openspace, +/area/station/engineering/break_room) "mND" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -44328,6 +44693,19 @@ }, /turf/open/openspace, /area/station/hallway/secondary/exit/departure_lounge) +"mNK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_green/end{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "mNN" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ @@ -44360,6 +44738,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"mOo" = ( +/obj/effect/turf_decal/trimline/yellow/filled, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/item/kirbyplants/random/fullysynthetic, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"mOv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "mOx" = ( /obj/structure/bed/dogbed/runtime, /obj/item/toy/figure/cmo{ @@ -44433,6 +44829,18 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) +"mPi" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/item/newspaper{ + pixel_y = 2 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "mPn" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/plating, @@ -44443,16 +44851,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"mPB" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Holodeck - Aft"; - name = "holodeck camera" - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/station/holodeck/rec_center) "mPP" = ( /obj/structure/table/wood, /obj/item/radio/intercom, @@ -44466,9 +44864,10 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"mPU" = ( -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) +"mPT" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/carpet/black, +/area/station/service/theater) "mPV" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -44484,13 +44883,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/construction) -"mQk" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "mQS" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -44499,6 +44891,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"mQT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/lobby) "mQX" = ( /obj/machinery/mineral/ore_redemption{ dir = 4; @@ -44511,13 +44910,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"mRa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "mRf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/lattice, @@ -44603,20 +44995,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"mSr" = ( -/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/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"mSt" = ( -/obj/effect/landmark/start/assistant, -/obj/structure/chair, -/turf/open/floor/wood, -/area/station/service/library) "mSA" = ( /obj/structure/bed, /obj/item/bedsheet/qm, @@ -44635,6 +45013,15 @@ /obj/effect/landmark/start/quartermaster, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/qm) +"mSE" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 1 + }, +/obj/machinery/meter{ + name = "Mixed Air Tank In" + }, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "mSF" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44676,12 +45063,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"mTx" = ( -/obj/structure/table/wood, -/obj/item/gun/magic/wand/nothing, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/wood, -/area/station/service/theater) "mTz" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, @@ -44738,32 +45119,28 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"mUF" = ( +/obj/item/kirbyplants/random, +/obj/structure/sign/poster/official/random/directional/south, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/wood/large, +/area/station/medical/psychology) +"mUN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "mUR" = ( /turf/closed/wall, /area/station/service/bar/backroom) -"mUT" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) -"mUY" = ( -/obj/structure/table, -/obj/item/grenade/chem_grenade/teargas/moustache{ - pixel_x = 6; - pixel_y = 7 +"mUS" = ( +/obj/machinery/light_switch/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/grenade/chem_grenade/glitter/pink{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/grenade/smokebomb{ - pixel_y = 3 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/wood, -/area/station/service/theater) +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "mVm" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, @@ -44787,27 +45164,39 @@ "mVu" = ( /turf/open/floor/wood, /area/station/command/heads_quarters/ce) +"mVw" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/modular_computer/preset/engineering{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "mVC" = ( /obj/structure/lattice, /obj/effect/spawner/random/maintenance, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/openspace, /area/space/nearstation) -"mVI" = ( -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ +"mVM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/upper) +"mWn" = ( +/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/theater, +/obj/effect/mapping_helpers/mail_sorting/service/library, +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "mWu" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/glass, /area/station/maintenance/starboard/fore) -"mWE" = ( -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/iron/stairs/right, -/area/station/maintenance/disposal/incinerator) "mWF" = ( /obj/structure/railing/corner{ dir = 4 @@ -44841,9 +45230,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"mWQ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/eat/directional/north, +"mWP" = ( +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/effect/spawner/random/trash/botanical_waste, /turf/open/floor/plating, /area/station/maintenance/port/greater) "mWV" = ( @@ -44873,6 +45264,13 @@ /obj/structure/cable, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"mXl" = ( +/obj/structure/broken_flooring/singular/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "mXs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -44908,15 +45306,15 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/security/office) -"mXU" = ( +"mXT" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"mXV" = ( -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/machinery/camera/autoname/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/wood, -/area/station/service/bar/backroom) +/area/station/hallway/secondary/service) "mXW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -44942,20 +45340,29 @@ /obj/effect/landmark/start/captain, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"mYh" = ( +/obj/structure/lattice/catwalk, +/obj/structure/table/glass, +/obj/item/phone{ + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/openspace, +/area/station/engineering/break_room) +"mYm" = ( +/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/trimline/yellow/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "mYo" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/space/nearstation) -"mYq" = ( -/obj/structure/transport/linear{ - radial_travel = 0 - }, -/obj/machinery/elevator_control_panel/directional/south{ - linked_elevator_id = "catwalk_engi"; - preset_destination_names = list("2"="Lower Engine","3"="Upper Atmos.") - }, -/turf/open/openspace, -/area/station/engineering/break_room) "mYy" = ( /obj/structure/sign/poster/contraband/power/directional/north, /obj/structure/disposalpipe/segment, @@ -45018,6 +45425,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"mZo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "mZq" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres, @@ -45036,6 +45451,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/science/robotics) +"mZK" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "mZV" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45044,6 +45463,13 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/hallway/primary/central) +"naa" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "nah" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -45060,6 +45486,17 @@ /obj/effect/landmark/navigate_destination/cargo, /turf/open/floor/iron, /area/station/cargo/storage) +"naq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nar" = ( /obj/structure/railing/corner{ dir = 8 @@ -45067,14 +45504,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/bridge) -"naC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydropony_shutters"; - name = "Hydroponics Shutters" - }, -/turf/open/floor/plating, -/area/station/service/kitchen) +"nav" = ( +/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/break_room) "naR" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/glass, @@ -45119,14 +45554,29 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, /area/station/science/robotics/lab) -"nbo" = ( -/obj/machinery/holopad, -/turf/open/floor/wood/large, -/area/station/service/library/private) -"nbL" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +"nbY" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/engineering/lobby) +"ncj" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/landmark/start/cook, +/turf/open/floor/glass, +/area/station/service/kitchen) +"ncs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_recreation) "nct" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -45155,15 +45605,26 @@ "ncO" = ( /turf/open/floor/glass/reinforced, /area/station/hallway/secondary/entry) +"ncT" = ( +/obj/machinery/electrolyzer, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"ncV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/stripes/white/line, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/station/engineering/main) "nde" = ( /turf/open/floor/wood, /area/station/command/heads_quarters/cmo) -"ndl" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/camera/autoname/directional/north, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood/large, -/area/station/service/library) "ndo" = ( /obj/structure/table, /obj/item/electronics/airlock, @@ -45229,17 +45690,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"nep" = ( -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) -"neu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "ney" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 1 @@ -45262,17 +45712,6 @@ /obj/effect/turf_decal/trimline/purple/line, /turf/open/floor/iron, /area/station/science/robotics) -"neF" = ( -/obj/structure/table/wood, -/obj/item/radio/intercom/directional/north, -/obj/item/reagent_containers/cup/bowl/soup/stew{ - desc = "Exactly what it says on the tin."; - initial_reagent = /datum/reagent/consumable/condensedcapsaicin; - name = "6 seconds blinding stew"; - pixel_y = 12 - }, -/turf/open/floor/carpet, -/area/station/service/theater) "neJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45317,18 +45756,22 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"nfx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red/corner, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "nfB" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment, /turf/open/openspace, /area/station/maintenance/starboard/lesser) +"nfE" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing/corner/end, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/iron/stairs/left, +/area/station/maintenance/disposal/incinerator) "nfG" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -45336,6 +45779,10 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/dark, /area/station/science/lobby) +"nfM" = ( +/obj/structure/cable, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "nfR" = ( /turf/closed/wall, /area/station/medical/break_room) @@ -45343,10 +45790,6 @@ /obj/effect/spawner/random/engineering/tank, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nfU" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/engine/hull/air, -/area/station/engineering/storage_shared) "nfX" = ( /obj/structure/table/wood/fancy/red, /obj/item/stack/sheet/mineral/gold{ @@ -45374,6 +45817,14 @@ dir = 8 }, /area/station/ai_monitored/turret_protected/aisat_interior) +"ngp" = ( +/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/stripes/white/line, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/main) "ngq" = ( /obj/machinery/door/airlock/grunge, /obj/effect/turf_decal/siding/dark{ @@ -45405,6 +45856,14 @@ /obj/effect/spawner/random/entertainment/cigarette_pack, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"nha" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/library, +/obj/structure/cable, +/obj/machinery/door/airlock/wood{ + name = "Curator Office" + }, +/turf/open/floor/wood, +/area/station/maintenance/hallway/abandoned_recreation) "nhg" = ( /turf/open/floor/iron/smooth_edge{ dir = 4 @@ -45426,14 +45885,6 @@ /obj/effect/mapping_helpers/mail_sorting/service/law_office, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"nhw" = ( -/obj/machinery/fax{ - fax_name = "Chief Engineer's Office"; - name = "Chief Engineer's Fax Machine" - }, -/obj/structure/table/reinforced, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "nhE" = ( /obj/structure/sign/poster/contraband/communist_state/directional/north, /obj/effect/decal/cleanable/crayon{ @@ -45526,13 +45977,6 @@ /obj/item/plunger, /turf/open/floor/wood, /area/station/medical/medbay/central) -"niC" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "niN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -45555,21 +45999,9 @@ }, /turf/open/floor/iron/freezer, /area/station/ai_monitored/turret_protected/aisat/foyer) -"njv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) +"njk" = ( +/turf/closed/wall, +/area/station/engineering/main) "njA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45593,6 +46025,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"njY" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nkh" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, @@ -45605,11 +46042,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"nkv" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "nky" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 8 @@ -45624,12 +46056,6 @@ dir = 4 }, /area/station/ai_monitored/turret_protected/ai) -"nkA" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/lobby) "nkD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/reinforced, @@ -45641,6 +46067,13 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"nkE" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "nkF" = ( /obj/machinery/light/directional/east, /turf/open/floor/iron/large, @@ -45652,12 +46085,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nlb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "nld" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -45702,11 +46129,6 @@ }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) -"nlJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "nlO" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -45727,18 +46149,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"nlS" = ( -/obj/machinery/light/directional/east, -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nmf" = ( /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"nmk" = ( +/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/camera/autoname/directional/east, +/turf/open/openspace, +/area/station/engineering/atmos/project) "nml" = ( /obj/machinery/button/door/directional/east{ id = "qm_cargobay"; @@ -45755,19 +46177,16 @@ /obj/effect/turf_decal/trimline/brown/filled/corner, /turf/open/floor/iron, /area/station/cargo/storage) -"nmr" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/openspace, -/area/station/engineering/break_room) "nmu" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"nmx" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/plating, +/area/station/engineering/atmos/upper) "nmB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/confetti, @@ -45833,11 +46252,6 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nny" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/maintenance/port/fore) "nnB" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, @@ -45906,6 +46320,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/meeting_room/council) +"nog" = ( +/obj/structure/lattice/catwalk, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/item/folder/yellow{ + pixel_x = 2; + pixel_y = -12 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "noi" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/spawner/random/structure/table_or_rack, @@ -45957,6 +46388,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"noI" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/vending/tool, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "noJ" = ( /obj/structure/table, /obj/item/stock_parts/servo, @@ -45987,6 +46425,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"noU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "npb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -45999,38 +46444,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"npe" = ( -/obj/item/toy/plush/moth{ - name = "Stockpile Sammy"; - pixel_x = -7; - pixel_y = 11 - }, -/obj/item/toy/plush/moth{ - name = "General Kill Light"; - pixel_y = -3 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "npf" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) +"npj" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/light_switch/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "npx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"npy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "npE" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -46108,6 +46538,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) +"nqm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "nqt" = ( /turf/open/floor/plating/elevatorshaft, /area/station/engineering/supermatter/room) @@ -46183,19 +46619,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/breakroom) -"nrf" = ( -/obj/structure/lattice/catwalk, -/obj/item/kirbyplants/random, -/obj/machinery/light/directional/north, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/openspace, -/area/station/service/library) "nrg" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/corporate_showroom) +"nrs" = ( +/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/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/wood, +/area/station/service/library) "nrw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -46226,10 +46663,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"nsc" = ( -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "nsp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, @@ -46237,6 +46670,14 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"nsx" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) "nsI" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 8 @@ -46257,6 +46698,14 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) +"nsN" = ( +/obj/structure/cable, +/obj/structure/tank_dispenser{ + pixel_x = -1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nsO" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/green/opposingcorners{ @@ -46283,10 +46732,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/science/cytology) -"nsZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron, -/area/station/engineering/lobby) "ntd" = ( /obj/machinery/biogenerator, /obj/effect/decal/cleanable/dirt, @@ -46310,17 +46755,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"ntw" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Dormitories - Lower Entrance" - }, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) "ntx" = ( /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron, /area/station/cargo/storage) +"ntA" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"ntE" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/space_heater, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "ntJ" = ( /obj/structure/railing, /obj/machinery/camera/autoname/directional/north{ @@ -46338,17 +46787,25 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/explab) -"nuq" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +"ntW" = ( +/obj/structure/cable, +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/contraband/random/directional/west, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "nuw" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"nux" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/blacklight/directional/south, +/obj/item/kirbyplants/random/fullysynthetic, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/carpet/stellar, +/area/station/maintenance/hallway/abandoned_recreation) "nuy" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -46397,11 +46854,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nvb" = ( -/obj/machinery/air_sensor/air_tank, -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/turf/open/floor/engine/air, -/area/station/engineering/atmos/upper) "nvc" = ( /obj/structure/rack, /obj/machinery/newscaster/directional/south, @@ -46472,10 +46924,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/security/courtroom) -"nvK" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "nvM" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, @@ -46486,11 +46934,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nvR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/hallway/abandoned_recreation) "nvS" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -46536,6 +46979,10 @@ }, /turf/open/floor/wood, /area/station/commons/storage/tools) +"nws" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "nwC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46606,13 +47053,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nxn" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "nxr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -46648,6 +47088,14 @@ /obj/effect/mapping_helpers/airlock/access/all/security/armory, /turf/open/floor/plating, /area/station/security/execution/education) +"nxN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/obj/effect/landmark/start/depsec/engineering, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "nxR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46676,11 +47124,6 @@ /obj/effect/spawner/random/clothing/funny_hats, /turf/open/floor/plating, /area/station/maintenance/port) -"nyk" = ( -/obj/machinery/light/directional/south, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/break_room) "nym" = ( /obj/structure/table, /obj/effect/spawner/random/bureaucracy/paper, @@ -46689,12 +47132,10 @@ /turf/open/floor/wood, /area/station/commons/dorms) "nyz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "nyA" = ( /obj/machinery/camera/motion{ c_tag = "Vault - Lower"; @@ -46708,12 +47149,6 @@ luminosity = 2 }, /area/station/ai_monitored/command/nuke_storage) -"nyB" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/item/kirbyplants/potty, -/turf/open/floor/wood, -/area/station/maintenance/port/greater) "nyG" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -46734,11 +47169,12 @@ /obj/structure/railing/corner, /turf/open/openspace, /area/station/commons/fitness/recreation) -"nyX" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/medical/psychology) +"nyY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "nzd" = ( /obj/structure/chair{ dir = 8 @@ -46766,6 +47202,16 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) +"nzv" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "nzy" = ( /obj/structure/closet/crate/trashcart/filled, /obj/structure/sign/poster/contraband/random/directional/west, @@ -46782,6 +47228,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) +"nzG" = ( +/obj/structure/transport/linear{ + radial_travel = 0 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "nzZ" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -46837,6 +47289,23 @@ }, /turf/open/floor/plating, /area/station/science/cytology) +"nAG" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/landmark/start/cook, +/turf/open/floor/glass, +/area/station/service/kitchen) +"nAN" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/binary/valve/digital{ + name = "Waste Release"; + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "nAS" = ( /obj/item/cigbutt{ pixel_x = 7; @@ -46844,13 +47313,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nAW" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, +"nAX" = ( +/obj/machinery/light/warm/dim/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "nAY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -46894,12 +47366,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) -"nBt" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "Plasma Multideck Adapter" +"nBs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 }, -/obj/machinery/meter{ - name = "Plasma meter" +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/upper) @@ -46957,6 +47429,10 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"nCl" = ( +/obj/structure/sign/poster/random/directional/north, +/turf/open/openspace, +/area/station/hallway/secondary/service) "nCo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_blue{ @@ -47023,24 +47499,19 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port) -"nCZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) +"nCO" = ( +/obj/machinery/airalarm/directional/south, +/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, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nDe" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"nDm" = ( -/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, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "nDt" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -47074,6 +47545,18 @@ /obj/machinery/light_switch/directional/north, /turf/open/openspace, /area/station/medical/storage) +"nDM" = ( +/obj/item/reagent_containers/cup/glass/bottle/wine_voltaic{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/structure/table, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 6; + pixel_x = -6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nDS" = ( /obj/effect/turf_decal/siding/blue, /obj/effect/turf_decal/siding/blue{ @@ -47132,13 +47615,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"nFm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/computer/atmos_control/plasma_tank{ - dir = 1 +"nFx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nFA" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47253,6 +47736,13 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/iron/sepia, /area/station/hallway/secondary/construction) +"nGB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/junction, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "nGH" = ( /obj/effect/turf_decal/siding/red{ dir = 6 @@ -47303,15 +47793,6 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/hallway/secondary/entry) -"nHh" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "nHi" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -47326,6 +47807,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"nHI" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/landmark/navigate_destination/bar, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "nHL" = ( /mob/living/basic/slime, /turf/open/floor/engine, @@ -47334,20 +47826,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"nHV" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 1 - }, -/obj/structure/railing/corner/end{ - dir = 8 - }, -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 - }, -/area/station/service/library) "nIo" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -47383,6 +47861,12 @@ /obj/item/folder/red, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) +"nID" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "nIH" = ( /obj/structure/weightmachine, /turf/open/floor/iron, @@ -47431,29 +47915,12 @@ dir = 4 }, /area/station/maintenance/port) -"nJl" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) -"nJw" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "nJB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/firealarm/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) -"nJI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nJN" = ( /obj/structure/showcase/cyborg/old{ dir = 4; @@ -47490,10 +47957,6 @@ /obj/structure/stairs/south, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"nKq" = ( -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "nKr" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 @@ -47502,6 +47965,11 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/cargo/storage) +"nKz" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "nKB" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/table/glass, @@ -47512,11 +47980,11 @@ /obj/item/pen, /turf/open/floor/wood, /area/station/medical/medbay/central) -"nKC" = ( -/obj/structure/lattice/catwalk, -/obj/structure/grille, -/turf/open/space/basic, -/area/space/nearstation) +"nKD" = ( +/obj/effect/landmark/start/station_engineer, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "nKJ" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -47536,17 +48004,14 @@ dir = 8 }, /area/station/ai_monitored/turret_protected/aisat/foyer) -"nLl" = ( +"nKU" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/trunk/multiz{ - dir = 1 +/obj/machinery/computer/slot_machine{ + pixel_y = 2 }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/floor/wood, +/area/station/hallway/primary/central) "nLn" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/glass/reinforced, @@ -47554,10 +48019,6 @@ "nLp" = ( /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"nLr" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos/upper) "nLC" = ( /obj/effect/turf_decal/siding/brown, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -47617,6 +48078,31 @@ /obj/structure/closet/l3closet/scientist, /turf/open/openspace, /area/station/command/gateway) +"nMV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/atmos/project) +"nMW" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 6 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) +"nNb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/turf/open/floor/wood, +/area/station/service/library) "nNd" = ( /obj/structure/railing/corner{ dir = 8 @@ -47658,12 +48144,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"nNy" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nNC" = ( /obj/machinery/power/smes, /obj/structure/cable, @@ -47677,12 +48157,6 @@ /obj/machinery/iv_drip, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) -"nNI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "nNJ" = ( /obj/effect/turf_decal/siding/purple{ dir = 8 @@ -47706,6 +48180,12 @@ dir = 4 }, /area/station/ai_monitored/turret_protected/aisat/foyer) +"nNY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "nNZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/yellow{ @@ -47720,13 +48200,6 @@ /obj/structure/statue/sandstone/venus, /turf/open/floor/wood, /area/station/command/meeting_room/council) -"nOh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/filingcabinet/chestdrawer, -/mob/living/basic/parrot/poly, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "nOo" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -47738,31 +48211,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/chapel) -"nOt" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/turf_decal/tile/green/full, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydropony_shutters"; - name = "Hydropony's Shutters" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) "nOw" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/washing_machine, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) -"nOC" = ( -/obj/structure/railing/corner, -/obj/structure/railing, -/obj/structure/lattice/catwalk, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "nOF" = ( /obj/machinery/conveyor_switch/oneway{ dir = 8; @@ -47807,6 +48260,15 @@ /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/dark/smooth_large, /area/station/security/eva) +"nPu" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "nPA" = ( /obj/item/storage/medkit/regular{ pixel_x = 3; @@ -47836,6 +48298,27 @@ "nPN" = ( /turf/open/floor/wood/large, /area/station/hallway/secondary/service) +"nPP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"nPS" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/components/binary/pump/on/layer5{ + name = "N2 to Airmix" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "nPW" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -47869,6 +48352,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"nQs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "nQw" = ( /obj/structure/railing/corner/end{ dir = 4 @@ -47907,6 +48399,13 @@ }, /turf/open/floor/grass, /area/station/science/genetics) +"nRk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nRm" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/tile, @@ -47948,6 +48447,14 @@ /obj/structure/cable, /turf/open/floor/glass/reinforced, /area/station/solars/starboard/fore) +"nRS" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/west, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "nSk" = ( /obj/effect/turf_decal/siding/blue{ dir = 9 @@ -47993,13 +48500,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet, /area/station/service/abandoned_gambling_den) -"nSH" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/vending/engivend, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "nSS" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/firealarm/directional/south, @@ -48024,9 +48524,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"nTa" = ( -/turf/open/floor/engine/air, -/area/station/engineering/atmos/upper) "nTe" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -48118,6 +48615,13 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"nUj" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "nUk" = ( /obj/structure/railing{ dir = 8 @@ -48182,12 +48686,6 @@ dir = 4 }, /area/station/hallway/secondary/exit/departure_lounge) -"nUE" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/item/radio/intercom/directional/south, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/commons/lounge) "nUV" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -48205,6 +48703,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"nVd" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "nVg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/closed/wall/r_wall, @@ -48228,12 +48735,6 @@ "nVE" = ( /turf/closed/wall/r_wall, /area/station/service/abandoned_gambling_den) -"nVT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "nWe" = ( /obj/structure/cable, /obj/machinery/power/emitter/welded{ @@ -48260,12 +48761,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"nWA" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/light_switch/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "nWD" = ( /obj/structure/railing{ dir = 8 @@ -48286,21 +48781,9 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) "nWF" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/pipe_dispenser{ - pixel_y = 8 - }, -/obj/item/clothing/glasses/meson/engine{ - pixel_y = 4 - }, -/obj/machinery/cell_charger, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "nWI" = ( /obj/effect/spawner/random/contraband/permabrig_weapon, /obj/effect/spawner/random/structure/crate_loot, @@ -48370,29 +48853,47 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/turret_protected/aisat_interior) -"nXo" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/modular_computer/preset/engineering{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) "nXp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating/airless, /area/space/nearstation) -"nXM" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/railing{ +"nXr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) +"nXz" = ( +/obj/structure/table, +/obj/machinery/microwave, +/obj/effect/turf_decal/siding/dark{ + dir = 9 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"nXH" = ( +/obj/structure/chair/stool/bar/directional/west, +/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, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"nXM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/trunk/multiz{ + dir = 1 + }, +/obj/structure/railing{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/hallway/primary/central) "nXQ" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -48433,21 +48934,6 @@ /obj/structure/showcase/mecha/ripley, /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) -"nYp" = ( -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) "nYu" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -48464,17 +48950,13 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter) -"nYO" = ( -/obj/effect/turf_decal/arrows/white{ - color = "#00AAFF"; - pixel_y = 15 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "nYQ" = ( /turf/open/floor/iron/smooth_half, /area/station/ai_monitored/turret_protected/aisat/foyer) +"nYR" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nYT" = ( /obj/structure/railing{ dir = 4 @@ -48488,12 +48970,6 @@ }, /turf/open/floor/carpet, /area/station/ai_monitored/command/storage/eva) -"nYY" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/iron/stairs/left, -/area/station/engineering/lobby) "nYZ" = ( /obj/effect/turf_decal/plaque{ icon_state = "L4" @@ -48588,6 +49064,14 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"nZX" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "oaa" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -48619,24 +49103,31 @@ "oaj" = ( /turf/closed/wall, /area/station/security/medical) -"oar" = ( -/obj/structure/disposalpipe/segment{ +"oaq" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/trimline/purple/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) -"oav" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/coffeepot, -/obj/item/storage/box/coffeepack, -/obj/machinery/coffeemaker, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "oaA" = ( /obj/machinery/camera/autoname/directional/north, /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"oaD" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "oaF" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48654,6 +49145,14 @@ "obn" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central) +"obp" = ( +/obj/machinery/fax{ + fax_name = "Chief Engineer's Office"; + name = "Chief Engineer's Fax Machine" + }, +/obj/structure/table/reinforced, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "obu" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/turf_decal/trimline/yellow, @@ -48678,6 +49177,11 @@ /obj/structure/flora/bush/flowers_br/style_3, /turf/open/floor/grass, /area/station/ai_monitored/turret_protected/aisat/foyer) +"obI" = ( +/obj/machinery/light/directional/south, +/obj/machinery/vending/clothing, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "obJ" = ( /obj/machinery/door/airlock/external{ name = "Mining Dock Airlock" @@ -48697,6 +49201,15 @@ dir = 4 }, /area/station/medical/morgue) +"obX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "oca" = ( /obj/structure/chair/office/light{ dir = 1 @@ -48737,6 +49250,14 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"ocF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "ocG" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -48807,13 +49328,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"odw" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "odB" = ( /obj/item/cigbutt{ pixel_x = 8; @@ -48830,15 +49344,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating/airless, /area/space/nearstation) -"odP" = ( -/turf/open/floor/engine/o2, -/area/station/engineering/atmos/upper) -"odT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "odW" = ( /obj/effect/turf_decal/siding/dark{ dir = 1 @@ -48854,11 +49359,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"oes" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/firealarm/directional/east, -/turf/open/openspace, -/area/station/engineering/break_room) "oey" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, @@ -48895,6 +49395,19 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood, /area/station/commons/fitness/recreation) +"oeV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "O2 Multideck Adapter"; + dir = 8 + }, +/obj/machinery/meter{ + name = "O2 meter" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "ofc" = ( /obj/machinery/digital_clock/directional/west, /obj/structure/disposalpipe/trunk{ @@ -48942,24 +49455,6 @@ /obj/item/reagent_containers/cup/beaker/cryoxadone, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"ofs" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "N2 Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "N2 meter" - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"ofE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/service/bar) "ofL" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -49019,20 +49514,6 @@ /obj/item/newspaper, /turf/open/floor/wood, /area/station/commons/dorms) -"ogP" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"ogY" = ( -/obj/structure/sign/poster/official/random/directional/south, -/obj/structure/chair/sofa/left/brown{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/window/reinforced/tinted/frosted/spawner/directional/east, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/wood/large, -/area/station/service/library) "ohb" = ( /obj/machinery/airalarm/directional/south, /obj/item/toy/crayon/white{ @@ -49052,13 +49533,6 @@ "ohh" = ( /turf/open/floor/grass, /area/station/science/cytology) -"oho" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "ohp" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_y = 32 @@ -49112,9 +49586,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/large, /area/station/maintenance/hallway/abandoned_recreation) -"ohW" = ( -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/break_room) "oid" = ( /obj/item/wrench{ pixel_x = 4; @@ -49138,11 +49609,6 @@ /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, /area/station/cargo/storage) -"ois" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "oiz" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -49153,11 +49619,15 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"oiG" = ( -/obj/machinery/power/supermatter_crystal/engine, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"oiF" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 6; + pixel_y = 15 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "oiH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49176,6 +49646,11 @@ /obj/item/electronics/apc, /turf/open/floor/wood, /area/station/commons/storage/tools) +"oiQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "oiR" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 @@ -49236,15 +49711,6 @@ /obj/machinery/door/airlock/maintenance, /turf/open/floor/wood, /area/station/service/library) -"ojV" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "ojW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49268,24 +49734,28 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"oki" = ( -/turf/open/floor/engine/hull/air, -/area/station/engineering/break_room) +"okh" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "okk" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/exit/departure_lounge) -"oky" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"okm" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ + cable_layer = 1 }, -/obj/machinery/light/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 5 }, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "okC" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -49325,16 +49795,31 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/wood, /area/station/service/library/printer) +"okO" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "okP" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/engineering/lobby) -"okQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) +"ola" = ( +/obj/structure/table, +/obj/item/food/chocolatebar{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/glass/dry_ramen{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "olm" = ( /obj/structure/stairs/west, /obj/structure/railing, @@ -49371,6 +49856,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) +"omc" = ( +/obj/effect/turf_decal/trimline/yellow/filled, +/obj/item/kirbyplants/random/fullysynthetic, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "omu" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/mineral/stacking_unit_console{ @@ -49378,6 +49868,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"omx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/vending/colavend, +/obj/effect/mapping_helpers/broken_machine, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "omG" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/effect/turf_decal/siding/purple/corner{ @@ -49396,19 +49892,13 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"onj" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood/large, -/area/station/medical/psychology) -"onl" = ( -/obj/effect/landmark/start/station_engineer, -/obj/structure/cable/layer1, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) +"onh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "onm" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/effect/decal/cleanable/dirt, @@ -49437,10 +49927,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"onA" = ( -/obj/structure/closet/secure_closet/atmospherics, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "onG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, @@ -49451,19 +49937,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"onM" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 4 - }, -/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/iron, -/area/station/engineering/storage_shared) "onV" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49471,6 +49944,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) +"oob" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "ood" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, @@ -49493,6 +49971,14 @@ /obj/machinery/door/airlock/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"ooF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "ooK" = ( /obj/effect/decal/cleanable/blood/old, /obj/item/multitool{ @@ -49539,6 +50025,23 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"opt" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/hallway/primary/central) "opu" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -49596,11 +50099,15 @@ /turf/open/floor/iron/white, /area/station/medical/abandoned) "opT" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/turf/open/floor/engine/hull/reinforced, -/area/space/nearstation) +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "opU" = ( /obj/structure/table, /obj/item/camera{ @@ -49638,14 +50145,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) -"oqi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydropony_shutters"; - name = "Hydroponics Shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "oqq" = ( /obj/structure/table, /obj/item/folder/red, @@ -49664,6 +50163,13 @@ /obj/structure/fake_stairs/directional/east, /turf/open/floor/iron, /area/station/cargo/storage) +"oqW" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "ora" = ( /obj/structure/railing/corner/end, /obj/effect/turf_decal/stripes/corner{ @@ -49682,6 +50188,36 @@ /obj/item/storage/toolbox/mechanical, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"orh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) +"orm" = ( +/obj/structure/cable, +/obj/structure/sign/poster/random/directional/north, +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/firealarm_sanity, +/turf/open/floor/iron, +/area/station/engineering/main) +"orn" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/table/reinforced, +/obj/item/storage/briefcase/secure{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/paper/monitorkey, +/obj/item/clipboard, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "orr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/graffiti, @@ -49719,6 +50255,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/research) +"osg" = ( +/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, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "osp" = ( /obj/machinery/door/airlock/public/glass{ name = "Departure Balcony" @@ -49802,15 +50347,6 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/medical/cryo) -"oth" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "oti" = ( /obj/machinery/door/airlock/virology{ name = "Genetics Lab" @@ -49855,19 +50391,6 @@ }, /turf/open/openspace, /area/station/hallway/secondary/construction) -"ouE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "ouH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49893,6 +50416,10 @@ }, /turf/open/floor/iron/stairs/right, /area/station/service/library) +"ovq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/carbon_output, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/upper) "ovx" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, @@ -49915,6 +50442,12 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/greater) +"ovN" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/engine_smes) "ovQ" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, @@ -49963,21 +50496,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"oww" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/siding/dark{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 - }, -/area/station/service/library) "owz" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/glass, @@ -50010,6 +50528,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/glass, /area/station/maintenance/starboard/aft) +"oxf" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/official/work_for_a_future/directional/west, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "oxg" = ( /obj/machinery/photocopier/prebuilt, /obj/structure/railing{ @@ -50050,6 +50574,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) +"oxu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "oxG" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -50098,6 +50631,22 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"oys" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) +"oyx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "oyy" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/box/white, @@ -50127,6 +50676,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"oyU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "ozh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -50179,6 +50732,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"ozC" = ( +/obj/structure/chair/stool/directional/south{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/landmark/start/janitor, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) +"ozE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/contraband/random/directional/east, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "ozK" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -50186,11 +50756,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"ozL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/commons/lounge) "ozN" = ( /obj/structure/lattice/catwalk, /obj/item/storage/box/syndie_kit{ @@ -50214,28 +50779,25 @@ /obj/item/kirbyplants/photosynthetic, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"oAp" = ( -/obj/structure/chair, -/turf/open/floor/wood, -/area/station/service/library) -"oAy" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"oAq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) +/obj/machinery/airalarm/directional/south, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "oAz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload_foyer) -"oAG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) +"oAJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "oAL" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -50267,9 +50829,26 @@ dir = 1 }, /area/station/science/robotics/lab) -"oAZ" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) +"oBa" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"oBf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "oBo" = ( /obj/machinery/door/airlock/grunge{ name = "Cell 1" @@ -50279,6 +50858,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) +"oBp" = ( +/obj/machinery/air_sensor/carbon_tank, +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/upper) "oBy" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -50292,17 +50876,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"oBH" = ( -/obj/structure/sign/poster/official/walk/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "oBM" = ( /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, @@ -50343,6 +50916,17 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"oCi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/circuit, +/area/station/maintenance/hallway/abandoned_recreation) +"oCr" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "oCs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -50376,6 +50960,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"oCS" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 4; + initialize_directions = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "oCT" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 4 @@ -50383,18 +50974,30 @@ /obj/item/clothing/head/cone, /turf/open/floor/engine/hull, /area/space/nearstation) -"oCX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"oCU" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/mime, -/turf/open/floor/carpet, -/area/station/service/theater) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "oDc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"oDg" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/coffeepot, +/obj/item/storage/box/coffeepack, +/obj/machinery/coffeemaker, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "oDj" = ( /obj/machinery/power/port_gen/pacman/pre_loaded, /obj/structure/cable, @@ -50469,21 +51072,17 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/bomb) -"oEJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red/corner{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "oEL" = ( /obj/structure/lattice/catwalk, /obj/item/stack/rods, /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/maintenance/port/aft) +"oEN" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/lattice/catwalk, +/turf/open/floor/engine/hull/air, +/area/station/engineering/break_room) "oET" = ( /obj/structure/table, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -50531,6 +51130,15 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/coroner, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"oFn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oFw" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -50551,25 +51159,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"oFV" = ( -/obj/machinery/button/door/directional/south{ - id = "ceprivacy"; - name = "Privacy Shutters Control"; - pixel_y = 8 - }, -/obj/machinery/button/door/directional/west{ - id = "transitlockdown"; - name = "Transit Tube Lockdown"; - pixel_x = 0; - pixel_y = -8 - }, -/obj/machinery/button/door{ - id = "securestoragecw"; - name = "Secure Storage" - }, -/obj/structure/table/reinforced, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "oGj" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -50579,9 +51168,6 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/medical/coldroom) -"oGr" = ( -/turf/open/openspace, -/area/station/engineering/storage_shared) "oGu" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -50597,14 +51183,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"oGv" = ( -/obj/machinery/power/emitter/prototype{ - desc = "Hell yeah."; - dir = 4; - name = "Betsy" - }, -/turf/open/floor/engine, -/area/station/engineering/break_room) "oGG" = ( /obj/structure/railing{ dir = 8 @@ -50633,44 +51211,18 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"oGK" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/toy/plush/moth{ - name = "Headslicer Mofiny"; - pixel_x = 2; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/toy/plush/moth{ - name = "Flutty The Ravager Moffy"; - pixel_x = 5 - }, -/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/north, -/obj/item/toy/plush/moth{ - name = "Sporg Asbord"; - pixel_x = -8; - pixel_y = -3 - }, -/obj/structure/sign/poster/ripped/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "oGO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"oGR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/turf_decal/siding/red/corner{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"oGS" = ( -/obj/structure/table/reinforced, -/obj/item/storage/photo_album/bar, -/turf/open/floor/carpet, -/area/station/commons/lounge) +"oGW" = ( +/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, +/area/station/maintenance/disposal/incinerator) "oHf" = ( /obj/effect/turf_decal/trimline/red/warning{ dir = 10 @@ -50695,14 +51247,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/textured_large, /area/station/security/prison/rec) -"oHD" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/sign/poster/contraband/missing_gloves/directional/north, -/obj/machinery/rnd/production/circuit_imprinter, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "oHE" = ( /obj/machinery/holopad/secure, /obj/structure/disposalpipe/segment, @@ -50718,19 +51262,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"oHZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) -"oIe" = ( -/obj/structure/railing, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/water, -/area/station/maintenance/port/fore) "oIi" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 5 @@ -50740,17 +51271,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"oIk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/large, -/area/station/service/library/private) -"oIv" = ( -/obj/structure/railing, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/north, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "oII" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, @@ -50883,10 +51403,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood, /area/station/commons/dorms) -"oJM" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/engineering/engine_smes) "oJX" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, @@ -50907,6 +51423,10 @@ /obj/effect/landmark/start/hangover, /turf/open/openspace, /area/station/hallway/primary/central) +"oKx" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "oKA" = ( /obj/effect/turf_decal/siding/dark/corner{ dir = 8 @@ -50932,6 +51452,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"oKN" = ( +/obj/structure/broken_flooring/singular/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oLa" = ( /obj/structure/table/wood, /obj/item/book/bible{ @@ -50961,19 +51485,6 @@ /obj/structure/railing, /turf/open/floor/engine/hull, /area/space/nearstation) -"oLo" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/smartfridge/drying, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "oLt" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -50994,6 +51505,10 @@ /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron/white/side, /area/station/hallway/primary/aft) +"oLx" = ( +/obj/structure/broken_flooring/side/directional/east, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "oLA" = ( /obj/structure/closet/firecloset, /obj/structure/cable, @@ -51017,6 +51532,10 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron, /area/station/science/explab) +"oLL" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "oLN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/barricade/sandbags, @@ -51041,6 +51560,11 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/port) +"oLX" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oMd" = ( /obj/effect/spawner/random/maintenance/two, /obj/item/grown/bananapeel{ @@ -51072,6 +51596,10 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) +"oMV" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "oMX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -51100,23 +51628,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"oNc" = ( -/obj/structure/closet/lasertag/red, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/under/color/red, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/eighties/red, -/area/station/maintenance/hallway/abandoned_recreation) -"oNi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "oNp" = ( /obj/effect/landmark/start/assistant, /turf/open/floor/iron/cafeteria, @@ -51138,17 +51649,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"oND" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/closet/radiation, -/turf/open/floor/iron, -/area/station/engineering/lobby) -"oNI" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/engine/hull/reinforced, -/area/station/engineering/atmos/hfr_room) "oNM" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -51161,14 +51661,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"oOa" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"oNP" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/photocopier/prebuilt, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "oOc" = ( /obj/machinery/light/floor, /turf/open/floor/iron/dark/smooth_large, @@ -51181,19 +51679,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/maintenance/starboard/lesser) -"oOj" = ( -/obj/structure/cable, -/obj/structure/sign/poster/random/directional/north, -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/firealarm_sanity, -/turf/open/floor/iron, -/area/station/engineering/main) "oOm" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) +"oOs" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "oOw" = ( /obj/structure/lattice/catwalk, /obj/structure/ladder, @@ -51225,15 +51720,12 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/wood, /area/station/command/teleporter) -"oOK" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 10 +"oON" = ( +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "oOS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51247,16 +51739,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"oOX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "oOY" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/prison/mess) +"oOZ" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "oPa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51277,23 +51770,11 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"oPA" = ( -/obj/item/toy/plush/moth{ - name = "Goofy Greg"; - pixel_x = 3; - pixel_y = -5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/toy/plush/moth{ - name = "Crimes Reynald"; - pixel_x = -2; - pixel_y = 14 - }, -/obj/structure/sign/poster/contraband/mothic_rations/directional/west, -/obj/structure/sign/poster/official/moth_piping/directional/north, -/obj/structure/broken_flooring/pile/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +"oPu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/freezer, +/area/station/engineering/atmos/pumproom) "oPM" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -51339,12 +51820,6 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/hallway/secondary/construction) -"oQy" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "oQO" = ( /obj/structure/chair{ dir = 4 @@ -51359,16 +51834,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"oRb" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "oRp" = ( /turf/open/floor/iron/textured_large, /area/space/nearstation) @@ -51417,6 +51882,17 @@ /obj/machinery/airalarm/directional/east, /turf/open/openspace, /area/station/command/gateway) +"oRU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oSb" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -51436,6 +51912,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"oSq" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "oSt" = ( /obj/structure/broken_flooring/singular/directional, /obj/effect/decal/cleanable/dirt, @@ -51446,11 +51929,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/department/medical) -"oSw" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/plating, -/area/station/service/theater) "oSE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -51468,6 +51946,13 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/command/gateway) +"oSU" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "oSX" = ( /obj/structure/urinal/directional/north, /turf/open/floor/plating, @@ -51615,6 +52100,17 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"oUo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/terminal{ + dir = 1; + cable_layer = 1 + }, +/obj/structure/cable/multilayer/layer1, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) "oUC" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -51674,6 +52170,17 @@ /obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/iron, /area/station/science/breakroom) +"oVu" = ( +/obj/structure/railing/corner, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/station/service/library) "oVz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc/auto_name/directional/east, @@ -51693,6 +52200,22 @@ }, /turf/open/floor/carpet, /area/station/security/detectives_office) +"oVR" = ( +/obj/machinery/holopad, +/turf/open/floor/wood/large, +/area/station/service/library) +"oVY" = ( +/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/reagent_containers/cup/soda_cans/thirteenloko{ + pixel_x = 14; + pixel_y = 3 + }, +/obj/item/book/manual/wiki/engineering_construction, +/turf/open/floor/iron, +/area/station/engineering/lobby) "oWy" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/engine/hull/reinforced/air, @@ -51743,6 +52266,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) +"oXm" = ( +/obj/item/restraints/handcuffs/fake, +/obj/structure/table/wood, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "oXn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing/corner{ @@ -51757,6 +52285,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"oXI" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "oXJ" = ( /obj/structure/railing{ dir = 1 @@ -51767,6 +52302,15 @@ }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) +"oXO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "oXQ" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -51776,6 +52320,20 @@ /obj/effect/spawner/random/maintenance, /turf/open/openspace, /area/station/maintenance/port/aft) +"oXS" = ( +/obj/structure/cable, +/obj/machinery/light_switch/directional/east, +/obj/item/crowbar, +/obj/item/pipe_dispenser{ + pixel_y = 8 + }, +/obj/item/wrench, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/rack, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oXT" = ( /obj/effect/turf_decal/stripes/asteroid/corner{ dir = 8 @@ -51787,6 +52345,11 @@ /obj/effect/spawner/random/entertainment/money_large, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"oXX" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "oXZ" = ( /obj/effect/spawner/random/maintenance/two, /obj/structure/rack{ @@ -51794,16 +52357,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"oYb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ +"oYa" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ dir = 4 }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/turf/open/floor/iron/checker, +/area/station/service/bar) "oYd" = ( /obj/structure/disposalpipe/trunk{ dir = 2 @@ -51813,12 +52373,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"oYk" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron, -/area/station/engineering/main) "oYn" = ( /obj/effect/landmark/start/hangover, /obj/machinery/light/directional/west, @@ -51938,16 +52492,14 @@ }, /turf/open/openspace, /area/station/medical/storage) -"oZO" = ( -/obj/structure/railing/corner/end{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"oZX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood/large, -/area/station/service/library/private) +"oZV" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, +/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/smooth, +/area/station/engineering/main) "pac" = ( /obj/machinery/door/airlock/security{ name = "Interrogation" @@ -51963,33 +52515,11 @@ "paf" = ( /turf/open/openspace, /area/station/hallway/primary/starboard) -"pag" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/railing, -/obj/machinery/door/firedoor/border_only, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/glass, -/area/station/service/kitchen) -"pai" = ( -/obj/machinery/suit_storage_unit/ce, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "paq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/cigarette, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"pat" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "paI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -52016,10 +52546,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"pbk" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet, -/area/station/service/theater) "pbp" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -52039,6 +52565,18 @@ /obj/structure/table/reinforced, /turf/open/floor/engine/hull, /area/space/nearstation) +"pbt" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"pbB" = ( +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "pbG" = ( /obj/structure/rack, /obj/item/book/manual/wiki/engineering_construction{ @@ -52055,6 +52593,16 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/wood, /area/station/service/library/printer) +"pbL" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/sink/kitchen/directional/west, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "pbN" = ( /obj/structure/railing{ dir = 1 @@ -52110,6 +52658,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"pcg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 10 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "pch" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/flowers_pp/style_random, @@ -52181,13 +52736,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/gateway) -"pdr" = ( -/obj/machinery/bluespace_vendor/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/ai_monitored/command/storage/eva) "pdy" = ( /obj/structure/bed, /obj/effect/decal/cleanable/dirt, @@ -52223,6 +52771,19 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/science/cytology) +"pdB" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/engineering/main) +"pdM" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "pdO" = ( /turf/closed/wall, /area/station/medical/pharmacy) @@ -52247,17 +52808,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"pef" = ( -/obj/structure/table/wood, -/obj/item/clothing/head/costume/sombrero{ - pixel_y = 8 - }, -/obj/item/soap{ - pixel_y = 2 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/carpet, -/area/station/service/theater) "pem" = ( /obj/machinery/door/airlock/medical/glass{ name = "Cryogenics Room" @@ -52281,6 +52831,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/gateway) +"peo" = ( +/obj/machinery/computer/atmos_control/mix_tank{ + dir = 4 + }, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "pev" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -52300,6 +52857,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/security/courtroom) +"peO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/service/library) "peQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52323,18 +52890,20 @@ }, /area/station/hallway/secondary/service) "pfb" = ( -/obj/effect/turf_decal/trimline/yellow/filled, -/obj/item/kirbyplants/random/fullysynthetic, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"pfd" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock{ + name = "Laser Tag" }, -/obj/structure/railing/corner{ - dir = 4 +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/circuit/red, +/area/station/maintenance/hallway/abandoned_recreation) +"pfi" = ( +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/glass, +/obj/effect/turf_decal/tile/dark_blue, +/obj/structure/cable, +/turf/open/floor/iron/kitchen, /area/station/service/kitchen) "pfl" = ( /obj/structure/chair{ @@ -52388,6 +52957,33 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/wood/tile, /area/station/maintenance/port/aft) +"pfO" = ( +/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/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 + }, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) +"pgd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/vatgrower, +/turf/open/floor/engine, +/area/station/service/hydroponics) +"pgh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/engineering/lobby) "pgo" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -52463,12 +53059,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"pgO" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "pgQ" = ( /obj/structure/table, /obj/effect/spawner/random/bureaucracy/paper, @@ -52499,19 +53089,39 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) +"phf" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hazardvest{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest{ + pixel_x = 3 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/clothing/gloves/color/black{ + pixel_y = 3 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black{ + pixel_y = -3 + }, +/obj/item/clothing/mask/gas, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "phh" = ( /obj/machinery/door/firedoor/border_only{ dir = 1 }, /turf/open/floor/engine/hull/air, /area/station/medical/chemistry) -"phk" = ( -/obj/structure/cable, -/obj/structure/closet/secure_closet/engineering_personal{ - anchored = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "phu" = ( /obj/structure/transit_tube, /obj/structure/window/reinforced/spawner/directional/south, @@ -52529,6 +53139,13 @@ }, /turf/open/openspace, /area/station/medical/medbay/central) +"phC" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "phE" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -52548,13 +53165,6 @@ }, /turf/open/floor/wood, /area/station/service/chapel) -"phP" = ( -/obj/structure/closet/secure_closet/security, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/customs) "phT" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -52564,12 +53174,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"phZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "pim" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -52577,30 +53181,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"piR" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/flashlight{ - pixel_y = 8 - }, -/obj/structure/light_construct/directional/east, -/turf/open/floor/eighties/red, -/area/station/maintenance/hallway/abandoned_recreation) -"pjd" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/cooking_to_serve_man{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Kitchen" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "pje" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron, @@ -52619,6 +53199,14 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"pjI" = ( +/obj/structure/chair/comfy/brown{ + color = "#596479"; + dir = 8 + }, +/obj/effect/landmark/start/psychologist, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "pjN" = ( /turf/open/floor/iron/kitchen, /area/station/maintenance/port/aft) @@ -52627,15 +53215,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/textured_large, /area/station/medical/virology) +"pkl" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/landmark/start/assistant, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "pko" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/coffee, /turf/open/floor/iron/sepia, /area/station/hallway/secondary/construction) -"pkp" = ( -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "pkq" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt, @@ -52667,15 +53256,6 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/science/cytology) -"pkG" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "pkK" = ( /obj/structure/rack, /turf/open/floor/iron/dark/textured_large, @@ -52730,6 +53310,15 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat_interior) +"pmu" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Curator Office" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/library, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/service/library/printer) "pmw" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -52740,15 +53329,13 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"pmy" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 +"pmx" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "pmD" = ( /obj/structure/railing{ dir = 8 @@ -52773,35 +53360,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"pmN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/cigarette, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) -"pmP" = ( -/obj/structure/sign/departments/aisat/directional/east, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) -"pmS" = ( -/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/wood, -/area/station/hallway/secondary/service) "pmV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52833,6 +53391,18 @@ /obj/item/sticker/heart, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) +"pnc" = ( +/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/effect/mapping_helpers/airlock/access/all/security/general, +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Engineering" + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "pnd" = ( /turf/open/floor/wood, /area/station/commons/toilet/restrooms) @@ -52862,24 +53432,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"pnw" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/bottle/vodka{ - pixel_y = 15; - pixel_x = 6 - }, -/obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice{ - pixel_x = -5; - pixel_y = 15 - }, -/obj/item/reagent_containers/cup/glass/flask{ - pixel_x = -6 - }, -/obj/item/reagent_containers/cup/glass/flask{ - pixel_x = 11 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "pnG" = ( /obj/machinery/requests_console/directional/north{ department = "Robotics"; @@ -52898,6 +53450,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"pnX" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Community Center" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/wood, +/area/station/service/library) "pod" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/computer/security{ @@ -52912,13 +53471,16 @@ /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark, /area/station/command/gateway) -"por" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/disposal/bin/tagger, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +"pom" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine, +/area/station/engineering/main) "pot" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -52933,6 +53495,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"pov" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "poZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52950,12 +53516,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured_large, /area/station/medical/surgery) -"ppo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "ppp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/dark_blue, @@ -52965,10 +53525,34 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"ppw" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ppL" = ( /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos/upper) +"ppX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"ppY" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/library) "pqj" = ( /turf/closed/wall/r_wall, /area/station/security/interrogation) @@ -52997,6 +53581,13 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"prb" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted/frosted/spawner/directional/east, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "prn" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, @@ -53068,13 +53659,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) -"pse" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 +"psc" = ( +/mob/living/carbon/human/species/monkey/punpun, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) +/turf/open/floor/iron/checker, +/area/station/service/bar) "psi" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -53102,24 +53693,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"psx" = ( -/obj/machinery/modular_computer/preset/civilian{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "psC" = ( /turf/open/openspace, /area/station/hallway/primary/fore) -"psG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "psI" = ( /obj/structure/reagent_dispensers/wall/peppertank/directional/west, /obj/machinery/light/directional/west, @@ -53181,14 +53757,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"ptt" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "ptC" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -53196,6 +53764,15 @@ }, /turf/open/openspace, /area/station/medical/storage) +"ptD" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "psychology_shutters"; + name = "Psychologist's Office Shutters" + }, +/turf/open/floor/plating, +/area/station/medical/psychology) "ptI" = ( /obj/structure/railing/corner{ dir = 8 @@ -53217,6 +53794,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"pub" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "puf" = ( /obj/structure/cable/layer3, /obj/structure/cable, @@ -53257,11 +53841,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) -"pvl" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/structure/sign/warning/vacuum/external/directional/east, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "pvp" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, @@ -53299,6 +53878,14 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/security/brig) +"pvQ" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/engine, +/area/station/engineering/break_room) +"pvS" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/break_room) "pvT" = ( /obj/structure/railing{ dir = 8 @@ -53306,23 +53893,17 @@ /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai_upload) "pvU" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/bin, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) -"pwo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 1 - }, +/obj/structure/cable/layer1, +/obj/structure/sign/warning/radiation/rad_area/directional/east, +/turf/open/floor/catwalk_floor, /area/station/engineering/main) +"pwb" = ( +/obj/machinery/meter{ + name = "Mixed Air Tank In" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "pwy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -53384,19 +53965,15 @@ dir = 8 }, /area/station/hallway/primary/fore) -"pxe" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 +"pwU" = ( +/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 = 9 }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"pxk" = ( -/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/station/service/library) +/area/station/maintenance/port/fore) "pxv" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/wood, @@ -53406,32 +53983,26 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/command/heads_quarters/ce) -"pxP" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 1 +"pxJ" = ( +/obj/structure/window/spawner/directional/north, +/turf/open/floor/wood, +/area/station/service/library) +"pxN" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "N2 Multideck Adapter"; + dir = 8 }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) +/obj/machinery/meter{ + name = "N2 meter" + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "pxS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/security/prison/mess) -"pxZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "pyd" = ( /obj/machinery/door/airlock/external{ name = "Arrival Airlock" @@ -53458,24 +54029,30 @@ }, /turf/open/floor/carpet/royalblack, /area/station/command/heads_quarters/hos) -"pyk" = ( -/obj/structure/railing/corner{ +"pyj" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/commons/lounge) +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "pyw" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/maintenance/no_decals, /turf/open/space/basic, /area/space/nearstation) +"pyy" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/theatre, +/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{ + name = "Theater Backstage" + }, +/turf/open/floor/plating, +/area/station/service/theater) "pyB" = ( /obj/machinery/light_switch/directional/east, /turf/open/floor/carpet, @@ -53484,10 +54061,6 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"pzb" = ( -/obj/machinery/holopad, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "pzg" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -53539,10 +54112,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"pzG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "pzQ" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -53558,6 +54127,14 @@ /obj/item/reagent_containers/cup/glass/waterbottle/large, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"pzZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/missing_gloves/directional/north, +/obj/machinery/rnd/production/circuit_imprinter, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "pAf" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/corner{ dir = 1 @@ -53590,6 +54167,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) +"pAI" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/psychologist, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/black, +/area/station/medical/psychology) "pAJ" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/wood, @@ -53619,6 +54206,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"pBA" = ( +/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{ + id_tag = "commissarydoor"; + name = "Commissary" + }, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "pBB" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron/dark/textured_half{ @@ -53635,18 +54232,6 @@ /obj/machinery/vending/autodrobe, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"pBH" = ( -/obj/item/key/janitor, -/obj/vehicle/ridden/janicart, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) -"pBI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "pBJ" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/camera/directional/east{ @@ -53665,18 +54250,15 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/commons/storage/primary) +"pBP" = ( +/turf/open/floor/engine/air, +/area/station/engineering/atmos/upper) "pBU" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/range) -"pBW" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/water, -/area/station/maintenance/port/fore) "pCb" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage) @@ -53701,6 +54283,15 @@ }, /turf/open/floor/glass, /area/station/security/brig) +"pDa" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "pDf" = ( /obj/docking_port/stationary{ dir = 8; @@ -53726,14 +54317,15 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"pDO" = ( +"pDT" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + 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/turf_decal/stripes/corner, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/wood/large, -/area/station/service/theater) +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "pEj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -53743,17 +54335,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/warden) -"pEo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "pEx" = ( /obj/structure/railing{ dir = 1 @@ -53775,6 +54356,15 @@ /obj/structure/cable, /turf/closed/wall, /area/station/medical/medbay/central) +"pEG" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "pEI" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -53839,30 +54429,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) +"pFj" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hydropony_shutters"; + name = "Hydroponics Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "pFp" = ( /obj/machinery/sparker/directional/west{ id = "Xenobio" }, /turf/open/openspace, /area/station/science/xenobiology) -"pFs" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/break_room) -"pFC" = ( -/obj/structure/chair/office, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/lobby) -"pFN" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 4; - initialize_directions = 8 - }, +"pFJ" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "pFX" = ( @@ -53892,6 +54477,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"pGl" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine/hull/air, +/area/station/engineering/atmos/project) "pGr" = ( /obj/structure/table, /obj/item/clothing/gloves/color/yellow{ @@ -53998,6 +54587,14 @@ "pHf" = ( /turf/open/floor/carpet, /area/station/commons/storage/tools) +"pHi" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "pHl" = ( /obj/effect/turf_decal/trimline/purple/arrow_cw{ dir = 8 @@ -54031,6 +54628,10 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"pHz" = ( +/obj/effect/landmark/start/clown, +/turf/open/floor/carpet/black, +/area/station/service/theater) "pHC" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /turf/open/floor/iron/dark/textured_large, @@ -54078,6 +54679,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) +"pID" = ( +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "pIP" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/dark_blue{ @@ -54091,6 +54696,13 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/maintenance/starboard/lesser) +"pJf" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "pJi" = ( /obj/machinery/rnd/experimentor, /turf/open/floor/engine, @@ -54185,6 +54797,16 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"pJR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/bounty, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Bay Shutters"; + id = "qm_cargobay"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/cargo/bitrunning/den) "pJS" = ( /turf/open/floor/iron, /area/station/hallway/primary/aft) @@ -54195,6 +54817,11 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) +"pKc" = ( +/obj/machinery/light/directional/west, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "pKd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -54213,6 +54840,18 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) +"pKw" = ( +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) "pKA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54288,10 +54927,6 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) -"pLp" = ( -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "pLv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, @@ -54334,6 +54969,18 @@ /obj/structure/noticeboard/directional/north, /turf/open/floor/wood/large, /area/station/service/library/private) +"pLP" = ( +/obj/machinery/power/terminal{ + dir = 1; + cable_layer = 1 + }, +/obj/structure/cable/multilayer/layer1, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) "pLQ" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/engine/hull, @@ -54366,12 +55013,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"pMa" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron/stairs/right, -/area/station/engineering/lobby) "pMd" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -54473,24 +55114,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"pMZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) -"pNc" = ( -/obj/machinery/atmospherics/components/tank/air{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "pNg" = ( /obj/structure/railing{ dir = 1 @@ -54556,20 +55179,6 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) -"pNV" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 5 - }, -/turf/open/floor/engine/hull/reinforced, -/area/space/nearstation) -"pOc" = ( -/obj/machinery/light/directional/east, -/obj/item/kirbyplants/random/fullysynthetic, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "pOh" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54594,21 +55203,6 @@ /obj/effect/spawner/random/clothing/backpack, /turf/open/floor/iron, /area/station/commons/dorms) -"pOM" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/commons/lounge) "pON" = ( /obj/structure/sign/poster/official/safety_report/directional/south, /obj/effect/decal/cleanable/dirt, @@ -54635,23 +55229,6 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"pPb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark/arrow_cw{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) "pPf" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/camera/autoname/directional/west, @@ -54683,27 +55260,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) -"pPp" = ( -/obj/structure/railing, -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/warm/directional/west, -/turf/open/floor/grass, -/area/station/hallway/primary/starboard) -"pPq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Shared Storage" - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "pPt" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -54750,19 +55306,6 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"pPK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/requests_console/directional/south{ - department = "Engineering"; - name = "Engineering Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "pPO" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -54858,13 +55401,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"pQr" = ( -/obj/effect/mapping_helpers/burnt_floor, -/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/hallway) "pQt" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -54902,6 +55438,17 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) +"pQN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/turf_decal/tile/green/full, +/obj/machinery/door/airlock/hydroponics{ + name = "Hydroponics Lab" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/hydroponics) "pQQ" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54913,16 +55460,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"pQR" = ( -/obj/item/radio/intercom/directional/west, -/obj/machinery/modular_computer/preset/engineering{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/engine_smes) +"pQS" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/engine, +/area/station/engineering/atmos/upper) "pQU" = ( /obj/machinery/vending/clothing, /obj/structure/disposalpipe/segment{ @@ -54945,14 +55486,6 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/lesser) -"pRn" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "pRt" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -54960,15 +55493,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"pRw" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "pRx" = ( /obj/structure/sign/poster/contraband/random/directional/west, /obj/machinery/power/port_gen/pacman/pre_loaded, @@ -55010,17 +55534,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/construction/storage_wing) -"pRT" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ - cable_layer = 1 +"pRW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 10 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/openspace, +/area/station/engineering/atmos/project) "pSj" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, @@ -55048,11 +55569,6 @@ /obj/effect/landmark/start/hangover, /turf/open/openspace, /area/station/hallway/primary/aft) -"pSE" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/radiation/rad_area/directional/north, -/turf/open/openspace, -/area/station/hallway/primary/starboard) "pSF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/broken_flooring/singular/directional/west, @@ -55064,10 +55580,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"pSH" = ( -/obj/machinery/airalarm/directional/west, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/central) +"pSI" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "pSK" = ( /obj/effect/decal/cleanable/food/flour, /obj/item/storage/cans/sixbeer, @@ -55085,49 +55602,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"pSU" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix to Gas" - }, -/obj/effect/turf_decal/trimline/yellow, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"pSS" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/circuit/red, +/area/station/maintenance/hallway/abandoned_recreation) "pSY" = ( /obj/structure/railing/corner/end{ dir = 8 }, /turf/open/floor/iron/kitchen, /area/station/maintenance/port/aft) -"pTi" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing, -/obj/item/kirbyplants/random, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/medical/psychology) -"pTu" = ( -/obj/machinery/door/airlock/wood{ - name = "Service Hall" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/janitor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/janitor, -/turf/open/floor/wood, -/area/station/service/janitor) "pTw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/flora/bush/jungle/a/style_2{ @@ -55136,6 +55621,10 @@ }, /turf/open/floor/grass, /area/station/science/genetics) +"pTz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "pTB" = ( /obj/structure/table, /obj/item/taperecorder{ @@ -55147,17 +55636,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/port) -"pTL" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/computer/atmos_control/oxygen_tank, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "pTP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"pTS" = ( +/obj/machinery/power/emitter/prototype{ + desc = "Hell yeah."; + dir = 4; + name = "Betsy" + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) "pTT" = ( /obj/effect/turf_decal/trimline/red/filled/warning, /obj/structure/cable, @@ -55199,19 +55689,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"pUF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/engine_smes) -"pUM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/light/directional/east, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "pUV" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line, /obj/machinery/light/cold/directional/south, @@ -55230,6 +55707,17 @@ }, /turf/open/floor/plating, /area/station/science/genetics) +"pVd" = ( +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 + }, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) "pVo" = ( /obj/effect/turf_decal/tile/dark_blue/opposingcorners{ dir = 1 @@ -55240,6 +55728,13 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"pVA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "pWh" = ( /obj/machinery/button/door/directional/west{ id = "Cabin6"; @@ -55267,10 +55762,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"pWr" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/lounge) "pWF" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, @@ -55289,12 +55780,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) -"pXb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "pXt" = ( /obj/machinery/door/airlock/public/glass{ name = "Crematorium Room" @@ -55305,28 +55790,18 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/service/chapel) -"pXE" = ( -/obj/structure/sign/painting/library_secure{ - pixel_y = 32 - }, -/obj/structure/closet/crate, -/obj/item/canvas/twentythree_twentythree{ - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/canvas/nineteen_nineteen, -/obj/item/canvas/nineteen_nineteen, -/obj/item/canvas/nineteen_nineteen, -/obj/item/canvas/twentythree_nineteen, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/wood, -/area/station/service/library) -"pXV" = ( -/obj/structure/cable, +"pXM" = ( +/obj/structure/railing/corner, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"pYA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "pYI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55338,10 +55813,6 @@ /obj/effect/landmark/navigate_destination/aiupload, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload_foyer) -"pZs" = ( -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/break_room) "pZQ" = ( /obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ dir = 8 @@ -55394,13 +55865,6 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"qak" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/bar) "qam" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wood, @@ -55458,13 +55922,21 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"qbB" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room" +"qbm" = ( +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"qbw" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/engine, +/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, /area/station/engineering/storage_shared) "qbT" = ( /turf/closed/wall/r_wall, @@ -55478,6 +55950,16 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/medical/coldroom) +"qbZ" = ( +/obj/structure/transport/linear{ + radial_travel = 0 + }, +/obj/machinery/elevator_control_panel/directional/south{ + linked_elevator_id = "catwalk_engi"; + preset_destination_names = list("2"="Lower Engine","3"="Upper Atmos.") + }, +/turf/open/openspace, +/area/station/engineering/break_room) "qcb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -55508,6 +55990,17 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/central) +"qcT" = ( +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/break_room) +"qcX" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 9 + }, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "qdd" = ( /obj/structure/table/glass, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -55559,6 +56052,10 @@ }, /turf/open/floor/iron/airless, /area/station/maintenance/starboard/aft) +"qdN" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "qdR" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/decal/cleanable/dirt, @@ -55596,12 +56093,6 @@ /obj/machinery/light/directional/west, /turf/open/openspace, /area/station/hallway/primary/fore) -"qed" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/engine_smes) "qei" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55617,6 +56108,29 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"qem" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/structure/rack, +/obj/item/pai_card{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/integrated_circuit/loaded/speech_relay{ + pixel_x = 1; + pixel_y = -4 + }, +/obj/item/integrated_circuit/loaded/hello_world{ + pixel_x = 4 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/station/service/library) "qep" = ( /obj/structure/sink/directional/west, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -55662,6 +56176,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/lab) +"qeQ" = ( +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "qeX" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) @@ -55684,12 +56201,14 @@ /obj/effect/spawner/random/structure/shipping_container, /turf/open/floor/iron, /area/station/construction/storage_wing) -"qfq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ - dir = 5 +"qfo" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/obj/machinery/holopad, +/turf/open/floor/iron/checker, +/area/station/service/bar) "qfr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55708,6 +56227,15 @@ }, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"qfT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "qgc" = ( /obj/item/radio{ pixel_x = 6; @@ -55779,11 +56307,6 @@ /obj/effect/turf_decal/trimline/brown/filled, /turf/open/floor/iron, /area/station/cargo/sorting) -"qgt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "qgD" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room" @@ -55803,13 +56326,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"qgR" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "qgV" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/blood/old, @@ -55884,26 +56400,25 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"qhH" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/dark_blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_blue, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron/white, -/area/station/hallway/secondary/entry) -"qhQ" = ( -/obj/effect/turf_decal/stripes/line{ +"qhP" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"qhW" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/landmark/start/depsec/engineering, +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) +/area/station/security/checkpoint/engineering) "qid" = ( /obj/machinery/door/airlock/research{ name = "Research Division Backdoor" @@ -55924,6 +56439,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/mess) +"qij" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "qip" = ( /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt{ @@ -55983,6 +56502,26 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) +"qjf" = ( +/obj/effect/spawner/random/maintenance, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"qjn" = ( +/obj/item/toy/plush/moth{ + name = "Spanner"; + pixel_x = -3; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/spawner/random/maintenance, +/obj/structure/sign/poster/official/moth_hardhat/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "qjt" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/maintenance/two, @@ -56032,13 +56571,6 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/maintenance/starboard/central) -"qjZ" = ( -/obj/structure/sign/painting/library_secure{ - pixel_y = 32 - }, -/obj/machinery/skill_station, -/turf/open/floor/wood, -/area/station/service/library) "qki" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -56065,6 +56597,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"qko" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "qkv" = ( /obj/structure/railing{ dir = 4 @@ -56080,6 +56618,30 @@ }, /turf/closed/wall, /area/station/engineering/gravity_generator) +"qkO" = ( +/obj/structure/table/wood, +/obj/item/toy/crayon/spraycan/lubecan{ + charges = 5; + pixel_x = -6; + pixel_y = 13 + }, +/obj/item/toy/crayon/spraycan/mimecan{ + charges = 5; + pixel_x = 3; + pixel_y = 13 + }, +/obj/item/toy/figure/clown{ + pixel_x = 5 + }, +/obj/item/toy/figure/mime{ + pixel_x = -5 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/theater) "qkU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56087,6 +56649,10 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) +"qla" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "qle" = ( /obj/structure/table, /obj/item/clothing/head/cone{ @@ -56103,6 +56669,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"qlf" = ( +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/lobby) "qlg" = ( /obj/machinery/mech_bay_recharge_port, /turf/open/floor/iron/smooth, @@ -56115,10 +56688,50 @@ /obj/structure/cable, /turf/open/openspace, /area/station/medical/storage) +"qlx" = ( +/obj/structure/closet/crate/engineering{ + name = "Basic Materials" + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/item/stack/rods{ + amount = 50 + }, +/obj/item/stack/sheet/glass{ + amount = 50 + }, +/obj/item/stack/sheet/iron{ + amount = 50 + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) "qly" = ( /obj/machinery/camera/autoname/directional/north, /turf/open/floor/engine/hull/air, /area/station/security/courtroom) +"qlB" = ( +/obj/structure/sign/poster/official/walk/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/wood/large, +/area/station/service/library) +"qlF" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/stairs/left, +/area/station/engineering/lobby) "qlI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, @@ -56178,6 +56791,11 @@ /obj/effect/spawner/random/trash/box, /turf/open/floor/plating, /area/station/maintenance/port) +"qmq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "qmB" = ( /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark/textured_large, @@ -56195,12 +56813,6 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qmS" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "qmY" = ( /obj/effect/turf_decal/siding/blue{ dir = 6 @@ -56217,6 +56829,28 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"qnp" = ( +/obj/structure/closet/crate/wooden{ + desc = "Used for storing props for a stage play!."; + name = "Space Station 27 Props" + }, +/obj/item/clothing/under/costume/lobster, +/obj/item/clothing/head/collectable/captain, +/obj/item/disk/nuclear/fake/obvious, +/obj/item/clothing/head/collectable/hos, +/obj/item/toy/gun, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/item/clothing/head/collectable/xenom, +/obj/item/clothing/head/collectable/hardhat, +/obj/item/clothing/head/collectable/police, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "qnt" = ( /obj/structure/table/wood, /obj/item/storage/photo_album{ @@ -56308,16 +56942,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"qoL" = ( -/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, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/main) "qoN" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -56337,24 +56961,20 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating, /area/station/maintenance/disposal) +"qpa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "qpc" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/main) -"qpj" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"qpr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/lobby) "qpt" = ( /obj/structure/closet/secure_closet/captains, /turf/open/floor/wood, @@ -56374,6 +56994,13 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/wood/parquet, /area/station/medical/break_room) +"qpD" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/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/engineering/transit_tube) "qpG" = ( /obj/structure/railing{ dir = 4 @@ -56392,18 +57019,13 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"qpP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"qpL" = ( +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/upper) +"qpY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/turf/closed/wall, -/area/station/commons/vacant_room/commissary) -"qpV" = ( -/obj/machinery/atmospherics/pipe/multiz/orange/visible{ - dir = 8 - }, -/obj/machinery/meter, -/obj/structure/railing/corner, /turf/open/floor/iron/dark, /area/station/engineering/break_room) "qqd" = ( @@ -56440,17 +57062,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"qqz" = ( -/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/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "qqC" = ( /obj/effect/turf_decal/siding/dark{ dir = 1 @@ -56468,16 +57079,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"qqI" = ( -/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/office{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "qqJ" = ( /obj/structure/chair/office{ dir = 4 @@ -56485,33 +57086,6 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/carpet, /area/station/service/lawoffice) -"qqL" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hazardvest{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest{ - pixel_x = 3 - }, -/obj/item/clothing/suit/hazardvest{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/clothing/gloves/color/black{ - pixel_y = 3 - }, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black{ - pixel_y = -3 - }, -/obj/item/clothing/mask/gas, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "qqY" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 @@ -56549,10 +57123,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"qrK" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/engineering/transit_tube) "qrN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/green, @@ -56582,6 +57152,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"qsa" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/closet/crate/wooden, +/obj/item/tape, +/obj/item/taperecorder, +/obj/item/camera, +/obj/item/pai_card, +/obj/item/toy/plush/moth{ + name = "Spare Sani" + }, +/obj/structure/curtain/cloth/fancy/mechanical{ + name = "Psychologist's Office Curtains"; + id = "psychpriv" + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "qsb" = ( /obj/machinery/camera/autoname/directional/east, /obj/item/radio/intercom/directional/east, @@ -56670,6 +57258,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/construction/storage_wing) +"qtj" = ( +/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/office{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"qtC" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Port to Engine" + }, +/obj/effect/turf_decal/trimline/brown, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "qtM" = ( /obj/machinery/libraryscanner, /obj/machinery/camera/autoname/directional/north, @@ -56696,19 +57302,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"qtZ" = ( -/obj/structure/table, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/sign/departments/aisat/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) -"quB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/landmark/firealarm_sanity, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "quD" = ( /obj/item/kirbyplants/random, /obj/machinery/airalarm/directional/west, @@ -56738,6 +57331,17 @@ }, /turf/open/floor/engine/hull/air, /area/station/maintenance/port) +"qve" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "qvg" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -56776,24 +57380,27 @@ /turf/open/floor/plating, /area/station/science/zoo) "qvr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +/obj/effect/turf_decal/stripes/red/line{ dir = 4 }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/sign/warning/radiation/rad_area/directional/south, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "qvu" = ( /obj/machinery/light/directional/south, /obj/structure/lattice/catwalk, /obj/machinery/firealarm/directional/south, /turf/open/openspace, /area/station/security/checkpoint/supply) -"qvF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +"qvw" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/firealarm/directional/west, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "qvL" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/light/directional/south, @@ -56808,11 +57415,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"qvX" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/air_sensor/mix_tank, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) +"qvW" = ( +/obj/item/toy/plush/moth{ + name = "Moff #1"; + pixel_x = -15; + pixel_y = -7 + }, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "qwa" = ( /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, @@ -56821,6 +57435,12 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/openspace, /area/space/nearstation) +"qwo" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/glass, +/area/station/service/kitchen) "qwy" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -56831,16 +57451,17 @@ }, /turf/open/space/openspace, /area/space/nearstation) -"qwF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +"qwL" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/structure/curtain/cloth/fancy/mechanical{ + name = "Psychologist's Office Curtains"; + id = "psychpriv" }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) +"qwT" = ( +/obj/machinery/holopad, /turf/open/floor/glass, /area/station/service/kitchen) "qwX" = ( @@ -56858,12 +57479,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) -"qxx" = ( +"qxz" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar/red, +/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "qxA" = ( /obj/effect/turf_decal/trimline/brown/warning{ dir = 8 @@ -56898,18 +57525,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) -"qxU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"qxV" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 6 - }, -/turf/open/floor/engine/hull/reinforced, -/area/space/nearstation) "qye" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/structure/sign/nanotrasen{ @@ -56936,13 +57551,25 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) -"qyw" = ( -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 +"qyu" = ( +/obj/structure/lattice/catwalk, +/obj/structure/table/glass, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 1; + pixel_y = 2 }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/wrench, +/obj/item/crowbar/red, +/turf/open/openspace, +/area/station/engineering/break_room) "qyy" = ( /obj/effect/turf_decal/siding/blue, /obj/effect/turf_decal/siding/blue{ @@ -57005,11 +57632,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"qzh" = ( -/obj/effect/turf_decal/caution, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "qzo" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 @@ -57039,6 +57661,16 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) +"qzQ" = ( +/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, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/engineering/main) "qzY" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/machinery/firealarm/directional/south, @@ -57184,18 +57816,6 @@ }, /turf/open/openspace, /area/station/medical/storage) -"qBl" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/item/stack/sheet/iron/five, -/obj/item/stack/cable_coil/five, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "qBm" = ( /obj/structure/disposalpipe/junction/flip, /obj/effect/turf_decal/tile/dark_blue{ @@ -57204,11 +57824,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"qBo" = ( -/obj/machinery/air_sensor/oxygen_tank, -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos/upper) "qBx" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -57236,6 +57851,30 @@ /obj/item/tank/internals/anesthetic, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) +"qBK" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, +/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/airlock/medical{ + name = "Psychology" + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) +"qBY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/medical{ + name = "Psychology" + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "qCe" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -57323,11 +57962,9 @@ /turf/open/openspace, /area/station/commons/dorms) "qDm" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/obj/structure/sign/poster/random/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qDn" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room" @@ -57338,18 +57975,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"qDB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"qDL" = ( -/turf/open/floor/eighties, -/area/station/engineering/lobby) "qDM" = ( /obj/structure/chair, /obj/machinery/light/directional/west, @@ -57397,11 +58022,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qEG" = ( -/obj/machinery/firealarm/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/upper) "qEI" = ( /obj/structure/bodycontainer/morgue/beeper_off, /turf/open/floor/iron/dark/textured_large, @@ -57419,18 +58039,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/station/security/courtroom) -"qEU" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/space_heater, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"qEV" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "qEY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57440,6 +58048,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"qEZ" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "qFa" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -57487,25 +58104,35 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/medical) +"qFL" = ( +/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 = 5 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "qFO" = ( /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) -"qGd" = ( -/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/engineering/supermatter/room) +"qFP" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"qGa" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/radiation/rad_area/directional/west, +/turf/open/openspace, +/area/station/hallway/primary/starboard) "qGi" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/black, /area/station/maintenance/hallway/abandoned_recreation) -"qGm" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/water, -/area/station/maintenance/port/fore) "qGv" = ( /obj/structure/chair/sofa/right/brown{ dir = 1 @@ -57519,12 +58146,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/maintenance/starboard/lesser) -"qGF" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/commons/lounge) "qGG" = ( /obj/structure/cable, /turf/open/floor/iron/smooth_half, @@ -57545,19 +58166,17 @@ }, /turf/open/space/openspace, /area/space/nearstation) -"qHa" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "qHf" = ( /turf/closed/wall, /area/station/maintenance/disposal/incinerator) "qHg" = ( /turf/open/floor/iron/stairs, /area/station/service/library) +"qHo" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/turf/open/floor/wood/large, +/area/station/service/bar) "qHB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57583,14 +58202,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"qHI" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Plasma to Port" - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "qHJ" = ( /obj/structure/railing{ dir = 8 @@ -57638,12 +58249,32 @@ /obj/effect/mapping_helpers/mail_sorting/science/ordnance, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"qIj" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/dark/corner, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "qIp" = ( /obj/machinery/porta_turret/ai{ dir = 4 }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) +"qIw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "qIz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, @@ -57654,13 +58285,6 @@ /obj/structure/cable, /turf/open/openspace, /area/station/maintenance/port/aft) -"qIG" = ( -/obj/structure/cable/layer1, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "qII" = ( /obj/structure/railing/corner{ dir = 4 @@ -57683,17 +58307,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"qJd" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/requests_console/directional/west{ - name = "Engineering Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "qJf" = ( /turf/open/floor/wood, /area/station/service/lawoffice) @@ -57702,19 +58315,11 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/dark, /area/station/commons/dorms) -"qJo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/service/kitchen) -"qJz" = ( -/obj/effect/decal/cleanable/plasma, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) +"qJu" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "qJB" = ( /obj/effect/turf_decal/bot_white/right, /turf/open/floor/iron/dark/textured_large, @@ -57726,10 +58331,6 @@ }, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) -"qJK" = ( -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/service/library) "qJL" = ( /obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white/smooth_large, @@ -57742,13 +58343,6 @@ /obj/structure/disposalpipe/junction/yjunction, /turf/open/floor/wood/large, /area/station/hallway/secondary/service) -"qKg" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/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/engineering/transit_tube) "qKk" = ( /obj/structure/table/reinforced, /obj/item/restraints/handcuffs, @@ -57764,15 +58358,6 @@ }, /turf/open/floor/engine/hull/reinforced/air, /area/station/ai_monitored/turret_protected/ai) -"qKm" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "qKq" = ( /turf/open/openspace, /area/station/science/zoo) @@ -57782,6 +58367,12 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"qKt" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "qKA" = ( /obj/structure/railing{ dir = 6 @@ -57835,13 +58426,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/commons/vacant_room/office) -"qKY" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/engineering/lobby) "qLg" = ( /obj/machinery/door/airlock{ id_tag = "commissarydoor"; @@ -57853,6 +58437,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"qLm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "qLy" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -57861,26 +58455,10 @@ /obj/structure/ladder, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/bomb) -"qLF" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/medicine{ - pixel_x = -4; - pixel_y = 14 - }, -/obj/item/book/manual/wiki/chemistry{ - pixel_x = 3; - pixel_y = 10 - }, -/obj/item/book/manual/wiki/plumbing{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/structure/lattice/catwalk, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +"qLZ" = ( +/obj/structure/grille, /turf/open/openspace, -/area/station/service/library) +/area/station/maintenance/starboard/fore) "qMe" = ( /obj/effect/decal/cleanable/glitter{ color = "ff8080" @@ -57895,15 +58473,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"qMl" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/atmos, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "qMr" = ( /obj/structure/closet/secure_closet/courtroom, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -57960,23 +58529,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) -"qMT" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"qNb" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 6 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "qNd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -57993,6 +58545,14 @@ /obj/structure/stairs/south, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"qNi" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "qm_cargobay"; + name = "Cargo Bay Shutters" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "qNn" = ( /obj/structure/table, /obj/effect/spawner/random/bureaucracy/paper, @@ -58022,12 +58582,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"qNI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) "qNK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/air, @@ -58051,6 +58605,12 @@ /obj/item/trash/ready_donk, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"qNX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "qOv" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -58062,10 +58622,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) -"qOC" = ( -/obj/structure/grille, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) +"qOz" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hydropony_shutters"; + name = "Hydroponics Shutters" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/service/kitchen) +"qOB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/machinery/light/directional/east, +/obj/structure/sign/poster/random/directional/east, +/turf/open/floor/iron, +/area/station/engineering/lobby) "qOS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -58113,6 +58685,12 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qPH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/north, +/obj/effect/spawner/random/structure/musician/piano/random_piano, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/theater) "qPM" = ( /obj/effect/turf_decal/tile/dark_blue{ dir = 1 @@ -58178,35 +58756,24 @@ /obj/effect/spawner/random/clothing/backpack, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) +"qQv" = ( +/obj/effect/decal/cleanable/plasma, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "qQx" = ( /obj/structure/reagent_dispensers/wall/peppertank/directional/north, /obj/effect/turf_decal/stripes/end, /obj/structure/cable/multilayer/multiz, /turf/open/floor/iron/dark, /area/station/security/office) -"qQD" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "qQG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/space_hut) -"qQK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/wood{ - name = "Event Storage" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/obj/machinery/door/firedoor, -/turf/open/floor/wood/large, -/area/station/service/theater) "qQM" = ( /obj/machinery/conveyor_switch{ id = "raveyard" @@ -58253,12 +58820,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"qRb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"qRp" = ( +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "qRs" = ( /obj/structure/railing, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/robotics) +"qRx" = ( +/obj/effect/landmark/firealarm_sanity, +/obj/structure/lattice/catwalk, +/obj/machinery/griddle, +/turf/open/openspace, +/area/station/service/kitchen) "qRy" = ( /obj/machinery/atmospherics/components/tank/oxygen{ dir = 4 @@ -58271,13 +58854,6 @@ }, /turf/open/floor/wood/large, /area/station/service/library) -"qRC" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "qRL" = ( /obj/effect/turf_decal/siding, /obj/effect/turf_decal/trimline/white/corner{ @@ -58291,12 +58867,6 @@ }, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) -"qRQ" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "qSd" = ( /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, @@ -58362,6 +58932,15 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark/textured_edge, /area/station/science/ordnance/storage) +"qSK" = ( +/obj/effect/spawner/random/entertainment/deck{ + pixel_x = -7; + pixel_y = 13 + }, +/obj/structure/table/wood/poker, +/obj/item/stack/spacecash/c10, +/turf/open/floor/carpet/black, +/area/station/commons/lounge) "qSP" = ( /obj/machinery/vending/coffee, /obj/machinery/light/directional/east, @@ -58387,31 +58966,29 @@ /obj/structure/stairs/north, /turf/open/floor/iron/stairs/medium, /area/station/medical/virology) -"qTl" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/bluespace_vendor/directional/north, +"qTk" = ( +/obj/structure/closet/firecloset, /turf/open/floor/iron/dark, -/area/station/science/lobby) +/area/station/engineering/lobby) "qTm" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) +"qTt" = ( +/obj/machinery/firealarm/directional/east, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/closet/secure_closet/security/engine, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "qTy" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port) -"qTF" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light_switch/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "qTG" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -58512,6 +59089,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) +"qVx" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "qVz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58523,6 +59106,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/construction/storage_wing) +"qVD" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "qVJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -58537,10 +59130,6 @@ "qVO" = ( /turf/closed/wall, /area/station/command/bridge) -"qVW" = ( -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "qWb" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/camera/autoname/directional/west, @@ -58582,10 +59171,10 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/openspace, /area/station/command/bridge) -"qWt" = ( -/obj/structure/fireaxecabinet/directional/east, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) +"qWn" = ( +/obj/effect/landmark/start/mime, +/turf/open/floor/carpet/black, +/area/station/service/theater) "qWv" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -58604,12 +59193,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/textured, /area/station/medical/surgery) -"qWB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "qWF" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -58626,6 +59209,14 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) +"qXj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "qXl" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -58648,6 +59239,30 @@ dir = 4 }, /area/station/ai_monitored/turret_protected/aisat/foyer) +"qXx" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Gas" + }, +/obj/effect/turf_decal/trimline/yellow, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"qXH" = ( +/obj/structure/cable, +/obj/effect/landmark/start/depsec/engineering, +/obj/structure/chair/office{ + dir = 3 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) +"qXI" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/atmos, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "qXK" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -58664,15 +59279,13 @@ dir = 8 }, /area/station/service/chapel) -"qYa" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/railing/corner, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/flora/tree/jungle, -/turf/open/floor/grass, -/area/station/hallway/primary/starboard) +"qXU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "qYi" = ( /obj/machinery/portable_atmospherics/scrubber/huge, /obj/effect/turf_decal/bot, @@ -58715,14 +59328,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qYt" = ( -/obj/structure/cable, -/obj/structure/tank_dispenser{ - pixel_x = -1 +"qYu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/public/glass{ + name = "Blue Base" }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/turf/open/floor/circuit, +/area/station/maintenance/hallway/abandoned_recreation) "qYB" = ( /obj/structure/chair/greyscale{ dir = 1 @@ -58744,17 +59356,6 @@ /obj/item/sticker/pslime, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) -"qYU" = ( -/obj/machinery/door/airlock/wood{ - name = "Service Hall" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/service/bar/backroom) "qYW" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58765,12 +59366,19 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/science/genetics) -"qZt" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +"qYY" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/reagent_dispensers/fueltank/large, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"qZl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/wood, +/area/station/hallway/primary/central) "qZv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/generic_maintenance_landmark, @@ -58831,6 +59439,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"raa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"rad" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "rah" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/iron{ @@ -58849,14 +59469,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) -"ram" = ( -/obj/structure/lattice/catwalk, -/obj/effect/turf_decal/stripes/line, +"rak" = ( /obj/structure/railing{ - dir = 1 + dir = 8 }, -/turf/open/openspace, -/area/station/engineering/break_room) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/black, +/area/station/service/library/private) "ran" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -58931,6 +59550,14 @@ /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"rbs" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "rbx" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark/textured_large, @@ -58983,14 +59610,6 @@ }, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"rbZ" = ( -/obj/machinery/atmospherics/components/binary/crystallizer{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "rce" = ( /obj/item/clothing/head/cone{ pixel_x = 6; @@ -58998,6 +59617,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"rcl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "rcs" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance/two, @@ -59044,18 +59667,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/medbay/central) -"rdk" = ( -/obj/structure/table, -/obj/item/food/chocolatebar{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/cup/glass/dry_ramen{ - pixel_x = -8; - pixel_y = 9 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/central) "rdl" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -59113,15 +59724,33 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/service/cafeteria) +"reh" = ( +/obj/structure/stairs/east, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/service/kitchen) "rei" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"reu" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/library) "rey" = ( /obj/structure/lattice/catwalk, /obj/machinery/camera/autoname/directional/north, /turf/open/openspace, /area/station/hallway/secondary/construction) +"reF" = ( +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/engine, +/area/station/service/hydroponics) +"reI" = ( +/obj/structure/cable, +/turf/open/floor/iron/stairs, +/area/station/service/library) "reN" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59168,12 +59797,10 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/central) "rfw" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/catwalk_floor, -/area/station/engineering/lobby) +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "rfE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/lattice/catwalk, @@ -59226,10 +59853,6 @@ }, /turf/open/floor/carpet, /area/station/command/meeting_room/council) -"rgC" = ( -/obj/machinery/vending/donksnack, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "rhx" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -59243,12 +59866,51 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/construction/storage_wing) +"rhD" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "rhE" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/hallway/primary/starboard) +"rhF" = ( +/obj/structure/sign/poster/official/moth_delam/directional/east, +/obj/item/toy/plush/moth{ + name = "Morffeus"; + pixel_x = 2; + pixel_y = 10 + }, +/obj/item/toy/plush/moth{ + name = "Sporg Asbord"; + pixel_x = 2 + }, +/obj/item/toy/plush/moth{ + name = "Moff #4"; + pixel_x = -13; + pixel_y = 7 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) +"rhI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Bar & Restaurant" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark/herringbone, +/area/station/commons/lounge) "rhM" = ( /obj/effect/turf_decal/trimline/white/corner{ dir = 8 @@ -59261,21 +59923,34 @@ }, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) -"ria" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 +"rhP" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/trimline/red/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/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ + dir = 1 }, -/turf/open/floor/carpet, -/area/station/medical/psychology) +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "rih" = ( /turf/open/floor/plating, /area/station/maintenance/central) +"riq" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "44444" + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/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/iron/dark/smooth_large, +/area/station/commons/lounge) "riv" = ( /obj/item/trash/shok_roks/berry, /obj/structure/cable, @@ -59287,18 +59962,30 @@ "riD" = ( /turf/closed/wall, /area/station/maintenance/port) -"riE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/railing{ - dir = 5 - }, -/turf/open/floor/wood/large, -/area/station/service/library) -"riR" = ( +"riI" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/light/directional/north, /turf/open/openspace, -/area/station/service/library) +/area/station/engineering/break_room) +"riL" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks{ + dir = 1; + pixel_y = 3 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) +"riV" = ( +/obj/structure/table, +/obj/item/hfr_box/core{ + pixel_y = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "riZ" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior{ @@ -59344,19 +60031,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/port) -"rjy" = ( -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/wood{ - name = "Service Hall" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/theatre, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/service/theater) "rjz" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/drugs, @@ -59376,12 +60050,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"rjK" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/water, -/area/station/maintenance/port/fore) "rjO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -59389,12 +60057,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"rkf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/wood/large, -/area/station/service/library/private) "rki" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/engine, @@ -59410,23 +60072,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/glass/reinforced, /area/station/hallway/secondary/construction) -"rkD" = ( -/obj/structure/transport/linear/public, -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -6; - pixel_y = 13 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = -1; - pixel_y = 13 - }, -/obj/item/plate{ - pixel_x = -7; - pixel_y = -3 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/commons/lounge) "rkF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/item/radio/intercom/directional/west, @@ -59443,33 +60088,6 @@ /obj/structure/flora/bush/large/style_random, /turf/open/misc/asteroid, /area/station/science/xenobiology/hallway) -"rkK" = ( -/obj/structure/table/reinforced, -/obj/item/paper/guides/jobs/hydroponics, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydropony_shutters"; - name = "Hydropony's Shutters" - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"rkN" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/briefcase/secure, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "rkW" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark/smooth_large, @@ -59486,14 +60104,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) -"rld" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) "rlq" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/pale/style_random, @@ -59504,22 +60114,6 @@ /obj/machinery/chem_master, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) -"rlx" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Waste to Filter"; - dir = 4 - }, -/obj/effect/turf_decal/trimline/red, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) -"rly" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/effect/landmark/start/librarian, -/turf/open/floor/wood/large, -/area/station/service/library/private) "rlR" = ( /obj/item/storage/box/snappops{ pixel_x = 6; @@ -59562,13 +60156,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/stairs/medium, /area/station/command/heads_quarters/hop) -"rmi" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/lobby) "rmq" = ( /obj/machinery/mechpad, /turf/open/floor/iron/smooth, @@ -59687,12 +60274,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"rnn" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/directional/south, -/obj/structure/tank_dispenser, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "rnp" = ( /obj/structure/sign/directions/dorms{ dir = 1; @@ -59722,6 +60303,21 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/coldroom, /area/station/medical/coldroom) +"rnR" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) +"rnX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/item/storage/medkit/fire{ + pixel_y = 2 + }, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "roj" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -59754,6 +60350,11 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"roB" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/firealarm/directional/east, +/turf/open/openspace, +/area/station/engineering/break_room) "roG" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -59780,17 +60381,6 @@ }, /turf/open/floor/iron, /area/station/science/breakroom) -"roW" = ( -/obj/structure/broken_flooring/side/directional/east, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) -"roX" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/openspace, -/area/station/engineering/lobby) "roY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59826,11 +60416,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"rpx" = ( -/obj/structure/cable/layer1, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "rpB" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_showroom) @@ -59880,6 +60465,12 @@ /obj/machinery/light/very_dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/disposal) +"rqm" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "rqn" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -59898,12 +60489,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/chapel, /area/station/service/chapel) -"rqs" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "rqM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -59941,12 +60526,6 @@ /obj/structure/ladder, /turf/open/openspace, /area/station/maintenance/port/aft) -"rre" = ( -/obj/structure/rack, -/obj/effect/spawner/random/trash/janitor_supplies, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "rrj" = ( /obj/machinery/door/airlock/public/glass{ id_tag = "courtlockdown"; @@ -59963,6 +60542,9 @@ }, /turf/open/floor/wood, /area/station/security/courtroom) +"rrm" = ( +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/library) "rro" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -59988,28 +60570,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"rrv" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/railing, -/obj/machinery/door/firedoor/border_only, -/obj/structure/disposalpipe/segment{ - dir = 9 +"rrz" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 }, -/turf/open/floor/glass, -/area/station/service/kitchen) +/obj/item/kirbyplants/random/fullysynthetic, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "rrF" = ( /obj/structure/table, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) -"rrT" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "rrY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -60135,14 +60708,6 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"rui" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "ruq" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -60252,6 +60817,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"rvR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "rvY" = ( /obj/structure/table/reinforced, /obj/item/storage/box/gloves{ @@ -60276,6 +60850,13 @@ "rwh" = ( /turf/closed/wall/r_wall, /area/station/security/medical) +"rwt" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/library, +/obj/machinery/door/airlock/wood{ + name = "Curator Office" + }, +/turf/open/floor/wood/large, +/area/station/maintenance/hallway/abandoned_recreation) "rwG" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Dock" @@ -60298,6 +60879,15 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"rwL" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "rwO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -60313,22 +60903,6 @@ /obj/effect/baseturf_helper/reinforced_plating/ceiling, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"rwS" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 8 - }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) -"rwU" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "rwW" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/grass, @@ -60372,12 +60946,13 @@ "rxH" = ( /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"rxI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"rxL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/theater) "rxM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sink/kitchen/directional/east{ @@ -60401,22 +60976,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"rys" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/engine, -/area/station/engineering/break_room) -"ryt" = ( -/obj/structure/ladder, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) -"ryu" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "ryJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60449,11 +61008,6 @@ }, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"rzg" = ( -/obj/structure/broken_flooring/corner/directional/east, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "rzm" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -60496,6 +61050,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"rzZ" = ( +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/station/holodeck/rec_center) "rAa" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -60520,6 +61079,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) +"rAy" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted/frosted/spawner/directional/east, +/obj/effect/landmark/start/assistant, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "rAD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -60531,6 +61098,17 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) +"rAF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/table/wood, +/obj/item/statuebust{ + desc = "Scribbled on its bottom there are the words 'FEARTHEVAPORWAVE'."; + pixel_y = 12 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "rAH" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/start/hangover, @@ -60547,6 +61125,11 @@ /obj/structure/table/glass, /turf/open/floor/carpet, /area/station/command/bridge) +"rAT" = ( +/obj/structure/lattice/catwalk, +/obj/structure/grille, +/turf/open/space/openspace, +/area/space/nearstation) "rAV" = ( /obj/machinery/holopad, /obj/machinery/status_display/evac/directional/north, @@ -60597,6 +61180,25 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"rBx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) +"rBB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/space_heater, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "rBE" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -60604,12 +61206,34 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/openspace, /area/station/command/bridge) +"rBF" = ( +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/engineering/break_room) "rBI" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/decal/cleanable/confetti, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/carpet/black, /area/station/maintenance/hallway/abandoned_recreation) +"rBO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "rBP" = ( /obj/item/bikehorn/rubberducky, /obj/machinery/duct, @@ -60650,12 +61274,21 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) -"rCg" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 +"rCp" = ( +/obj/structure/table, +/obj/item/food/cheese/firm_cheese_slice{ + pixel_x = 10; + pixel_y = 7 }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/obj/item/flashlight/lantern{ + pixel_y = 7 + }, +/obj/item/food/moth_cheese_cakes{ + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "rCv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -60712,10 +61345,30 @@ }, /turf/open/floor/eighties, /area/station/construction/storage_wing) +"rDj" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"rDm" = ( +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/iron/stairs/right, +/area/station/maintenance/disposal/incinerator) "rDr" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"rDu" = ( +/obj/structure/table, +/obj/item/instrument/eguitar{ + pixel_y = 5 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/directional/south, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "rDv" = ( /turf/closed/wall, /area/station/construction/storage_wing) @@ -60783,12 +61436,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/stairs/medium, /area/station/maintenance/starboard/lesser) -"rEx" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/shieldgen, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/engine, -/area/station/engineering/break_room) "rED" = ( /turf/closed/wall, /area/station/security/prison/shower) @@ -60831,25 +61478,14 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"rFm" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"rFl" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/fax{ - fax_name = "Service"; - name = "Service Fax Machine" - }, -/obj/machinery/light/directional/north, -/obj/structure/table/reinforced, -/obj/structure/disposalpipe/trunk, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "rFq" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -60892,13 +61528,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"rFC" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/landmark/blobstart, -/turf/open/water, -/area/station/maintenance/port/fore) "rFF" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -60946,27 +61575,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"rGF" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/dice, +/obj/item/stack/spacecash/c20{ + pixel_x = -8; + pixel_y = 8 + }, +/turf/open/floor/carpet/black, +/area/station/commons/lounge) "rGK" = ( /obj/structure/fake_stairs/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rGY" = ( -/obj/structure/lattice/catwalk, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/item/folder/yellow{ - pixel_x = 2; - pixel_y = -12 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "rHk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -61023,6 +61644,23 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"rHK" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) +"rHM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "rHN" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plating, @@ -61034,6 +61672,21 @@ }, /turf/open/openspace, /area/station/command/gateway) +"rHU" = ( +/obj/structure/reflector/double{ + dir = 6 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"rHZ" = ( +/obj/structure/closet/firecloset, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "rIi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61060,6 +61713,11 @@ /obj/machinery/vending/tool, /turf/open/floor/iron, /area/station/commons/storage/primary) +"rIx" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/closet/emcloset, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "rIA" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/window/reinforced/spawner/directional/south, @@ -61101,10 +61759,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/cytology) -"rIX" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "rIZ" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/trimline/green/filled/corner{ @@ -61142,20 +61796,6 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"rJk" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"rJn" = ( -/obj/machinery/atmospherics/components/binary/pump/off{ - dir = 8; - name = "O2 To Port" - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "rJo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -61217,14 +61857,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"rKk" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "rKn" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -61239,12 +61871,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/medical/cryo) -"rKw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"rKz" = ( +/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ + name = "N20 Multideck Adapter"; + dir = 8 }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) +/obj/machinery/meter{ + name = "N20 meter" + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "rKA" = ( /turf/closed/wall, /area/station/maintenance/starboard/lesser) @@ -61295,14 +61932,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"rLg" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" - }, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "rLi" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/reinforced, @@ -61324,6 +61953,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/breakroom) +"rLz" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/openspace, +/area/station/engineering/lobby) "rLA" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/structure/railing{ @@ -61336,6 +61974,13 @@ /obj/item/clothing/glasses/science, /turf/open/floor/iron, /area/station/science/research) +"rLK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron, +/area/station/engineering/lobby) "rMc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61392,13 +62037,40 @@ "rNe" = ( /turf/open/openspace, /area/station/commons/fitness/recreation) -"rNP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"rNx" = ( +/obj/structure/table, +/obj/item/stamp/denied{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/stamp/granted{ + pixel_x = 9; + pixel_y = 8 + }, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/station/engineering/lobby) +"rNA" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/firealarm/directional/west, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) +"rND" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 9 + }, /turf/open/floor/iron/smooth, -/area/station/engineering/main) +/area/station/engineering/atmos/upper) "rNT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -61422,6 +62094,12 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/construction/storage_wing) +"rOf" = ( +/obj/structure/sign/poster/contraband/eat/directional/north, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/service/kitchen) "rOi" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -61466,15 +62144,34 @@ "rOA" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/science/central) +"rOB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "rOC" = ( /obj/machinery/light/directional/north, /obj/machinery/computer/cargo/request, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) +"rOG" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "rOQ" = ( /obj/machinery/skill_station, /turf/open/floor/engine/hull/air, /area/station/maintenance/port/aft) +"rOX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/airlock/public/glass{ + name = "Blue Base" + }, +/turf/open/floor/circuit, +/area/station/maintenance/hallway/abandoned_recreation) "rPd" = ( /obj/effect/turf_decal/siding/purple{ dir = 8 @@ -61484,6 +62181,19 @@ }, /turf/open/floor/iron, /area/station/science/lab) +"rPh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/requests_console/directional/south{ + department = "Engineering"; + name = "Engineering Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "rPn" = ( /obj/structure/table, /obj/item/assembly/flash/handheld{ @@ -61500,17 +62210,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/station/commons/dorms) -"rPu" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/airlock/public/glass{ - name = "Engineering Storage" - }, -/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, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "rPw" = ( /obj/item/cigbutt{ pixel_x = -12; @@ -61530,17 +62229,18 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/port) +"rPI" = ( +/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, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "rPK" = ( /obj/structure/table, /obj/item/paper/guides/jobs/engi/gravity_gen, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"rPM" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "rPQ" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -61559,6 +62259,14 @@ /obj/effect/mapping_helpers/mail_sorting/service/chapel, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"rPT" = ( +/obj/machinery/door/airlock/wood{ + name = "Curator Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/library, +/obj/machinery/door/firedoor, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "rPU" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -61575,12 +62283,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"rQf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/clock/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"rQb" = ( +/obj/machinery/atmospherics/components/binary/pump/off/general/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "rQg" = ( /obj/structure/tank_holder/extinguisher, /obj/machinery/light/directional/east, @@ -61593,12 +62299,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"rQo" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "rQq" = ( /obj/structure/table/reinforced, /obj/item/taperecorder, @@ -61618,24 +62318,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"rQx" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/light/directional/north, -/turf/open/openspace, -/area/station/engineering/break_room) -"rQG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) -"rQM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 6 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "rQQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61667,19 +62349,32 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"rRh" = ( +/obj/machinery/light/directional/east, +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"rRn" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "rRy" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/dark/smooth_edge{ dir = 1 }, /area/station/medical/pharmacy) -"rRD" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 +"rRJ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/lobby) "rRM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -61738,16 +62433,27 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"rSh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/any/service/library, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/wood{ + name = "Curator Office" + }, +/turf/open/floor/wood, +/area/station/service/library/printer) +"rSi" = ( +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "rSj" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_edge{ dir = 4 }, /area/station/medical/pharmacy) -"rSt" = ( -/obj/structure/sign/clock/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "rSu" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -61755,14 +62461,43 @@ /obj/machinery/washing_machine, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) -"rSR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 +"rSC" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/structure/cable, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/food/pie/cream{ + pixel_y = 9 + }, +/obj/item/food/pie/cream{ + pixel_y = 9 + }, +/obj/item/bikehorn/rubberducky{ + pixel_x = -9; + pixel_y = 2 + }, +/obj/item/bikehorn/rubberducky{ + pixel_x = -14; + pixel_y = 6 + }, +/obj/item/bikehorn/airhorn{ + pixel_x = 9; + pixel_y = 2 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/theater) +"rSX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "rTa" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -61814,28 +62549,10 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"rTH" = ( -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) -"rTO" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/grassy/style_random, -/turf/open/floor/grass, -/area/station/engineering/lobby) +"rTQ" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "rTR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -61847,6 +62564,10 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"rTV" = ( +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "rUf" = ( /obj/machinery/door/airlock/virology/glass{ name = "Malpractice Tower" @@ -61884,22 +62605,6 @@ /obj/machinery/disposal/bin, /turf/open/openspace, /area/station/science/xenobiology) -"rUE" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler{ - pixel_y = 11 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "rVc" = ( /obj/effect/turf_decal/siding/dark{ dir = 4 @@ -61911,68 +62616,17 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat_interior) -"rVe" = ( -/obj/machinery/light/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "rVf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rVj" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/item/storage/box/papersack{ - icon_state = "paperbag_NanotrasenStandard_closed" - }, -/obj/item/storage/box/papersack{ - icon_state = "paperbag_NanotrasenStandard_closed" - }, -/obj/item/storage/box/papersack{ - icon_state = "paperbag_NanotrasenStandard_closed" - }, -/obj/item/storage/box/papersack{ - icon_state = "paperbag_NanotrasenStandard_closed" - }, -/obj/item/holosign_creator/robot_seat/restaurant, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/item/book/manual/chef_recipes, -/obj/item/hand_labeler, -/obj/item/stack/package_wrap, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "rVs" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"rVu" = ( -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "ceprivacy"; - name = "Chief Engineers Privacy Shutters" - }, -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) -"rVw" = ( -/obj/structure/closet/secure_closet/psychology, -/obj/item/reagent_containers/spray/pepper, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "rVx" = ( /obj/structure/closet/crate/coffin, /turf/open/floor/plating, @@ -62038,6 +62692,11 @@ /obj/structure/sign/calendar/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) +"rWs" = ( +/obj/machinery/light/directional/west, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "rWx" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/engine/hull, @@ -62111,6 +62770,25 @@ "rXS" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical) +"rXW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "rXY" = ( /obj/effect/turf_decal/siding/purple/corner, /obj/structure/cable, @@ -62132,11 +62810,26 @@ /obj/structure/lattice, /turf/open/space/openspace, /area/space/nearstation) +"rYn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/smartfridge/drying, +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "rYu" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/status_display/evac/directional/west, /turf/open/floor/wood, /area/station/ai_monitored/command/storage/eva) +"rYB" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/space/nearstation) "rYF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62160,20 +62853,36 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"rYP" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/reinforced, +/obj/item/stamp/denied{ + pixel_x = 13 + }, +/obj/item/stamp/head/ce{ + pixel_y = 3 + }, +/obj/item/paper_bin{ + pixel_x = 3; + pixel_y = 10 + }, +/obj/item/pen{ + pixel_x = 17 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "rYQ" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/disposal) -"rYY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +"rZl" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "rZs" = ( /obj/structure/chair, /obj/machinery/camera/directional/north{ @@ -62198,13 +62907,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) -"sal" = ( -/obj/item/storage/toolbox/mechanical, -/obj/structure/table, -/obj/item/analyzer, -/obj/item/multitool, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "saq" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/effect/landmark/start/hangover, @@ -62216,14 +62918,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"saE" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Community Center" - }, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/library, -/turf/open/floor/wood, -/area/station/service/library) "saQ" = ( /obj/structure/table, /obj/item/flashlight/lamp{ @@ -62238,6 +62932,20 @@ }, /turf/open/floor/iron/grimy, /area/station/security/interrogation) +"saS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) +"saY" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/station/service/library) "sbb" = ( /obj/effect/turf_decal/siding/dark{ dir = 10 @@ -62250,32 +62958,15 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat_interior) -"sbd" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/station/medical/psychology) -"sbh" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/station/commons/lounge) "sbn" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"sbu" = ( -/obj/machinery/requests_console/directional/south{ - department = "Engineering"; - name = "Engineering Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) +"sbp" = ( +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/upper) "sby" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 @@ -62314,14 +63005,19 @@ /obj/structure/flora/bush/flowers_yw/style_3, /turf/open/floor/grass, /area/station/science/genetics) -"sbD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"sbF" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/rack, +/obj/item/radio/off{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/wrench, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, /turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) +/area/station/security/checkpoint/engineering) "sbI" = ( /obj/item/toy/plush/lizard_plushie/green{ name = "Swats-The-Moths"; @@ -62372,19 +63068,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"scf" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/library) -"sch" = ( -/obj/machinery/light/directional/north, -/turf/open/openspace, -/area/station/service/library) "scq" = ( /obj/effect/spawner/random/structure/chair_maintenance, /turf/open/floor/plating, @@ -62396,11 +63079,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"scE" = ( -/obj/machinery/light/directional/south, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/wood, -/area/station/service/library) "scH" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -62436,14 +63114,6 @@ /obj/effect/spawner/random/trash/crushed_can, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"scT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/station/medical/psychology) "sdf" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) @@ -62478,15 +63148,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) -"sdE" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/weldingtool/empty{ - pixel_x = -5; - pixel_y = -6 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "sdI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62534,6 +63195,21 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) +"sey" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) +"seA" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/grassy/style_random, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/grass, +/area/station/engineering/lobby) "seF" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -62554,6 +63230,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/security/mechbay) +"seW" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 9 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "sfh" = ( /turf/closed/wall, /area/station/maintenance/disposal) @@ -62597,10 +63280,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/grass, /area/station/commons/dorms) -"sfs" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/engine, -/area/station/engineering/main) "sfz" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Post - Cargo" @@ -62626,13 +63305,6 @@ /obj/structure/displaycase/noalert, /turf/open/floor/iron/dark, /area/station/science/lobby) -"sfT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/engineering/lobby) "sgf" = ( /obj/structure/ladder, /obj/structure/cable, @@ -62717,22 +63389,29 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/plating, /area/station/maintenance/disposal) +"sgX" = ( +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/break_room) +"sgY" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/black, +/area/station/medical/psychology) +"shb" = ( +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "shi" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage_shared) "shs" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) -"shv" = ( -/obj/machinery/oven/range, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 17 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "shx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) @@ -62769,14 +63448,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"sik" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/hallway/abandoned_recreation) +"siz" = ( +/obj/machinery/light/directional/south, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/break_room) "siG" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -62799,9 +63475,11 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"siP" = ( -/turf/open/floor/wood, -/area/station/commons/lounge) +"siN" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "siX" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -62813,10 +63491,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"sji" = ( -/obj/structure/sign/warning/radiation/rad_area/directional/east, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "sjq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62878,12 +63552,26 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/office) +"ska" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "skm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/spawner/random/structure/shipping_container, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"sko" = ( +/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, +/area/station/command/heads_quarters/ce) "skq" = ( /obj/machinery/power/solar{ id = "starboardsolar"; @@ -62908,17 +63596,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) -"skR" = ( -/obj/structure/table/wood, -/obj/item/vending_refill/cigarette{ - pixel_y = 4 - }, -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_y = -32 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet, -/area/station/service/bar/backroom) +"skO" = ( +/obj/structure/closet/lasertag/red, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/under/color/red, +/obj/machinery/light/small/blacklight/directional/south, +/turf/open/floor/eighties/red, +/area/station/maintenance/hallway/abandoned_recreation) "skS" = ( /obj/structure/table/glass, /obj/item/storage/box/monkeycubes{ @@ -62996,11 +63680,11 @@ }, /turf/open/openspace, /area/station/command/bridge) -"smd" = ( -/obj/machinery/newscaster/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/station/medical/psychology) +"slZ" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/siding/thinplating/corner, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/library) "smk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63014,6 +63698,10 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"smD" = ( +/obj/structure/closet/secure_closet/atmospherics, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "smV" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark/textured_large, @@ -63024,17 +63712,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/science/robotics/lab) -"sne" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor/heavy, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/main) "sns" = ( /obj/structure/table/reinforced, /obj/machinery/recharger{ @@ -63052,6 +63729,11 @@ }, /turf/closed/wall, /area/station/medical/pharmacy) +"snF" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "snQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -63097,17 +63779,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/medical/abandoned) +"sok" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "sot" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/openspace, /area/station/hallway/primary/central) -"soB" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "soH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -63118,22 +63797,16 @@ "soU" = ( /turf/closed/wall, /area/station/science/research) +"spb" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine/hull/air, +/area/station/engineering/storage_shared) "spl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"spp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/stripes/white/line, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 4 - }, -/area/station/engineering/main) "spr" = ( /obj/structure/table, /obj/item/hand_labeler{ @@ -63162,14 +63835,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/lesser) -"spy" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/air_sensor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "spC" = ( /obj/machinery/teleport/station, /obj/effect/turf_decal/tile/green/opposingcorners{ @@ -63196,23 +63861,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"spO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/chair/sofa/left/brown{ +"sqf" = ( +/obj/machinery/light/warm/dim/directional/south, +/obj/effect/turf_decal/tile/dark_green{ dir = 4 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood/large, -/area/station/service/library) -"sqc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) +/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" + }, +/obj/machinery/requests_console/directional/south{ + department = "Bar"; + name = "Bar Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/checker, +/area/station/service/bar) "sql" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/dirt, @@ -63267,6 +63932,11 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) +"src" = ( +/obj/structure/table, +/obj/machinery/microwave/engineering/cell_included, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "srx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -63292,9 +63962,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/port) -"srL" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/hallway) "srP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -63346,6 +64013,13 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/construction/storage_wing) +"ssy" = ( +/obj/machinery/restaurant_portal/restaurant, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ssz" = ( /obj/structure/lattice, /obj/structure/grille, @@ -63384,18 +64058,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"ssT" = ( -/obj/structure/table/wood, -/obj/structure/desk_bell{ - pixel_x = 7; - pixel_y = -12 - }, -/obj/item/compact_remote{ - pixel_x = -9; - pixel_y = 11 - }, -/turf/open/floor/wood/large, -/area/station/service/library/private) "ssV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63425,11 +64087,6 @@ "stm" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/security/armory) -"stn" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/commons/lounge) "stq" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -63447,14 +64104,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/security/checkpoint/science) -"stu" = ( -/obj/machinery/ticket_machine/directional/north{ - id = "ticket_machine_comissary" - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "stv" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -63488,6 +64137,14 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/lesser) +"sub" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/black, +/area/station/medical/psychology) +"sus" = ( +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "suy" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -63536,6 +64193,13 @@ "svp" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"svt" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/openspace, +/area/station/engineering/atmos/project) "svw" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -63544,6 +64208,19 @@ /obj/structure/railing/corner, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"svB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/firealarm/directional/south, +/obj/machinery/light/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"svE" = ( +/obj/effect/landmark/firealarm_sanity, +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/station/holodeck/rec_center) "svL" = ( /obj/machinery/door/poddoor/massdriver_ordnance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63574,28 +64251,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"swH" = ( -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/structure/table/wood, -/obj/machinery/light/directional/north, -/obj/item/clothing/head/hats/tophat{ - pixel_y = 11 - }, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/wood, -/area/station/service/bar/backroom) -"swI" = ( -/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/effect/mapping_helpers/airlock/access/all/security/general, -/obj/machinery/door/airlock/security/glass{ - name = "Security Post - Engineering" - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "swJ" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/structure/sink/directional/east, @@ -63624,31 +64279,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"sxd" = ( -/obj/structure/table, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 3; - pixel_y = 12 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = -2; - pixel_y = 12 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = -7; - pixel_y = 12 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -9; - pixel_y = 4 - }, -/obj/item/clothing/gloves/color/orange{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet, -/area/station/service/janitor) "sxh" = ( /obj/machinery/door/firedoor, /turf/open/floor/engine/hull/air, @@ -63668,12 +64298,25 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/glass/reinforced, /area/station/solars/starboard/fore) +"sxT" = ( +/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/green/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "sxY" = ( /obj/structure/reflector/double/anchored{ dir = 10 }, /turf/open/floor/iron/dark/textured, /area/station/engineering/supermatter/room) +"syi" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "syk" = ( /obj/structure/transit_tube/diagonal, /turf/open/space/openspace, @@ -63685,12 +64328,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/grass, /area/station/hallway/secondary/entry) -"syK" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) "syR" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/lattice/catwalk, @@ -63707,15 +64344,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"syX" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "SM_shutters"; - name = "Supermatter Radiation Shutters" - }, -/obj/effect/turf_decal/trimline/brown, -/obj/machinery/atmospherics/components/binary/pump/off/orange/visible, -/turf/open/floor/plating, -/area/station/engineering/supermatter) "syZ" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/structure/railing/corner{ @@ -63753,14 +64381,14 @@ /turf/open/floor/iron/dark, /area/station/maintenance/starboard/lesser) "szp" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/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, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "szw" = ( /obj/structure/falsewall/reinforced, /turf/open/floor/plating, @@ -63802,11 +64430,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"sAn" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/fyellow, -/turf/open/floor/carpet, -/area/station/commons/storage/tools) "sAp" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 8 @@ -63814,12 +64437,14 @@ /obj/effect/mapping_helpers/broken_machine, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"sAA" = ( +"sAu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "sAB" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -63842,14 +64467,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"sAQ" = ( -/obj/structure/railing, -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/disposalpipe/segment{ - dir = 10 +"sAM" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/west{ + pixel_x = 26 }, -/turf/open/floor/grass, -/area/station/hallway/primary/starboard) +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "sAT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63863,10 +64486,11 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/prison) -"sBj" = ( -/obj/effect/landmark/start/clown, -/turf/open/floor/carpet, -/area/station/service/theater) +"sAZ" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "sBk" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -63880,10 +64504,6 @@ /obj/structure/cable, /turf/open/floor/engine/hull/air, /area/station/hallway/primary/fore) -"sBw" = ( -/obj/effect/landmark/firealarm_sanity, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "sBz" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, @@ -63898,28 +64518,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"sBO" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"sBP" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{ dir = 1 }, -/obj/machinery/computer/atmos_control/air_tank, -/turf/open/floor/iron/smooth, +/turf/open/floor/engine/plasma, /area/station/engineering/atmos/upper) -"sBT" = ( -/obj/structure/table, -/obj/machinery/computer/libraryconsole{ - dir = 8 - }, -/obj/effect/turf_decal/siding/dark{ - dir = 5 - }, -/obj/structure/railing{ - dir = 5 - }, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 8 - }, -/area/station/service/library) "sCx" = ( /turf/open/openspace, /area/station/command/meeting_room/council) @@ -63956,28 +64560,19 @@ /turf/open/floor/wood/tile, /area/station/maintenance/port/aft) "sDc" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/closet/firecloset/full, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +/obj/structure/chair/sofa/corner/brown, +/obj/structure/sign/clock/directional/east, +/turf/open/floor/carpet/black, +/area/station/medical/psychology) +"sDd" = ( +/obj/structure/lattice/catwalk, +/obj/item/radio/intercom/directional/south, +/obj/structure/closet/secure_closet/security, +/turf/open/openspace, +/area/station/security/checkpoint/customs) "sDo" = ( /turf/open/floor/iron/freezer, /area/station/ai_monitored/turret_protected/aisat/foyer) -"sDu" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/closed/wall, -/area/station/service/library) -"sDx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/holopad, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "sDX" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -64068,6 +64663,10 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) +"sFb" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/upper) "sFc" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -64181,12 +64780,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"sGf" = ( +"sGg" = ( +/obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/item/stack/sheet/iron/five, +/obj/item/stack/cable_coil/five, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "sGj" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/railing, @@ -64206,15 +64810,14 @@ /obj/effect/turf_decal/tile/dark/full, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"sGS" = ( -/obj/structure/table, -/obj/item/instrument/eguitar{ - pixel_y = 5 +"sGR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/large, -/area/station/service/theater) +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "sGV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -64227,16 +64830,6 @@ /obj/structure/ladder, /turf/open/floor/glass/reinforced/airless, /area/station/solars/starboard/aft) -"sHw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "sHG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, @@ -64264,25 +64857,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"sIc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"sIf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/wood, -/area/station/service/janitor) "sIl" = ( /obj/structure/railing{ dir = 1 @@ -64333,17 +64907,14 @@ /obj/structure/closet/secure_closet/security/sec, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"sIF" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/siding/dark{ - dir = 4 +"sIB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) +/obj/structure/closet/toolcloset, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "sIO" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -64405,20 +64976,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"sJw" = ( -/obj/machinery/button/elevator{ - id = "catwalk_engi"; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8; - pixel_x = -2 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "sJy" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -64466,6 +65023,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"sKB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "sKC" = ( /obj/structure/railing{ dir = 1 @@ -64513,39 +65084,42 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"sKQ" = ( -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) +"sKR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "sKT" = ( /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"sKU" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/closet/crate/wooden/toy, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "sLd" = ( /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/service/kitchen) -"sLh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 8; - name = "Waste Release" - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "sLr" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/science/cytology) -"sLt" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +"sLx" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 }, -/obj/item/storage/medkit/toxin, -/obj/structure/table, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "sLB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -64596,22 +65170,24 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) -"sLU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "sLY" = ( /turf/open/floor/engine/hull/air, /area/station/command/meeting_room/council) -"sMi" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 +"sMa" = ( +/obj/effect/mapping_helpers/burnt_floor, +/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/hallway) +"sMo" = ( +/obj/effect/landmark/navigate_destination/library, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Community Center" }, -/obj/machinery/wall_healer/directional/east, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/turf/open/floor/wood, +/area/station/service/library) "sMt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64639,6 +65215,14 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/security/prison/mess) +"sMY" = ( +/obj/machinery/restaurant_portal/bar, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/machinery/light/warm/dim/directional/west, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "sNa" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -64654,14 +65238,11 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"sNk" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"sNr" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +"sNA" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/landmark/start/hangover, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "sNC" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -64681,19 +65262,6 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating, /area/station/maintenance/disposal) -"sNM" = ( -/obj/structure/closet/crate/secure/engineering{ - name = "Advanced Materials" - }, -/obj/item/stack/sheet/plasteel, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/turf/open/floor/engine, -/area/station/engineering/break_room) "sNN" = ( /obj/machinery/camera/directional/east{ c_tag = "Science - Xenobiology Cells 2 & 4"; @@ -64701,6 +65269,12 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"sNW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "sOa" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -64719,6 +65293,16 @@ "sOn" = ( /turf/open/floor/engine, /area/station/science/auxlab/firing_range) +"sOt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/wood/large, +/area/station/service/library) "sOv" = ( /obj/effect/turf_decal/siding/dark/corner{ dir = 1 @@ -64739,13 +65323,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/breakroom) -"sOA" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "sON" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 4 @@ -64756,6 +65333,12 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/cafeteria) +"sOW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "sPj" = ( /obj/machinery/rnd/production/protolathe/department/science, /turf/open/floor/iron/dark, @@ -64797,19 +65380,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"sPy" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/computer/order_console/cook, -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "sPC" = ( /obj/machinery/holopad, /turf/open/floor/iron/cafeteria, @@ -64819,6 +65389,12 @@ /obj/effect/spawner/random/food_or_drink, /turf/open/floor/plating, /area/station/maintenance/port) +"sPW" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/glass, +/area/station/service/kitchen) "sQd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64834,12 +65410,6 @@ /obj/effect/turf_decal/siding/dark, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) -"sQh" = ( -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "sQi" = ( /obj/machinery/photocopier/prebuilt, /obj/machinery/requests_console/directional/north{ @@ -64886,10 +65456,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"sQM" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "sQW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/frame/computer{ @@ -64897,14 +65463,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"sQY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/eighties, -/area/station/maintenance/hallway/abandoned_recreation) +"sQZ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/openspace, +/area/station/hallway/primary/starboard) "sRd" = ( /obj/machinery/power/turbine/turbine_outlet{ dir = 8 @@ -64929,6 +65492,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) +"sRj" = ( +/obj/structure/lattice/catwalk, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "sRn" = ( /obj/structure/table/reinforced, /obj/item/multitool{ @@ -64948,18 +65518,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/textured_large, /area/station/security/prison) -"sRp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"sRs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/rnd/production/protolathe/department/engineering, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) -"sRu" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "sRz" = ( /obj/effect/turf_decal/siding/green{ dir = 4 @@ -65004,6 +65572,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/command/bridge) +"sSn" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Service Hall" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "sSs" = ( /obj/structure/chair/office/light, /obj/effect/landmark/start/research_director, @@ -65037,6 +65617,18 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"sSG" = ( +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + 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, +/area/station/engineering/storage_shared) "sSJ" = ( /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/carpet, @@ -65062,12 +65654,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"sSZ" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "sTa" = ( /obj/structure/table/wood/fancy/red, /obj/item/stack/ore/gold{ @@ -65091,16 +65677,19 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/maintenance/port/aft) +"sTr" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "sTv" = ( /turf/closed/wall, /area/station/security/courtroom) -"sTP" = ( -/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/north, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +"sTS" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "sTT" = ( /obj/structure/railing/corner/end/flip{ dir = 4 @@ -65174,19 +65763,6 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"sUA" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Engineering Lobby"; - name = "Engineering Lobby Fax Machine" - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) "sUF" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -65198,6 +65774,11 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"sUR" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "sUV" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -65210,20 +65791,11 @@ }, /turf/open/openspace, /area/station/engineering/lobby) -"sUX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "sVb" = ( /obj/item/wrench, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/commons/dorms) -"sVc" = ( -/turf/open/floor/engine/co2, -/area/station/engineering/atmos/upper) "sVj" = ( /obj/structure/cable, /obj/machinery/vending/sustenance{ @@ -65245,13 +65817,6 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"sVD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/lobby) "sVG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -65268,20 +65833,6 @@ /obj/effect/spawner/random/contraband/permabrig_weapon, /turf/open/floor/iron/dark, /area/station/security/evidence) -"sVS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/atmos/project) -"sVT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/photocopier/prebuilt, -/turf/open/floor/wood, -/area/station/engineering/lobby) "sWg" = ( /obj/effect/turf_decal/box/corners{ dir = 8 @@ -65299,10 +65850,6 @@ }, /turf/open/floor/iron/dark, /area/station/construction/storage_wing) -"sWI" = ( -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "sWJ" = ( /obj/effect/spawner/structure/window/hollow/middle, /turf/open/floor/plating, @@ -65327,18 +65874,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) -"sXd" = ( -/obj/structure/railing, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "sXj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65358,13 +65893,11 @@ "sXq" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) -"sXI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/public/glass{ - name = "Blue Base" - }, -/turf/open/floor/wood, -/area/station/maintenance/hallway/abandoned_recreation) +"sXH" = ( +/obj/structure/showcase/machinery/tv, +/obj/structure/table, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "sXL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/flasher/directional/east{ @@ -65377,17 +65910,6 @@ /obj/machinery/smartfridge/organ, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/port) -"sXZ" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) "sYc" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -65398,28 +65920,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/openspace, /area/station/command/bridge) -"sYm" = ( -/obj/structure/sign/poster/official/moth_delam/directional/east, -/obj/item/toy/plush/moth{ - name = "Morffeus"; - pixel_x = 2; - pixel_y = 10 +"sYg" = ( +/obj/machinery/modular_computer/preset/civilian{ + dir = 4 }, -/obj/item/toy/plush/moth{ - name = "Sporg Asbord"; - pixel_x = 2 +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 }, -/obj/item/toy/plush/moth{ - name = "Moff #4"; - pixel_x = -13; - pixel_y = 7 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "sYo" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/light/directional/west, @@ -65431,12 +65940,6 @@ /obj/structure/flora/bush/flowers_br, /turf/open/floor/grass, /area/station/command/heads_quarters/hos) -"sYK" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "sYL" = ( /turf/open/floor/iron, /area/station/construction/storage_wing) @@ -65496,19 +65999,17 @@ /obj/effect/turf_decal/trimline/purple/filled/mid_joiner, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"sZu" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "sZy" = ( /obj/structure/table, /turf/open/floor/glass, /area/station/science/zoo) -"sZB" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "sZL" = ( /obj/structure/marker_beacon/yellow, /obj/effect/decal/cleanable/dirt/dust, @@ -65564,28 +66065,12 @@ "tas" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) -"taF" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/service/theater) "taG" = ( /obj/structure/chair/sofa/corp/left, /obj/item/pai_card, /obj/machinery/light/directional/north, /turf/open/floor/wood/parquet, /area/station/medical/break_room) -"taH" = ( -/obj/machinery/door/airlock/engineering/glass, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) "taJ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -65602,6 +66087,15 @@ dir = 1 }, /area/station/medical/pharmacy) +"tbd" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "SM_shutters"; + name = "Supermatter Radiation Shutters" + }, +/obj/effect/turf_decal/trimline/brown, +/obj/machinery/atmospherics/components/binary/pump/off/orange/visible, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "tbf" = ( /obj/structure/chair/stool/directional/north, /obj/effect/landmark/start/hangover, @@ -65615,13 +66109,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"tbq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 9 +"tbm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sink/directional/west, +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +/turf/open/floor/iron/checker, +/area/station/service/janitor) "tbu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -65643,6 +66139,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"tbV" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "tbY" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -65699,13 +66202,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tct" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 1 - }, -/obj/machinery/meter, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "tcx" = ( /obj/structure/lattice/catwalk, /obj/structure/light_construct/directional/east, @@ -65716,18 +66212,10 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/maintenance/starboard/lesser) -"tcD" = ( -/obj/machinery/light_switch/directional/east, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "tcG" = ( /obj/effect/spawner/random/structure/shipping_container, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tcL" = ( -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) "tda" = ( /obj/item/pen, /obj/item/pen/blue, @@ -65735,25 +66223,20 @@ /obj/structure/closet, /turf/open/floor/plating/airless, /area/station/maintenance/port/aft) -"tdh" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron, -/area/station/engineering/main) -"tdt" = ( -/obj/structure/chair/sofa/right/brown, -/obj/item/pillow, -/obj/item/toy/plush/moth{ - name = "Mender Moff" - }, -/obj/structure/sign/poster/official/get_your_legs/directional/north, -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet, -/area/station/medical/psychology) "tdx" = ( /obj/structure/cable, /obj/machinery/power/emitter/welded, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"tdF" = ( +/obj/structure/broken_flooring/corner/directional/west, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) +"tdN" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "tdT" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -65777,14 +66260,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"teg" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "tel" = ( /obj/structure/table/reinforced, /obj/item/storage/backpack/duffelbag/drone{ @@ -65806,12 +66281,6 @@ }, /turf/open/openspace, /area/station/command/bridge) -"ten" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "tep" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -65839,19 +66308,6 @@ /obj/structure/railing, /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai) -"teC" = ( -/obj/structure/chair/sofa/middle/brown{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"teN" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - filter_type = list(/datum/gas/nitrogen) - }, -/obj/effect/turf_decal/stripes/red/box, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "teR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65882,12 +66338,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"tfr" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/water, -/area/station/maintenance/port/fore) "tfv" = ( /obj/machinery/door/airlock/silver{ aiControlDisabled = 1; @@ -65901,17 +66351,16 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/command/gateway) +"tfy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light_switch/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "tfK" = ( /turf/open/floor/glass, /area/station/service/kitchen) -"tfR" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/wood/large, -/area/station/service/library) "tfT" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/random/entertainment/gambling, @@ -65921,16 +66370,6 @@ icon_state = "carpet-38" }, /area/station/service/abandoned_gambling_den) -"tfX" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/library) "tgp" = ( /obj/effect/spawner/random/entertainment/arcade{ dir = 8 @@ -65951,15 +66390,6 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/general, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"tgQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "tgT" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark, @@ -66008,18 +66438,6 @@ /obj/structure/cable, /turf/open/floor/grass, /area/station/hallway/secondary/entry) -"thw" = ( -/obj/structure/rack, -/obj/item/clothing/glasses/meson, -/obj/item/geiger_counter, -/obj/item/clothing/head/utility/radiation, -/obj/item/clothing/suit/utility/radiation, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "thz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66030,23 +66448,26 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood/large, /area/station/service/library/private) +"thM" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/item/toy/crayon/spraycan{ + pixel_x = 15; + pixel_y = 18 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/clown, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "thW" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"tia" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock{ - name = "Laser Tag" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/maintenance/hallway/abandoned_recreation) "tid" = ( /obj/structure/transit_tube/junction{ dir = 8 @@ -66079,16 +66500,22 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"tiU" = ( +/obj/structure/stairs/east, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/iron/stairs/medium{ + dir = 8 + }, +/area/station/hallway/primary/central) "tja" = ( /obj/machinery/light/cold/directional/north, /turf/open/floor/engine, /area/station/science/xenobiology) -"tjg" = ( -/obj/structure/railing{ - dir = 6 - }, -/turf/open/water, -/area/station/maintenance/port/fore) "tji" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -66100,6 +66527,17 @@ "tjn" = ( /turf/open/openspace, /area/station/hallway/secondary/entry) +"tjt" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ + cable_layer = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 9 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "tjA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66108,15 +66546,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"tjH" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "tjM" = ( /obj/machinery/door/airlock/maintenance{ name = "Research Maintenance" @@ -66186,6 +66615,10 @@ /obj/structure/cable, /turf/open/openspace, /area/station/hallway/primary/starboard) +"tkO" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/engineering/engine_smes) "tkT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/window/spawner/directional/east, @@ -66193,6 +66626,12 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/security/prison/mess) +"tkV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "tkX" = ( /obj/structure/bodycontainer/morgue{ dir = 8 @@ -66227,6 +66666,12 @@ dir = 8 }, /area/station/tcommsat/server) +"tlf" = ( +/obj/machinery/portable_atmospherics/scrubber/huge/movable, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "tlh" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Primary Tool Storage" @@ -66245,13 +66690,6 @@ /obj/structure/window/reinforced/plasma/spawner/directional/east, /turf/open/space/openspace, /area/space/nearstation) -"tlA" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "tlL" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/trimline/red/filled/line, @@ -66332,27 +66770,11 @@ /obj/machinery/camera/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) -"tmV" = ( -/obj/structure/cable, -/obj/effect/landmark/start/bartender, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/carpet, -/area/station/service/bar) "tna" = ( /obj/structure/fermenting_barrel/gunpowder, /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tnb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "tnf" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -66374,49 +66796,47 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/port) -"tnu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/medical/psychology) "tnv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/chapel) -"tnA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"tnF" = ( +/obj/structure/table, +/obj/item/storage/box/hug{ + pixel_y = 9 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/item/bikehorn{ + pixel_y = -1 }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) -"tnM" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/item/radio/intercom/directional/east, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/wood/large, +/area/station/service/theater_dressing) "tnS" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating/airless, /area/space/nearstation) -"toc" = ( -/turf/open/openspace, -/area/station/engineering/break_room) +"tnX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/holopad, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"tnY" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Project Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor/heavy, +/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/engineering/storage_shared) "toh" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -66471,13 +66891,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"toH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, -/turf/open/floor/wood, -/area/station/service/library) "toI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/confetti, @@ -66519,11 +66932,6 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/ai) -"tpj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/grey_tide/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "tpl" = ( /obj/machinery/light/directional/north, /obj/structure/cable/multilayer/multiz, @@ -66534,10 +66942,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"tpK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output, -/turf/open/floor/engine/air, -/area/station/engineering/atmos/upper) "tpO" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/structure/table, @@ -66547,29 +66951,23 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"tpU" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/airlock/access/any/service/library, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/maintenance/port/fore) -"tqo" = ( -/obj/machinery/keycard_auth/wall_mounted/directional/west{ - pixel_x = 26 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "tqQ" = ( /turf/open/floor/iron/dark, /area/station/commons/dorms) -"trz" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"tqU" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/atmospherics, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) +"trG" = ( +/obj/structure/table/wood/poker, +/obj/machinery/light/directional/south, +/obj/effect/spawner/random/entertainment/deck{ + pixel_x = 6; + pixel_y = 5 }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/turf/open/floor/carpet/stellar, +/area/station/service/library) "trH" = ( /obj/effect/landmark/event_spawn, /turf/open/openspace, @@ -66594,6 +66992,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tse" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/station/engineering/transit_tube) "tsl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/north, @@ -66604,13 +67008,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"tsI" = ( -/obj/machinery/light_switch/directional/south, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/medical/psychology) +"tsA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/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/hallway/abandoned_recreation) "tsJ" = ( /turf/closed/wall/r_wall, /area/station/science/server) @@ -66624,16 +67029,6 @@ /obj/effect/spawner/random/maintenance/no_decals/five, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tte" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/components/binary/pump/on/layer5{ - name = "O2 to Airmix" - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "ttj" = ( /turf/open/floor/iron, /area/station/hallway/primary/port) @@ -66643,17 +67038,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"ttq" = ( -/obj/item/toy/cards/deck{ - pixel_y = 4 - }, -/obj/structure/table, -/obj/item/food/hotcrossbun{ - pixel_x = 10; - pixel_y = 12 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "ttr" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/dropper{ @@ -66668,11 +67052,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) -"tty" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "ttA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66714,6 +67093,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"tug" = ( +/obj/machinery/disposal/bin/tagger, +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "tuj" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -66733,14 +67123,16 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) -"tup" = ( -/obj/effect/turf_decal/stripes/line{ +"tul" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/station_engineer, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor/heavy, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/wood, +/area/station/engineering/lobby) "tuw" = ( /obj/structure/sign/departments/restroom/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -66760,6 +67152,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/transfer) +"tuD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 10 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "tuF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair, @@ -66793,12 +67191,26 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/science/research) -"tvu" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 +"tvq" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Community Center" }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/turf/open/floor/wood/large, +/area/station/service/library) +"tvz" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/warm/dim/directional/east, +/obj/structure/transport/linear/public, +/obj/machinery/smartfridge/food, +/turf/open/floor/plating/elevatorshaft, +/area/station/service/kitchen) "tvN" = ( /obj/structure/railing{ dir = 8 @@ -66816,6 +67228,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/bridge) +"tvT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "tvU" = ( /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/tile/dark_blue{ @@ -66860,6 +67277,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"twR" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/landmark/start/hangover, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "twX" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -66872,6 +67294,10 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"twY" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/engineering/transit_tube) "txe" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/west, @@ -66947,13 +67373,6 @@ /obj/structure/fluff/paper/corner, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"txX" = ( -/obj/machinery/door/poddoor{ - id = "securestoragecw"; - name = "Secure Storage" - }, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/break_room) "tyw" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -66965,22 +67384,55 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/security/lockers) -"tyK" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +"tyx" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/landmark/firealarm_sanity, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "tyR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_empty/crate, /obj/effect/spawner/random/maintenance, /turf/open/floor/iron/checker, /area/station/maintenance/hallway/abandoned_recreation) +"tyY" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/structure/cable, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "tza" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/dinner, /turf/open/floor/engine/hull/air, /area/station/maintenance/starboard/lesser) +"tzb" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"tze" = ( +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + 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/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) "tzi" = ( /obj/effect/spawner/random/trash/grime, /obj/effect/decal/cleanable/dirt/dust, @@ -67073,12 +67525,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tAJ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/service/bar) "tAK" = ( /obj/structure/table/reinforced, /obj/item/folder/red{ @@ -67097,20 +67543,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tAT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/turf/open/floor/iron/edge{ - dir = 8 - }, -/area/station/hallway/primary/fore) "tAU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -67166,6 +67598,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"tBC" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/glass, +/area/station/service/kitchen) "tBJ" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/photosynthetic, @@ -67206,6 +67642,12 @@ dir = 1 }, /area/station/cargo/bitrunning/den) +"tCd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "tCf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -67227,10 +67669,29 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) -"tCz" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/large, -/area/station/medical/psychology) +"tCu" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/rag{ + pixel_x = 10; + pixel_y = 17 + }, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 17 + }, +/obj/item/reagent_containers/condiment/honey{ + pixel_x = 9; + pixel_y = -3 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "tCE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -67254,6 +67715,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"tCI" = ( +/obj/machinery/computer/atmos_control{ + dir = 1 + }, +/turf/open/floor/glass/reinforced/plasma, +/area/station/engineering/atmos/project) "tCO" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -67269,6 +67736,11 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/break_room) +"tCX" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/upper) "tCY" = ( /obj/machinery/computer/security{ dir = 4 @@ -67323,11 +67795,16 @@ "tDy" = ( /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tDE" = ( -/obj/machinery/air_sensor/nitrogen_tank, -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos/upper) +"tDB" = ( +/obj/structure/lattice/catwalk, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "tDK" = ( /obj/effect/decal/cleanable/plasma, /obj/effect/mapping_helpers/burnt_floor, @@ -67357,6 +67834,15 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, /area/station/cargo/storage) +"tEs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/vending/dinnerware, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "tEt" = ( /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, @@ -67392,6 +67878,13 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"tES" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "tEU" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -67407,18 +67900,6 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tFc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tFd" = ( /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, @@ -67463,6 +67944,13 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/freezer, /area/station/commons/dorms) +"tFC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "tFU" = ( /obj/item/clothing/suit/costume/chickensuit{ pixel_x = 4; @@ -67504,20 +67992,6 @@ /obj/effect/landmark/start/head_of_personnel, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"tGd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"tGh" = ( -/obj/effect/landmark/transport/transport_id{ - specific_transport_id = "catwalk_engi" - }, -/obj/structure/transport/linear{ - radial_travel = 0 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "tGs" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -67627,12 +68101,32 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"tHK" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) +"tHR" = ( +/obj/structure/sign/warning/radiation/rad_area/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "tIi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"tIl" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "tIm" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/light/directional/east, @@ -67677,6 +68171,11 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/commons/storage/primary) +"tIW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "tJk" = ( /obj/structure/chair{ dir = 1 @@ -67697,14 +68196,6 @@ }, /turf/open/floor/wood, /area/station/service/chapel) -"tJn" = ( -/obj/machinery/atmospherics/components/binary/pump/off/general/visible{ - dir = 4; - name = "Atmos to Engine" - }, -/obj/effect/turf_decal/trimline/brown, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "tJq" = ( /obj/machinery/ai_slipper{ uses = 8 @@ -67749,21 +68240,20 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"tJO" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) -"tJS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"tKl" = ( +"tKa" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /obj/structure/railing{ dir = 5 }, -/turf/open/water, -/area/station/maintenance/port/fore) +/obj/structure/railing, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "tKq" = ( /obj/machinery/computer/crew, /obj/structure/sign/poster/official/science/directional/north, @@ -67848,6 +68338,12 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"tLs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "tLK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, @@ -67856,12 +68352,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/maintenance/hallway/abandoned_recreation) -"tLS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"tLO" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Holodeck - Fore"; + name = "holodeck camera" }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/station/holodeck/rec_center) +"tLQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "tLU" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -67901,6 +68406,32 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/lesser) +"tMw" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"tMD" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) +"tMJ" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/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/engineering/storage_shared) "tMS" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -67918,20 +68449,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tNb" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "tNd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"tNo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "tNr" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -67949,38 +68480,16 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) -"tNx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) -"tNC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"tNB" = ( +/obj/effect/turf_decal/arrows/white, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "tNG" = ( /turf/open/floor/iron/stairs/medium, /area/station/commons/toilet/restrooms) -"tNJ" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/railing/corner/end, -/obj/effect/turf_decal/siding/dark/corner{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "tNP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -68011,14 +68520,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/open/floor/iron/dark/textured_half, /area/station/science/ordnance/storage) -"tOj" = ( -/obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/wood, -/area/station/commons/lounge) -"tOr" = ( -/obj/structure/closet/secure_closet/hydroponics, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) +"tOi" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "tOw" = ( /obj/structure/railing, /turf/open/floor/iron/stairs/medium{ @@ -68035,6 +68545,11 @@ }, /turf/open/floor/wood/tile, /area/station/security/detectives_office/private_investigators_office) +"tOE" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/air_sensor/mix_tank, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "tOO" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /obj/structure/disposalpipe/segment{ @@ -68088,14 +68603,6 @@ /obj/structure/chair/office, /turf/open/floor/carpet, /area/station/ai_monitored/turret_protected/ai_upload) -"tPE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "tPF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, @@ -68134,6 +68641,17 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"tQx" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_recreation) "tQI" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -68141,16 +68659,17 @@ }, /turf/open/floor/wood, /area/station/command/gateway) -"tRc" = ( -/obj/structure/table/reinforced, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/item/restraints/handcuffs/fake, -/obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty{ - pixel_x = -5; - pixel_y = 16 +"tQR" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/effect/turf_decal/tile/dark_blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/white, +/area/station/hallway/secondary/entry) "tRd" = ( /obj/structure/cable/layer3, /turf/open/floor/iron/dark/textured_large, @@ -68283,6 +68802,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tST" = ( +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = 32 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "tSW" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Mining Maintenance Access" @@ -68308,12 +68833,27 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"tTg" = ( +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "tTj" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /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/science/cytology) +"tTz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/machinery/door/airlock/engineering/glass{ + name = "Shared Engineering Storage" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "tTD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -68332,11 +68872,19 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tTX" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/radiation/rad_area/directional/west, -/turf/open/openspace, -/area/station/hallway/primary/starboard) +"tTS" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 4 + }, +/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/iron, +/area/station/engineering/storage_shared) "tUd" = ( /obj/structure/railing{ dir = 8 @@ -68412,10 +68960,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"tVA" = ( -/obj/structure/broken_flooring/singular/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tVI" = ( /obj/structure/cable, /obj/effect/spawner/random/maintenance, @@ -68430,12 +68974,22 @@ }, /turf/open/floor/iron/airless, /area/station/maintenance/starboard/aft) +"tVS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "tWc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) +"tWd" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/engine, +/area/station/engineering/break_room) "tWl" = ( /obj/machinery/light/warm/dim/directional/north, /turf/open/openspace, @@ -68454,12 +69008,28 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/cargo/bitrunning/den) +"tWA" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "tWH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/south, /obj/machinery/light/small/dim/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) +"tWI" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "tWK" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -68469,10 +69039,6 @@ /obj/structure/closet/secure_closet/exile, /turf/open/openspace, /area/station/command/gateway) -"tWQ" = ( -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "tWR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -68481,18 +69047,6 @@ "tWT" = ( /turf/open/floor/iron/checker, /area/station/maintenance/hallway/abandoned_recreation) -"tWW" = ( -/obj/item/toy/plush/moth{ - name = "Moff #1"; - pixel_x = -15; - pixel_y = -7 - }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "tWY" = ( /obj/structure/chair/office{ dir = 1 @@ -68527,12 +69081,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"tXg" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tXl" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/engine, @@ -68636,26 +69184,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/command/nuke_storage) -"tYt" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/cooking_to_serve_man{ - pixel_x = -6; - pixel_y = 14 - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 9; - pixel_y = 12 - }, -/obj/item/book/manual/wiki/engineering_construction{ - pixel_y = 9 - }, -/obj/structure/lattice/catwalk, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/openspace, -/area/station/service/library) "tYz" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/siding/brown{ @@ -68710,6 +69238,12 @@ /obj/machinery/light/red/dim/directional/south, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"tYZ" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/structure/lattice, +/obj/machinery/camera/autoname/directional/west, +/turf/open/space/basic, +/area/space/nearstation) "tZb" = ( /obj/structure/sign/departments/restroom/directional/south, /obj/item/cigbutt{ @@ -68718,16 +69252,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"tZe" = ( -/obj/machinery/computer/records/security{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/minisat/directional/south{ - name = "AI Ministat Camera Monitor" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "tZj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -68748,6 +69272,20 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"tZT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/obj/effect/turf_decal/tile/dark_blue, +/obj/effect/turf_decal/siding/dark/end{ + dir = 8 + }, +/turf/open/floor/iron/kitchen, +/area/station/hallway/secondary/service) "tZV" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -68776,6 +69314,13 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/iron/textured_large, /area/space/nearstation) +"uaw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "uaz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -68804,12 +69349,6 @@ /obj/structure/closet/crate/bin, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) -"ubn" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 1 - }, -/turf/open/floor/engine/hull/reinforced, -/area/space/nearstation) "ubo" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -68817,6 +69356,20 @@ "ubs" = ( /turf/open/openspace, /area/station/hallway/secondary/construction) +"ubv" = ( +/obj/machinery/button/elevator{ + id = "catwalk_engi"; + pixel_y = -24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8; + pixel_x = -2 + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) "ubU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -68867,23 +69420,10 @@ dir = 8 }, /area/station/command/corporate_showroom) -"ucv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +"ucu" = ( /obj/structure/cable, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plating, -/area/station/engineering/main) -"ucx" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/minisat/directional/west, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "ucC" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -68924,6 +69464,12 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"ucQ" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) "ucX" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 @@ -68939,6 +69485,15 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"udb" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/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, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "udl" = ( /turf/closed/wall, /area/station/engineering/storage/tech) @@ -68948,13 +69503,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"udE" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/openspace, -/area/station/service/library) "udF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance, @@ -68963,14 +69511,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"udH" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "udW" = ( /obj/structure/chair/sofa/middle/brown, /turf/open/floor/carpet, /area/station/maintenance/starboard/aft) +"udY" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/radio/off{ + pixel_x = 6 + }, +/obj/item/phone{ + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/engineering/lobby) "uec" = ( /obj/machinery/door/airlock/medical/glass{ id_tag = "MedbayFoyer"; @@ -68987,12 +69545,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"ued" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "uen" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -69001,11 +69553,14 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"uep" = ( -/obj/machinery/air_sensor/nitrous_tank, -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) +"uex" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Gas to Cold Loop" + }, +/obj/effect/turf_decal/trimline/brown, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ueH" = ( /obj/structure/lattice, /obj/structure/girder, @@ -69027,13 +69582,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"ueS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "ufi" = ( /obj/machinery/door/airlock/command{ name = "Research Director's Office" @@ -69094,11 +69642,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/freezer, /area/station/ai_monitored/turret_protected/aisat/foyer) -"ufV" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/radiation/rad_area/directional/south, -/turf/open/openspace, -/area/station/engineering/break_room) "uga" = ( /obj/machinery/door/airlock/security/glass{ name = "Bailiff Access" @@ -69112,9 +69655,16 @@ /obj/effect/mapping_helpers/dead_body_placer, /turf/open/floor/iron/dark/textured, /area/station/medical/morgue) -"ugn" = ( -/obj/structure/table/wood/poker, -/turf/open/floor/wood/large, +"ugo" = ( +/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) +"ugp" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood, /area/station/service/library) "ugq" = ( /obj/structure/table, @@ -69188,6 +69738,31 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"uhg" = ( +/obj/structure/table, +/obj/item/hfr_box/body/moderator_input{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/hfr_box/body/waste_output{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/hfr_box/body/interface, +/obj/item/hfr_box/body/waste_output{ + pixel_x = -15 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) +"uhl" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/machinery/meter, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "uhx" = ( /obj/structure/table/reinforced, /turf/open/floor/plating, @@ -69221,19 +69796,15 @@ }, /turf/open/openspace, /area/station/cargo/storage) -"uii" = ( -/obj/machinery/door/airlock/wood{ - name = "Psychology Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, -/obj/machinery/door/firedoor, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "uik" = ( /obj/structure/destructible/cult/item_dispenser/archives/library, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"uip" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "uir" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -69279,19 +69850,6 @@ dir = 8 }, /area/station/hallway/primary/fore) -"ujy" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/item/wirecutters, -/obj/item/screwdriver{ - pixel_y = 8 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "ujD" = ( /obj/machinery/door/airlock/medical/glass{ id_tag = "MedbayFoyer"; @@ -69320,6 +69878,10 @@ /obj/item/clothing/suit/hooded/ablative, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/security/armory) +"ujP" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "ujS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ @@ -69331,22 +69893,19 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) +"ujX" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "Chief Engineers Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/command/heads_quarters/ce) "uka" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/ai_monitored/command/nuke_storage) -"uki" = ( -/obj/effect/landmark/transport/transport_id{ - specific_transport_id = "catwalk_cafe" - }, -/obj/structure/transport/linear/public, -/obj/structure/table, -/obj/item/plate{ - pixel_x = -6; - pixel_y = 8 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/commons/lounge) "ukk" = ( /obj/effect/turf_decal/bot_white, /obj/effect/decal/cleanable/dirt, @@ -69378,12 +69937,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"uku" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/oven/range, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "uky" = ( /obj/structure/cable/layer3, /obj/structure/sign/poster/official/ion_rifle/directional/east, @@ -69423,17 +69976,21 @@ /obj/structure/sign/warning/vacuum/directional/west, /turf/open/openspace, /area/station/construction/storage_wing) -"ukS" = ( -/obj/structure/table, -/obj/machinery/microwave/engineering/cell_included, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "ukT" = ( /obj/structure/railing{ dir = 1 }, /turf/open/openspace, /area/station/hallway/primary/central) +"ukV" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "ukZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -69442,6 +69999,14 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) +"ulh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/navigate_destination/minisat_access_tcomms, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "uli" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/effect/decal/cleanable/dirt, @@ -69471,6 +70036,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"ulq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "ulu" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, @@ -69479,13 +70053,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ulM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "ulP" = ( /obj/effect/turf_decal/siding/purple{ dir = 4 @@ -69552,6 +70119,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"uml" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "umq" = ( /obj/machinery/light/directional/east, /obj/structure/filingcabinet/chestdrawer{ @@ -69589,16 +70162,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"umA" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/barman_recipes{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/service/bar) "umD" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -69616,18 +70179,17 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"umF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/engine/hull/reinforced/air, -/area/station/engineering/atmos/project) "umH" = ( /turf/closed/wall, /area/station/medical/psychology) +"unc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "ung" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -69677,10 +70239,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"uor" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos/upper) "uow" = ( /obj/structure/table/wood, /obj/item/coin/antagtoken{ @@ -69737,6 +70295,19 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) +"uoP" = ( +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/structure/table/wood, +/obj/machinery/light/directional/north, +/obj/item/clothing/head/hats/tophat{ + pixel_y = 11 + }, +/obj/machinery/light_switch/directional/north, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "uoU" = ( /obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ dir = 4 @@ -69754,6 +70325,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/service/lawoffice) +"uoW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "upl" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/eighties, @@ -69776,12 +70359,11 @@ dir = 1 }, /area/station/hallway/secondary/construction) -"upB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) +"upL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "upR" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/photocopier/prebuilt, @@ -69810,6 +70392,20 @@ /obj/item/kirbyplants/photosynthetic, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"uqc" = ( +/obj/machinery/vending/tool, +/obj/effect/turf_decal/trimline/yellow/filled/end{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) +"uqf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/filingcabinet/chestdrawer, +/mob/living/basic/parrot/poly, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "uqi" = ( /obj/effect/turf_decal/siding/green{ dir = 4 @@ -69831,13 +70427,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/primary/aft) -"uqr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron, -/area/station/engineering/lobby) "uqw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -69870,12 +70459,6 @@ /obj/effect/landmark/start/depsec/supply, /turf/open/floor/iron/dark, /area/station/security/checkpoint/supply) -"uqL" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 10 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "uqR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/confetti, @@ -69931,6 +70514,19 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/science/explab) +"urx" = ( +/obj/effect/turf_decal/trimline/yellow/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/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "urG" = ( /obj/effect/turf_decal/siding/purple/corner{ dir = 1 @@ -69941,6 +70537,14 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/science/explab) +"urL" = ( +/obj/structure/sink/directional/east, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "urV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69959,24 +70563,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) -"usj" = ( -/obj/structure/cable, -/obj/machinery/light_switch/directional/east, -/obj/item/crowbar, -/obj/item/pipe_dispenser{ - pixel_y = 8 - }, -/obj/item/wrench, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/rack, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "usl" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/engine/hull/air, /area/station/construction/storage_wing) +"usq" = ( +/obj/item/cigarette/cigar{ + pixel_x = 4 + }, +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/siding/thinplating_new/dark/end, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "usr" = ( /obj/structure/cable, /obj/machinery/power/apc/worn_out/directional/north, @@ -69996,6 +70595,13 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"ust" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/contraband/random/directional/west, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "usD" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -70046,19 +70652,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/station/maintenance/starboard/lesser) -"utb" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/rack, -/obj/item/radio/off{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/wrench, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "uth" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -70068,11 +70661,17 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"utq" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/light/directional/north, -/turf/open/floor/wood/large, -/area/station/service/library) +"utk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table/wood, +/obj/item/clothing/head/costume/sombrero{ + pixel_y = 8 + }, +/obj/item/gun/magic/wand/nothing, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/theater) "uts" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70088,16 +70687,6 @@ /obj/item/vending_refill/security, /turf/open/floor/iron/dark/smooth_large, /area/station/security/office) -"utA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "utG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -70153,34 +70742,22 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) -"uud" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Room" +"uua" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron/smooth, /area/station/engineering/hallway) -"uuj" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/green/filled/mid_joiner, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/secondary/service) "uuk" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) -"uum" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/library) +"uuo" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/broken_flooring/side/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "uus" = ( /obj/structure/sign/poster/official/random/directional/west, /obj/effect/turf_decal/siding/brown{ @@ -70188,13 +70765,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"uuu" = ( -/obj/machinery/atmospherics/components/trinary/mixer/flipped, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "uuA" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, @@ -70212,6 +70782,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) +"uuF" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "uuP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/east, @@ -70220,13 +70795,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/robotics) -"uuR" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Oxygen Supply"; - name = "atmospherics camera" - }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos/upper) "uuV" = ( /obj/machinery/computer/security{ dir = 8 @@ -70244,11 +70812,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/bridge) -"uvb" = ( -/obj/machinery/light/directional/south, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "uve" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -70271,6 +70834,12 @@ /obj/structure/table/wood, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) +"uvt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/closed/wall, +/area/station/service/theater_dressing) "uvu" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/structure/cable, @@ -70282,13 +70851,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/grass, /area/station/hallway/secondary/entry) -"uvA" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "uvF" = ( /obj/structure/railing/corner{ dir = 4 @@ -70304,6 +70866,12 @@ /obj/structure/chair/office, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"uvN" = ( +/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/smooth, +/area/station/engineering/main) "uvO" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/chair{ @@ -70333,17 +70901,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"uwj" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/vending/wardrobe/chef_wardrobe, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "uwn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -70361,15 +70918,6 @@ }, /turf/open/floor/iron/freezer, /area/station/maintenance/port) -"uww" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Air to Distro" - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) "uwA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70438,16 +70986,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uxl" = ( -/obj/structure/table/wood, -/obj/machinery/reagentgrinder{ - pixel_x = -6; - pixel_y = 9 +"uxe" = ( +/obj/structure/closet/l3closet/janitor, +/obj/machinery/requests_console/directional/north{ + department = "Janitorial"; + name = "Janitorial Requests Console"; + pixel_x = -30; + pixel_y = 0 }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/carpet, -/area/station/service/bar) +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "uxo" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70482,14 +71035,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"uxr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "uxt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -70528,6 +71073,15 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"uxI" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "uxK" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -70581,12 +71135,21 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/plating, /area/station/maintenance/central) -"uyp" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/bot, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/upper) +"uyr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) +"uyu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "uyD" = ( /obj/effect/turf_decal/siding/brown{ dir = 10 @@ -70624,17 +71187,6 @@ dir = 1 }, /area/station/science/robotics) -"uyX" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/landmark/start/depsec/engineering, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "uza" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -70647,16 +71199,16 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"uzh" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/holosign/barrier/engineering, +/turf/open/openspace, +/area/station/engineering/atmos/project) "uzj" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"uzr" = ( -/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/break_room) "uzs" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -70671,18 +71223,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/gravity_generator) -"uzI" = ( -/obj/machinery/door/airlock/wood{ - name = "Service Hall" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/service/bar) "uzM" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -70700,15 +71240,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) -"uAg" = ( -/obj/structure/chair/office, -/obj/effect/landmark/start/chief_engineer, -/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, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "uAl" = ( /turf/closed/wall, /area/station/engineering/lobby) @@ -70730,13 +71261,12 @@ /obj/machinery/light/dim/directional/south, /turf/open/openspace, /area/station/cargo/storage) -"uAu" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"uAB" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "uAE" = ( /turf/open/floor/iron/dark, /area/station/security/range) @@ -70780,15 +71310,17 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) -"uBd" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1; - name = "Cold Loop to Gas" +"uBh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/turf_decal/trimline/green, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "uBj" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -70812,6 +71344,11 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/science/breakroom) +"uBv" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "uBy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70835,19 +71372,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"uBJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "uCb" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -70935,6 +71459,18 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/command/meeting_room/council) +"uDu" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "uDv" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron, @@ -70955,13 +71491,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"uDG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/smooth_large, -/area/station/engineering/main) "uDI" = ( /obj/effect/turf_decal/siding/dark/corner{ dir = 4 @@ -71048,6 +71577,10 @@ /obj/item/radio/intercom, /turf/open/floor/carpet, /area/station/hallway/secondary/exit/departure_lounge) +"uEQ" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/upper) "uEZ" = ( /obj/structure/ladder, /obj/effect/turf_decal/trimline/yellow/filled/line, @@ -71102,10 +71635,6 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/office) -"uGf" = ( -/obj/structure/sign/poster/contraband/busty_backdoor_xeno_babes_6/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "uGj" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/start/hangover, @@ -71120,6 +71649,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"uGq" = ( +/obj/item/paint/violet{ + pixel_x = -7; + pixel_y = -1 + }, +/obj/item/paint/yellow{ + pixel_x = 8; + pixel_y = 3 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "uGt" = ( /obj/structure/tank_holder/extinguisher, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -71159,16 +71699,6 @@ /obj/effect/decal/cleanable/rubble, /turf/open/floor/iron/dark/smooth_large, /area/station/cargo/miningoffice) -"uGO" = ( -/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 = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/service/library, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "uGP" = ( /obj/effect/turf_decal/siding/purple/corner, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -71229,6 +71759,17 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"uHA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction/yjunction, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=9-Bridge"; + location = "8-Kitchen" + }, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "uHD" = ( /obj/structure/chair{ dir = 4 @@ -71282,23 +71823,15 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) +"uIx" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "uIG" = ( /obj/item/poster/random_official, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/port) -"uIK" = ( -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ - 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, -/area/station/engineering/storage_shared) "uIO" = ( /turf/closed/wall, /area/station/maintenance/department/medical) @@ -71341,19 +71874,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"uJJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "CO2 Multideck Adapter"; - dir = 4 - }, -/obj/machinery/meter{ - name = "C02 meter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "uJM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, @@ -71371,22 +71891,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"uJT" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/hallway) -"uJX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/eighties, -/area/station/maintenance/hallway/abandoned_recreation) "uKa" = ( /turf/closed/wall, /area/station/security/warden) +"uKf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "uKh" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -71406,22 +71920,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"uKp" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/commons/lounge) "uKt" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -71457,6 +71955,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"uKY" = ( +/obj/effect/turf_decal/tile/dark_blue, +/obj/structure/cable, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "uLb" = ( /obj/structure/closet/crate/secure/trashcart, /obj/item/sord, @@ -71471,15 +71974,6 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/maintenance/port/aft) -"uLf" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/psychologist, -/turf/open/floor/carpet, -/area/station/medical/psychology) "uLi" = ( /obj/structure/table, /obj/item/clothing/head/costume/tv_head{ @@ -71546,33 +72040,27 @@ }, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"uLW" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 4; - initialize_directions = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/hallway) "uLX" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 }, /turf/open/floor/iron/dark/textured_corner, /area/station/science/ordnance) -"uMd" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - name = "Waste Release"; - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "uMy" = ( /obj/machinery/shower/directional/east, /turf/open/floor/iron/white/textured_large, /area/station/medical/virology) +"uMD" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/machinery/power/energy_accumulator/tesla_coil/anchored{ + cable_layer = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 10 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "uME" = ( /obj/structure/stairs/south, /obj/structure/railing{ @@ -71645,11 +72133,19 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) -"uOi" = ( -/obj/machinery/field/generator, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/engine, -/area/station/engineering/break_room) +"uOo" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) +"uOw" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "uOx" = ( /obj/structure/table/glass, /obj/machinery/wall_healer/directional/west, @@ -71663,18 +72159,14 @@ /obj/machinery/vending/wardrobe/hydro_wardrobe, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) +"uOF" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "uOH" = ( /obj/structure/chair, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/security/interrogation) -"uOR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood/large, -/area/station/hallway/secondary/service) "uOS" = ( /obj/structure/table/glass, /obj/item/storage/fancy/candle_box, @@ -71723,6 +72215,15 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/lesser) +"uPB" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/machinery/power/energy_accumulator/grounding_rod/anchored{ + cable_layer = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "uPL" = ( /obj/item/controller, /obj/item/compact_remote, @@ -71737,17 +72238,6 @@ /obj/item/multitool/circuit, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lab) -"uQd" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "uQh" = ( /turf/open/floor/iron/dark, /area/station/security/medical) @@ -71759,28 +72249,10 @@ dir = 8 }, /area/station/medical/surgery) -"uQx" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "uQy" = ( /obj/structure/closet/crate/bin, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/satellite) -"uQG" = ( -/obj/effect/landmark/start/station_engineer, -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "uQH" = ( /obj/structure/girder, /obj/structure/grille, @@ -71789,11 +72261,48 @@ "uRd" = ( /turf/open/openspace, /area/station/maintenance/port/fore) +"uRj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/checker, +/area/station/service/bar) "uRk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/construction/storage_wing) +"uRp" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/railing/corner/end, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"uRq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/effect/mapping_helpers/mail_sorting/service/theater, +/obj/structure/cable, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "uRs" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -71837,6 +72346,24 @@ }, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) +"uRK" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/gloves/color/black, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/clothing/gloves/color/black, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "uRM" = ( /obj/structure/table, /obj/effect/spawner/random/trash/janitor_supplies{ @@ -71845,17 +72372,6 @@ }, /turf/open/floor/plating, /area/station/security/interrogation) -"uRV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) "uSg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/freezer, @@ -71893,36 +72409,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) -"uSV" = ( -/mob/living/basic/lizard/wags_his_tail, -/obj/structure/bed, -/obj/item/storage/box/lights/mixed{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/storage/box/lights/mixed{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/storage/box/mousetraps{ - pixel_x = -9; - pixel_y = 14 - }, -/obj/item/storage/box/mousetraps{ - pixel_x = 5; - pixel_y = 27 - }, -/obj/item/restraints/legcuffs/beartrap{ - pixel_x = -11; - pixel_y = 27 - }, -/obj/item/restraints/legcuffs/beartrap{ - pixel_x = -11; - pixel_y = 27 - }, -/obj/effect/landmark/start/janitor, -/turf/open/floor/wood, -/area/station/service/janitor) "uTc" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -71944,6 +72430,21 @@ }, /turf/open/space/basic, /area/space) +"uTi" = ( +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/turf/open/floor/wood/large, +/area/station/service/bar) +"uTq" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "uTy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair, @@ -71952,28 +72453,40 @@ /obj/effect/turf_decal/tile/dark/full, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"uTI" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/upper) "uTJ" = ( /obj/machinery/light/directional/west, /turf/open/openspace, /area/station/cargo/storage) +"uTK" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "uTP" = ( /obj/effect/turf_decal/siding/dark, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) +"uTU" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/atmos/project) "uTY" = ( /obj/structure/fake_stairs/directional/north, /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/science/robotics) -"uUh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/lattice/catwalk, -/obj/structure/holosign/barrier/engineering, -/turf/open/openspace, -/area/station/engineering/atmos/project) "uUC" = ( /obj/structure/bed, /obj/structure/toilet/greyscale{ @@ -71999,6 +72512,13 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) +"uUH" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "uUK" = ( /obj/machinery/light/directional/south, /obj/structure/extinguisher_cabinet/directional/south, @@ -72071,6 +72591,16 @@ }, /turf/open/floor/carpet, /area/station/security/courtroom) +"uVO" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/item/reagent_containers/spray/pepper, +/obj/structure/closet/secure_closet/psychology, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "uVP" = ( /obj/structure/railing/corner/end{ dir = 8 @@ -72142,12 +72672,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/station/science/cytology) -"uXc" = ( -/obj/effect/turf_decal/box/white{ - color = "#9FED58" - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "uXj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -72179,13 +72703,21 @@ /turf/open/floor/iron, /area/station/cargo/storage) "uXG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ +/obj/structure/table/wood, +/obj/item/instrument/guitar{ + pixel_y = 12 + }, +/obj/item/instrument/eguitar{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/tile/dark_green{ dir = 4 }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/open/floor/iron/checker, +/area/station/service/bar) "uXI" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -72196,17 +72728,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"uXK" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/machinery/light/directional/west, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"uXR" = ( +/obj/structure/table/wood/fancy/cyan, +/obj/item/book/manual/wiki/atmospherics{ + pixel_y = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/engine, +/area/station/engineering/break_room) "uXU" = ( /obj/effect/spawner/random/structure/chair_flipped, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/security/detectives_office/private_investigators_office) +"uXW" = ( +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "uXZ" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/three, @@ -72226,13 +72768,15 @@ /obj/effect/spawner/random/medical/surgery_tool, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"uYe" = ( -/obj/machinery/light_switch/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"uYr" = ( +/obj/structure/railing{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/hallway) +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "uYu" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -72248,16 +72792,16 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"uYC" = ( -/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/trimline/yellow/filled/line{ +"uYD" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/obj/machinery/door/window/right/directional/east{ + name = "Theater Stage"; + req_access = list("theatre") + }, +/turf/open/floor/wood, +/area/station/service/library) "uYL" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -72275,6 +72819,19 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uYX" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/engineering/lobby) +"uZg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "uZn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/light/cold/directional/south, @@ -72287,10 +72844,6 @@ /obj/item/flashlight/lamp, /turf/open/floor/iron, /area/station/maintenance/starboard/central) -"uZt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "uZu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72332,18 +72885,6 @@ dir = 1 }, /area/station/medical/virology) -"vad" = ( -/obj/machinery/atmospherics/components/unary/passive_vent, -/obj/structure/lattice, -/obj/machinery/camera/autoname/directional/west, -/turf/open/space/basic, -/area/space/nearstation) -"vah" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) "vai" = ( /obj/machinery/door/airlock/public/glass{ name = "Circle Center" @@ -72359,14 +72900,6 @@ dir = 8 }, /area/station/hallway/primary/starboard) -"vaj" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "SM_Outside_shutters"; - name = 4 - }, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "vav" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/stairs/medium, @@ -72392,31 +72925,15 @@ /obj/effect/landmark/navigate_destination/dockaux, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"vaE" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ +"vaF" = ( +/obj/structure/railing{ dir = 8 }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/components/binary/pump/on/layer5{ - name = "N2 to Airmix" - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"vaO" = ( -/obj/structure/table, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"vbd" = ( -/obj/structure/chair/sofa/right/brown{ +/obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/structure/window/reinforced/tinted/frosted/spawner/directional/east, -/turf/open/floor/wood/large, -/area/station/service/library) +/turf/open/floor/iron, +/area/station/engineering/lobby) "vbe" = ( /obj/structure/railing, /obj/effect/decal/cleanable/dirt, @@ -72430,6 +72947,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"vbf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "vbo" = ( /obj/machinery/icecream_vat, /obj/machinery/camera/autoname/directional/north, @@ -72438,12 +72961,12 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"vbw" = ( -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = 32 +"vbB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "vbV" = ( /obj/machinery/status_display/ai/directional/north, /turf/open/openspace, @@ -72479,12 +73002,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"vcs" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light_switch/directional/north, -/turf/open/openspace, -/area/station/engineering/break_room) "vcF" = ( /obj/structure/sign/warning/hot_temp, /turf/closed/wall/r_wall, @@ -72505,16 +73022,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/service/abandoned_gambling_den) -"vcM" = ( -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) -"vcR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "vcT" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -72523,6 +73030,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"vdg" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/machinery/power/energy_accumulator/grounding_rod/anchored{ + cable_layer = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/orange/visible{ + dir = 1 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "vdh" = ( /obj/structure/secure_safe/directional/north{ name = "armory safe A"; @@ -72561,6 +73079,13 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"vdm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "vdq" = ( /obj/structure/broken_flooring/side/always_floorplane/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72616,6 +73141,9 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) +"vel" = ( +/turf/open/floor/catwalk_floor, +/area/station/engineering/lobby) "vem" = ( /obj/structure/lattice, /obj/machinery/camera/autoname/directional/south, @@ -72693,6 +73221,12 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/medical/coldroom) +"vfb" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/mapping_helpers/broken_machine, +/obj/machinery/vending/tool, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "vfe" = ( /turf/open/floor/iron, /area/station/commons/dorms) @@ -72721,16 +73255,16 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"vfZ" = ( +/obj/structure/broken_flooring/side/directional/north, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "vgc" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/chapel) -"vgh" = ( -/obj/effect/landmark/event_spawn, -/turf/open/openspace, -/area/station/service/kitchen) "vgo" = ( /obj/structure/table/glass, /obj/item/storage/box/gloves{ @@ -72785,6 +73319,12 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vgG" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/landmark/start/hangover, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "vgJ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -72807,33 +73347,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/cargo/sorting) -"vgQ" = ( -/obj/structure/railing, -/turf/open/openspace, -/area/station/engineering/storage_shared) "vhe" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/construction/storage_wing) -"vhl" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/structure/table/wood, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = -13 - }, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = -13 - }, -/obj/item/holosign_creator/robot_seat/bar{ - pixel_y = -20 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/wood, -/area/station/service/bar/backroom) "vht" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/fluff/paper/corner{ @@ -72882,6 +73400,11 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) +"vii" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/dice, +/turf/open/floor/carpet/stellar, +/area/station/service/library) "vij" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -72890,15 +73413,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"vik" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Bay Shutters"; - id = "qm_cargobay"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "viy" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/fluff/paper/stack{ @@ -72973,14 +73487,26 @@ /obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"vjP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 9 +"vjo" = ( +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/eighties, -/area/station/maintenance/hallway/abandoned_recreation) +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/hallway/primary/fore) +"vjC" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/item/radio/intercom/directional/north, +/turf/open/openspace, +/area/station/engineering/atmos/project) "vjS" = ( /obj/structure/transit_tube, /obj/structure/window/reinforced/spawner/directional/north, @@ -73004,6 +73530,9 @@ "vkd" = ( /turf/open/openspace, /area/station/ai_monitored/turret_protected/ai_upload) +"vki" = ( +/turf/open/openspace, +/area/station/engineering/storage_shared) "vkl" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -73017,11 +73546,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"vkr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "vkA" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -73160,6 +73684,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"vlX" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/oven/range, +/turf/open/openspace, +/area/station/service/kitchen) "vma" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -73241,16 +73770,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"vno" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/eighties, -/area/station/maintenance/hallway/abandoned_recreation) "vnp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/graffiti, @@ -73270,17 +73789,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) -"vnB" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/machinery/computer/security/telescreen/ce/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) "vnR" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) @@ -73379,22 +73887,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"voY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail{ - dir = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"vpc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "vpd" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -73405,6 +73897,9 @@ }, /turf/open/openspace, /area/station/commons/fitness/recreation) +"vpi" = ( +/turf/open/floor/eighties, +/area/station/engineering/lobby) "vpo" = ( /obj/machinery/power/terminal{ dir = 1 @@ -73445,6 +73940,14 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) +"vqi" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/station/engineering/lobby) "vql" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/warning{ @@ -73453,6 +73956,17 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/port) +"vqn" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "vqq" = ( /obj/structure/table, /obj/machinery/status_display/evac/directional/north, @@ -73518,16 +74032,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vqH" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ + dir = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "vqM" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 }, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"vqO" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "vqP" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/newscaster/directional/south, @@ -73555,13 +74071,6 @@ /obj/machinery/light/directional/east, /turf/open/openspace, /area/station/science/xenobiology) -"vrK" = ( -/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, -/area/station/maintenance/disposal/incinerator) "vrO" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -73569,24 +74078,6 @@ }, /turf/open/openspace, /area/station/maintenance/starboard/lesser) -"vsf" = ( -/obj/structure/table/reinforced, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/desk_bell{ - pixel_x = 6; - pixel_y = 15 - }, -/turf/open/floor/carpet, -/area/station/service/bar) -"vsh" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "vsm" = ( /obj/effect/spawner/random/entertainment/arcade{ dir = 1 @@ -73602,12 +74093,30 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) +"vss" = ( +/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{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "vsv" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/chapel{ dir = 1 }, /area/station/service/chapel) +"vsw" = ( +/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/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "vsC" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/photocopier/prebuilt, @@ -73634,6 +74143,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"vsM" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "vsO" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 8 @@ -73672,6 +74191,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/genetics, /turf/open/floor/iron/dark/textured_large, /area/station/science/genetics) +"vti" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "vtm" = ( /obj/machinery/camera/autoname/directional/north{ c_tag = "Medbay - Upper Storage North Hallway" @@ -73706,43 +74231,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/maintenance/starboard/lesser) -"vtH" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/cable, +"vtM" = ( +/obj/effect/spawner/structure/window, /turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"vtR" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/area/station/commons/lounge) "vtT" = ( /turf/open/floor/glass, /area/station/science/zoo) -"vtV" = ( -/obj/structure/rack, -/obj/item/clothing/head/utility/welding, -/obj/item/wrench, -/obj/item/weldingtool, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"vua" = ( -/obj/structure/table/wood, -/obj/machinery/computer/records/medical/laptop{ - pixel_y = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/medical/psychology) "vuc" = ( /obj/item/banner/cargo/mundane, /obj/structure/disposalpipe/segment{ @@ -73756,13 +74251,13 @@ /obj/machinery/light/small/red/dim/directional/west, /turf/open/floor/iron/textured_large, /area/station/medical/abandoned) -"vuA" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +"vuy" = ( +/obj/effect/landmark/start/station_engineer, +/obj/structure/chair/office{ + dir = 1 }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron, +/area/station/engineering/lobby) "vuN" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -73777,6 +74272,26 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/wood, /area/station/security/detectives_office) +"vuV" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/departments/aisat/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) +"vvb" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/book/manual/wiki/atmospherics, +/obj/structure/closet/secure_closet/atmospherics, +/turf/open/floor/iron/dark/textured, +/area/station/maintenance/disposal/incinerator) "vvc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -73806,6 +74321,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/cargo/warehouse) +"vvB" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/wall_healer/directional/east, +/turf/open/floor/iron, +/area/station/engineering/lobby) "vvD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -73826,6 +74348,15 @@ /obj/structure/stairs/west, /turf/open/floor/iron, /area/station/science/zoo) +"vvU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "vvY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/loading_area{ @@ -73874,9 +74405,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"vwo" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_nineteen{ + pixel_x = 3; + pixel_y = 10 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "vwr" = ( /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"vwx" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/no_smoking/circle/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "vwB" = ( /obj/machinery/camera/directional/east{ c_tag = "Arrivals - Aft Arm" @@ -73898,6 +74446,13 @@ /obj/machinery/air_sensor, /turf/open/floor/iron, /area/station/security/prison/mess) +"vwQ" = ( +/obj/structure/reagent_dispensers/fueltank/large, +/obj/effect/turf_decal/delivery/white{ + color = "#ff6600" + }, +/turf/open/floor/engine, +/area/station/engineering/break_room) "vwR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -73920,15 +74475,20 @@ }, /turf/open/floor/glass, /area/station/tcommsat/server) -"vxh" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 +"vxk" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/computer/atmos_control/plasma_tank{ + dir = 1 }, -/obj/structure/railing/corner{ - dir = 8 +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) +"vxm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/banner/red{ + inspiration_available = 0 }, -/turf/open/floor/wood/large, -/area/station/service/library) +/turf/open/floor/circuit/red, +/area/station/maintenance/hallway/abandoned_recreation) "vxJ" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ @@ -73936,6 +74496,16 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"vyp" = ( +/obj/item/radio/intercom/directional/west, +/obj/machinery/modular_computer/preset/engineering{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) "vyt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -73961,13 +74531,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vyJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron, -/area/station/engineering/lobby) "vyV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74017,18 +74580,6 @@ "vzB" = ( /turf/closed/wall, /area/station/command/heads_quarters/hop) -"vzJ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) -"vzK" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vzM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74063,13 +74614,14 @@ /obj/structure/disposalpipe/junction, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"vzY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +"vzW" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/airlock/public/glass{ + name = "Engineering Storage" }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plating, -/area/station/medical/psychology) +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "vAa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ @@ -74131,6 +74683,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"vAx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8; + pixel_x = -2 + }, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "vAy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -74164,6 +74729,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/cytology) +"vBg" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "vBi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74213,14 +74782,6 @@ /obj/item/reagent_containers/syringe, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vBy" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Gas to Cold Loop" - }, -/obj/effect/turf_decal/trimline/brown, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "vBM" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -74243,12 +74804,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/xenobiology/hallway) -"vBW" = ( +"vBX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "vBY" = ( /obj/item/raw_anomaly_core/random{ pixel_x = -5; @@ -74308,14 +74871,6 @@ "vCE" = ( /turf/closed/wall, /area/station/ai_monitored/command/nuke_storage) -"vCN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/public/glass{ - name = "Red Base" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/wood, -/area/station/maintenance/hallway/abandoned_recreation) "vCP" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/openspace, @@ -74374,6 +74929,12 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/maintenance/starboard/fore) +"vDL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/plasma, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/main) "vDT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74390,11 +74951,14 @@ /turf/open/floor/iron, /area/station/commons/fitness/recreation) "vEh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vEi" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -74402,18 +74966,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) -"vEy" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/airlock/public/glass{ - name = "Engineering Storage" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"vEE" = ( -/obj/effect/decal/cleanable/blood/oil/slippery, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "vEF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74427,6 +74979,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"vEI" = ( +/obj/effect/turf_decal/box/red, +/obj/item/vending_refill/games{ + pixel_x = 6; + pixel_y = -4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "vEU" = ( /obj/machinery/skill_station, /obj/machinery/airalarm/directional/north, @@ -74440,11 +75000,6 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plating, /area/station/construction/storage_wing) -"vFl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/vending/coffee, -/turf/open/floor/iron, -/area/station/engineering/lobby) "vFr" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -74475,6 +75030,14 @@ /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/water, /area/station/maintenance/starboard/fore) +"vFP" = ( +/obj/structure/lattice/catwalk, +/obj/effect/turf_decal/stripes/line, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "vFR" = ( /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/science/ordnance/bomb) @@ -74498,14 +75061,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, /area/station/service/library/printer) -"vFX" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "vFY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74554,24 +75109,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/medical/virology) -"vGs" = ( -/obj/structure/sign/poster/official/random/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/engine/directional/south{ - name = "Engine Camera Monitor" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) -"vGB" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/book/manual/wiki/atmospherics, -/obj/structure/closet/secure_closet/atmospherics, -/turf/open/floor/iron/dark/textured, -/area/station/maintenance/disposal/incinerator) "vGC" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -74581,6 +75118,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"vGE" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine/hull/reinforced, +/area/station/engineering/atmos/hfr_room) "vGQ" = ( /obj/structure/table, /obj/item/clothing/under/costume/seifuku/tan{ @@ -74608,14 +75149,6 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input, /turf/open/floor/engine/airless, /area/station/maintenance/disposal/incinerator) -"vHc" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 9 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "vHe" = ( /obj/structure/closet/crate/trashcart/laundry, /obj/item/clothing/under/rank/prisoner, @@ -74626,12 +75159,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison) -"vHg" = ( -/obj/machinery/light/directional/north, -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) "vHo" = ( /turf/closed/wall, /area/station/hallway/secondary/command) @@ -74645,13 +75172,6 @@ /obj/machinery/air_sensor, /turf/open/floor/iron/grimy, /area/station/security/interrogation) -"vHD" = ( -/obj/machinery/vending/tool, -/obj/effect/turf_decal/trimline/yellow/filled/end{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "vHO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74697,10 +75217,26 @@ }, /turf/open/floor/iron/white/textured_half, /area/station/ai_monitored/turret_protected/aisat_interior) +"vIt" = ( +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "vIw" = ( /obj/structure/railing, /turf/open/openspace, /area/station/hallway/primary/central) +"vIy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "vIz" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -74708,26 +75244,23 @@ }, /turf/open/floor/iron, /area/station/science/research) -"vIP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +"vIB" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"vIX" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "vJe" = ( /obj/structure/chair, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"vJi" = ( -/obj/structure/chair{ - dir = 1; - pixel_y = -2 - }, -/obj/effect/landmark/start/hangover, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/library) "vJz" = ( /obj/structure/railing{ dir = 4 @@ -74741,13 +75274,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"vJE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/blood/oil/slippery, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "vJF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74755,6 +75281,13 @@ /obj/structure/disposalpipe/junction, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"vJM" = ( +/obj/structure/window/reinforced/tinted/frosted/spawner/directional/west, +/obj/structure/chair/sofa/middle/brown{ + dir = 4 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "vJP" = ( /obj/structure/table, /obj/item/storage/box/hug/plushes{ @@ -74807,13 +75340,23 @@ /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) "vKw" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/firealarm/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/openspace, -/area/station/engineering/atmos/project) +/obj/structure/table, +/obj/item/reagent_containers/cup/glass/bottle/vodka{ + pixel_y = 15; + pixel_x = 6 + }, +/obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice{ + pixel_x = -5; + pixel_y = 15 + }, +/obj/item/reagent_containers/cup/glass/flask{ + pixel_x = -6 + }, +/obj/item/reagent_containers/cup/glass/flask{ + pixel_x = 11 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "vKL" = ( /obj/structure/railing{ dir = 4 @@ -74848,12 +75391,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"vKR" = ( -/obj/machinery/portable_atmospherics/scrubber/huge/movable, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "vKW" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -74899,6 +75436,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/security/execution/education) +"vLj" = ( +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "vLx" = ( /obj/machinery/conveyor{ dir = 4; @@ -74924,6 +75471,13 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/science/research) +"vLU" = ( +/obj/item/kirbyplants/random/fullysynthetic, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "vLZ" = ( /obj/structure/rack, /obj/item/circuitboard/machine/telecomms/broadcaster{ @@ -74938,6 +75492,13 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"vMn" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "vMs" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74983,6 +75544,15 @@ /obj/structure/sign/poster/official/anniversary_vintage_reprint/directional/west, /turf/open/openspace, /area/station/maintenance/starboard/fore) +"vMO" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/grassy/style_random, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/grass, +/area/station/engineering/lobby) "vMP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -75038,13 +75608,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/openspace, /area/station/construction/storage_wing) -"vNy" = ( -/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_large, -/area/station/engineering/main) "vNz" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -75065,14 +75628,6 @@ }, /turf/open/floor/plating, /area/station/science/zoo) -"vND" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "vNJ" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/window/reinforced/tinted/spawner/directional/west, @@ -75126,6 +75681,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/sepia, /area/station/hallway/secondary/construction) +"vPa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "vPp" = ( /obj/machinery/microwave, /turf/open/floor/plating, @@ -75138,6 +75699,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vPK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Port to Engine"; + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown, +/turf/open/floor/engine/hull/reinforced/air, +/area/station/engineering/atmos/project) "vPN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75158,19 +75730,12 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"vQj" = ( +"vQf" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "N2 Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "N2 meter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "vQo" = ( /obj/structure/lattice/catwalk, /obj/effect/turf_decal/stripes/line, @@ -75227,13 +75792,6 @@ /obj/effect/mapping_helpers/airlock/access/any/science/ordnance, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"vQK" = ( -/obj/machinery/meter/monitored/distro_loop, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible/layer2{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) "vQM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -75257,16 +75815,6 @@ }, /turf/open/floor/carpet, /area/station/command/gateway) -"vRa" = ( -/obj/machinery/computer/atmos_control/carbon_tank, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "vRb" = ( /obj/structure/sign/poster/official/tactical_game_cards/directional/west, /obj/machinery/byteforge, @@ -75274,19 +75822,18 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"vRc" = ( -/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, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "vRd" = ( /obj/effect/decal/cleanable/dirt, /obj/item/circuitboard/computer/operating, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) +"vRf" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "vRi" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75306,6 +75853,17 @@ /obj/structure/sign/poster/contraband/lizard/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"vRt" = ( +/turf/open/floor/carpet/black, +/area/station/service/theater) +"vRu" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/kirbyplants/random, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "vRz" = ( /obj/machinery/light/small/directional/south, /obj/structure/closet/firecloset, @@ -75321,6 +75879,12 @@ }, /turf/open/floor/iron, /area/station/science/breakroom) +"vRE" = ( +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "vRF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ @@ -75350,6 +75914,15 @@ /obj/structure/broken_flooring/singular/always_floorplane/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"vSa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/banner/blue{ + inspiration_available = 0 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/circuit, +/area/station/maintenance/hallway/abandoned_recreation) "vSc" = ( /obj/structure/lattice/catwalk, /obj/effect/turf_decal/stripes/line, @@ -75365,10 +75938,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/science/lab) -"vSl" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/upper) "vSn" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -75454,34 +76023,10 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) -"vSN" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/stairs/medium{ - dir = 4 - }, -/area/station/hallway/primary/central) "vSS" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) -"vST" = ( -/obj/machinery/requests_console/directional/west{ - department = "Security"; - name = "Security Requests Console" - }, -/obj/structure/table, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/recharger{ - pixel_x = 10; - pixel_y = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "vSU" = ( /obj/effect/decal/cleanable/glitter, /turf/open/floor/plating, @@ -75498,12 +76043,6 @@ /obj/structure/railing/corner, /turf/open/floor/iron, /area/station/science/robotics) -"vTk" = ( -/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, -/area/station/command/heads_quarters/ce) "vTm" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -75523,6 +76062,16 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) +"vTv" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "vTE" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plating, @@ -75540,14 +76089,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/research) -"vTP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "vTV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75558,15 +76099,26 @@ /obj/effect/turf_decal/trimline/dark/corner, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"vUf" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"vTY" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Kitchen" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +/obj/machinery/firealarm/directional/west, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"vUb" = ( +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Quarters" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "vUi" = ( /obj/structure/chair/pew/left{ dir = 8 @@ -75574,6 +76126,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/chapel) +"vUm" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/engine_smes) "vUQ" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/wood, @@ -75597,10 +76154,62 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/lobby) +"vUU" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/machinery/coffeemaker/impressa, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_x = 13; + pixel_y = -1 + }, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_x = 13; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/glass/mug{ + pixel_x = 13; + pixel_y = 10 + }, +/obj/item/storage/box/coffeepack{ + pixel_y = 10; + pixel_x = -5 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/checker, +/area/station/service/bar) +"vVb" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/firealarm/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, +/area/station/engineering/storage_shared) "vVp" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"vVr" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/wood, +/obj/item/soap{ + pixel_y = 2 + }, +/obj/item/reagent_containers/cup/bowl/soup/stew{ + desc = "Exactly what it says on the tin."; + initial_reagent = /datum/reagent/consumable/condensedcapsaicin; + name = "6 seconds blinding stew"; + pixel_y = 12 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/theater) +"vVv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) "vVD" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -75614,18 +76223,10 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"vVW" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 1 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/transit_tube) -"vWc" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +"vVR" = ( +/obj/structure/broken_flooring/pile/directional/north, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "vWe" = ( /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) @@ -75647,25 +76248,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_large, /area/station/maintenance/port) -"vWm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"vWr" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/engine, -/area/station/engineering/main) "vWv" = ( /obj/effect/turf_decal/bot_white, /obj/effect/decal/cleanable/dirt, @@ -75688,25 +76270,21 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) -"vWW" = ( -/obj/machinery/holopad, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) -"vXh" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/large, -/area/station/service/library/private) +"vWJ" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/library) "vXt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"vXv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "vXz" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 @@ -75716,6 +76294,11 @@ /obj/machinery/mining_weather_monitor/directional/north, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) +"vXF" = ( +/obj/effect/turf_decal/siding/wood/end, +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "vXQ" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -75725,14 +76308,6 @@ }, /turf/open/floor/iron, /area/station/science/lab) -"vXS" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/structure/closet/toolcloset, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "vXU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75749,6 +76324,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"vYm" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "vYs" = ( /obj/structure/table/optable, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -75913,25 +76494,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/satellite) -"waU" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/landmark/firealarm_sanity, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/station/holodeck/rec_center) -"waV" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) -"wbc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/sink/directional/west, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/wood, -/area/station/service/janitor) "wbk" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -75942,6 +76504,15 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/port) +"wbB" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "wbH" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -75978,6 +76549,24 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"wca" = ( +/obj/machinery/light/directional/west, +/obj/structure/table, +/obj/item/clothing/suit/apron/chef, +/obj/item/knife{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/clothing/head/utility/chefhat{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "wce" = ( /obj/structure/railing/corner{ dir = 4 @@ -75997,6 +76586,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/office) +"wcJ" = ( +/obj/machinery/atmospherics/components/binary/pump/off/general/visible{ + dir = 4; + name = "Atmos to Engine" + }, +/obj/effect/turf_decal/trimline/brown, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "wcL" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/closet/athletic_mixed, @@ -76054,6 +76651,11 @@ /obj/effect/spawner/random/trash/botanical_waste, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"wdu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "wdw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, @@ -76088,12 +76690,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"wea" = ( -/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/engineering/break_room) "web" = ( /obj/effect/turf_decal/trimline/brown/filled/warning{ dir = 4 @@ -76225,6 +76821,16 @@ /obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/station/commons/dorms) +"wfp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/components/binary/pump/on/layer5{ + name = "O2 to Airmix" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "wfq" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/bot, @@ -76234,12 +76840,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"wfD" = ( -/obj/structure/transport/linear{ - radial_travel = 0 +"wfz" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 }, -/turf/open/openspace, -/area/station/engineering/break_room) +/obj/effect/mapping_helpers/mail_sorting/engineering/general, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "wfF" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 4 @@ -76321,6 +76932,24 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/medbay/central) +"wgD" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"wgH" = ( +/obj/structure/transport/linear/public, +/obj/structure/table, +/obj/item/plate{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/item/plate{ + pixel_x = -11; + pixel_y = -2 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/service/kitchen) "wgM" = ( /obj/structure/statue/sandstone/venus{ dir = 1 @@ -76353,18 +76982,6 @@ /obj/structure/table, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) -"whb" = ( -/obj/structure/table, -/obj/item/stack/sheet/plasteel/fifty, -/obj/item/stack/sheet/glass/fifty{ - pixel_y = 13 - }, -/obj/item/stack/sheet/iron/fifty{ - pixel_x = -9; - pixel_y = 9 - }, -/turf/open/floor/engine, -/area/station/engineering/atmos/hfr_room) "whi" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -76395,36 +77012,21 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) +"whv" = ( +/obj/structure/railing{ + dir = 9 + }, +/turf/open/openspace, +/area/station/hallway/primary/central) "whw" = ( /obj/machinery/teleport/hub, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"whB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/machinery/door/airlock/engineering/glass{ - name = "Shared Engineering Storage" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "whJ" = ( /obj/structure/sign/departments/science/alt/directional/south, /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/large, /area/station/science/cytology) -"whN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, -/obj/item/paint_palette{ - pixel_y = 11 - }, -/turf/open/floor/wood, -/area/station/service/library) "whR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -76464,6 +77066,10 @@ /obj/structure/sign/departments/genetics/directional/east, /turf/open/floor/iron/stairs/medium, /area/station/science/cytology) +"wid" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "wie" = ( /obj/structure/chair{ dir = 4 @@ -76471,13 +77077,6 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) -"wik" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer{ - pixel_x = 4 - }, -/turf/open/floor/wood, -/area/station/service/bar) "wiq" = ( /obj/structure/railing, /obj/effect/decal/cleanable/dirt, @@ -76485,11 +77084,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/openspace/coldroom, /area/station/medical/coldroom) -"wir" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "wiv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/box, @@ -76514,17 +77108,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"wiF" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"wiK" = ( -/obj/structure/cable, -/turf/open/floor/wood/large, -/area/station/service/library/private) "wiO" = ( /obj/machinery/door/airlock/maintenance{ name = "CE's Maintenance Access" @@ -76533,32 +77116,29 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/plating, /area/station/engineering/lobby) +"wiP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/checker, +/area/station/service/bar) "wiZ" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, /obj/effect/landmark/start/hangover, /turf/open/openspace, /area/station/commons/dorms) -"wjg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"wjf" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"wji" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/checker, +/area/station/service/bar) "wju" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -76578,6 +77158,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) +"wjz" = ( +/obj/structure/ladder, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "wjH" = ( /obj/structure/stairs/west, /obj/structure/railing{ @@ -76596,22 +77181,32 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"wjU" = ( -/obj/machinery/door/airlock/wood{ - name = "Service Hall" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "wjV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/construction/storage_wing) +"wjX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"wkd" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/effect/spawner/random/entertainment/cigarette{ + pixel_x = -5 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "wko" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76653,17 +77248,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"wkR" = ( -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/disposalpipe/segment, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) -"wkW" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/glass/reinforced/plasma, -/area/station/engineering/atmos/project) "wlc" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 8 @@ -76691,14 +77275,6 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"wlD" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wlF" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/maintenance/two, @@ -76718,6 +77294,11 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"wlV" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "wlY" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -76735,36 +77316,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"wmc" = ( -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "CO2 Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "C02 meter" - }, -/obj/effect/turf_decal/tile/dark/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"wmd" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_x = -6; - pixel_y = 14 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/rag{ - pixel_x = 10; - pixel_y = 17 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "wmm" = ( /obj/structure/railing{ dir = 4 @@ -76785,6 +77336,15 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"wmr" = ( +/obj/structure/chair/office, +/obj/effect/landmark/start/chief_engineer, +/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, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "wmt" = ( /obj/structure/closet/secure_closet/quartermaster, /obj/item/clothing/head/fedora/white, @@ -76850,24 +77410,21 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"wnu" = ( -/obj/structure/sign/poster/contraband/space_cola/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"wny" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/commons/lounge) "wnA" = ( /obj/effect/turf_decal/siding/thinplating_new/dark, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/turret_protected/ai) +"wnC" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/vending/wardrobe/chef_wardrobe, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "wnD" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/three, @@ -76887,9 +77444,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) -"wnO" = ( -/turf/open/openspace, -/area/station/medical/psychology) "wnY" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76902,18 +77456,6 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"wog" = ( -/obj/machinery/firealarm/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/station/medical/psychology) -"woh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/cable, -/obj/structure/sign/poster/official/work_for_a_future/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/wood/large, -/area/station/service/library/private) "wom" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/internals, @@ -76942,6 +77484,32 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) +"woG" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/item/storage/box/lights/mixed{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock{ + pixel_x = -6; + pixel_y = -4 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "woV" = ( /obj/structure/broken_flooring/pile/directional/south, /turf/open/floor/plating, @@ -76950,26 +77518,15 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"wpc" = ( -/obj/machinery/door/airlock/medical{ - name = "Psychology" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, -/turf/open/floor/wood/large, -/area/station/medical/psychology) +"wpd" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/closet/firecloset/full, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "wps" = ( /turf/open/floor/engine, /area/station/science/xenobiology) -"wpt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "wpw" = ( /obj/structure/flora/bush/flowers_pp/style_3, /obj/structure/flora/bush/flowers_yw/style_2, @@ -76979,21 +77536,17 @@ }, /turf/open/floor/grass/fairy, /area/station/maintenance/hallway/abandoned_recreation) -"wpA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/library) "wpG" = ( /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig) -"wpH" = ( -/obj/effect/spawner/random/trash/mess, +"wpT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/spawner/structure/window, /turf/open/floor/plating, -/area/station/engineering/storage_shared) +/area/station/commons/lounge) "wpW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/red/dim/directional/north, @@ -77024,10 +77577,15 @@ /obj/effect/turf_decal/trimline/green/filled/mid_joiner, /turf/open/floor/iron/dark/smooth_large, /area/station/service/hydroponics) -"wqu" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/engine/hull/air, -/area/station/engineering/break_room) +"wqs" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "wqB" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -77041,26 +77599,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"wqC" = ( -/obj/item/paint/black{ - pixel_x = 4; - pixel_y = 12 - }, -/obj/item/paint/blue{ - pixel_x = 9; - pixel_y = 8 - }, -/obj/item/paint/red{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/station/service/library) -"wqI" = ( -/obj/effect/spawner/random/trash/botanical_waste, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "wqN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -77075,6 +77613,13 @@ }, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) +"wre" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "wrf" = ( /obj/machinery/atmospherics/pipe/multiz/yellow/visible{ dir = 8 @@ -77084,6 +77629,11 @@ dir = 1 }, /area/station/science/ordnance/storage) +"wrB" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/chair/stool/bar/directional/east, +/turf/open/floor/carpet/orange, +/area/station/commons/lounge) "wrE" = ( /turf/open/floor/glass, /area/station/hallway/secondary/entry) @@ -77148,14 +77698,9 @@ /turf/open/floor/engine/hull, /area/space/nearstation) "wtd" = ( -/obj/structure/sign/warning/hot_temp/directional/east, -/obj/machinery/camera/directional/east, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/iron/stairs/medium, +/area/station/maintenance/disposal/incinerator) "wti" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/window/spawner/directional/north, @@ -77195,15 +77740,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"wtw" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "wtz" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/carpet, @@ -77218,6 +77754,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/solars/starboard/aft) +"wtE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood/large, +/area/station/hallway/secondary/service) "wtI" = ( /obj/structure/table, /obj/item/pipe_dispenser, @@ -77251,10 +77797,12 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space/openspace, /area/space/nearstation) -"wuj" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos/upper) +"wuh" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "wul" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -77311,13 +77859,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"wuB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/turf_decal/siding/red/corner{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "wuG" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -77347,11 +77888,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"wvc" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/dice, -/turf/open/floor/wood/large, -/area/station/service/library) +"wve" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "wvw" = ( /obj/machinery/conveyor{ dir = 8; @@ -77397,6 +77939,25 @@ }, /turf/open/openspace, /area/station/commons/fitness/recreation) +"wwa" = ( +/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/item/multitool/circuit{ + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/multitool/circuit{ + pixel_x = 10; + pixel_y = 14 + }, +/obj/item/multitool/circuit{ + pixel_x = 2; + pixel_y = 15 + }, +/turf/open/floor/iron/dark/smooth_edge, +/area/station/service/library) "wwf" = ( /obj/machinery/computer/communications, /obj/effect/turf_decal/siding/blue{ @@ -77479,25 +78040,6 @@ /obj/item/surgical_drapes, /turf/open/floor/iron/white, /area/station/maintenance/hallway/abandoned_recreation) -"wwI" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/station_engineer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/lobby) -"wwR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/wood{ - name = "Event Storage" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/theatre, -/turf/open/floor/plating, -/area/station/service/theater) "wwV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -77524,6 +78066,13 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/vacant_room/office) +"wxG" = ( +/obj/structure/window/spawner/directional/north, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) "wxH" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -77539,6 +78088,29 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/brig) +"wxU" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high{ + charge = 100; + maxcharge = 15000 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) +"wyc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/obj/structure/holosign/barrier/engineering, +/turf/open/openspace, +/area/station/engineering/atmos/project) "wyj" = ( /obj/item/cigbutt, /turf/open/floor/engine/hull, @@ -77555,16 +78127,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"wys" = ( -/obj/structure/lattice/catwalk, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/openspace, -/area/station/engineering/break_room) "wyx" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -77597,15 +78159,26 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"wzr" = ( +/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/engineering/break_room) "wzs" = ( /obj/structure/rack, /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "wzu" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos/upper) +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "wzy" = ( /obj/effect/turf_decal/tile/dark_blue/half{ dir = 8 @@ -77615,14 +78188,19 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"wzG" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"wzz" = ( +/obj/structure/railing/corner{ + dir = 8 }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/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/service/library/private) +"wzB" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron, +/area/station/engineering/main) "wzM" = ( /obj/machinery/recharge_station, /turf/open/floor/wood, @@ -77635,16 +78213,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) -"wzQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron, -/area/station/engineering/lobby) "wzS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -77656,6 +78224,13 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/wood, /area/station/commons/storage/tools) +"wzV" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "wAk" = ( /turf/open/openspace, /area/station/maintenance/port/aft) @@ -77710,6 +78285,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical) +"wAU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/siding/red/corner, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "wAW" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/condiment, @@ -77720,17 +78302,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) -"wBa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) "wBb" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"wBj" = ( +/obj/structure/railing{ + dir = 6 + }, +/turf/open/openspace, +/area/station/service/library) "wBu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -77772,19 +78353,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"wBR" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/mid_joiner{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) "wCa" = ( /obj/effect/turf_decal/arrows/white{ color = "#F7F707"; @@ -77804,6 +78372,26 @@ /obj/structure/fluff/paper/stack, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"wCm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) +"wCn" = ( +/obj/structure/lattice/catwalk, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/item/storage/box{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "wCr" = ( /obj/machinery/door/airlock/engineering{ name = "Tech Storage" @@ -77831,11 +78419,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/hallway/secondary/exit/departure_lounge) -"wCJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/commons/lounge) "wCP" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -77854,33 +78437,39 @@ /obj/machinery/light/directional/south, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"wDn" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/large, -/area/station/service/library) "wDs" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/rack, /obj/item/clothing/gloves/latex, /turf/open/floor/iron/dark, /area/station/science/lobby) -"wDD" = ( -/obj/effect/turf_decal/stripes/line{ +"wDt" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/meter, +/obj/effect/turf_decal/stripes/red/line{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "wDQ" = ( /obj/structure/chair/office{ dir = 8 }, /turf/open/floor/wood, /area/station/commons/dorms) +"wDY" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/airlock/public/glass{ + name = "Engineering Storage" + }, +/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, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "wDZ" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -77905,20 +78494,14 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/construction/storage_wing) -"wEI" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"wEB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/railing, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/obj/structure/window/spawner/directional/east, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/wood, +/area/station/service/library) "wEJ" = ( /obj/machinery/computer/security{ dir = 8 @@ -77936,12 +78519,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/wood/parquet, /area/station/medical/break_room) -"wEX" = ( -/obj/structure/table, -/obj/effect/spawner/random/entertainment/musical_instrument, -/obj/structure/sign/poster/contraband/hacking_guide/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "wFf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -77973,10 +78550,18 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/command) +"wFl" = ( +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/upper) "wFt" = ( /obj/structure/showcase/mecha/marauder, /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) +"wFw" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/sign/poster/contraband/eat/directional/west, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "wFC" = ( /obj/structure/chair/sofa/corp/right{ desc = "Looks like someone threw it out. Covered in donut crumbs."; @@ -77993,12 +78578,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/rd) -"wFK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "wFP" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -78034,20 +78613,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"wGl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/lobby) -"wGr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "wGD" = ( /obj/effect/turf_decal/trimline/purple/arrow_cw{ dir = 8 @@ -78070,6 +78635,15 @@ /obj/structure/ladder, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"wGU" = ( +/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, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) "wGV" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 @@ -78083,31 +78657,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/construction/mining/aux_base) -"wGZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/fore) -"wHa" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"wHh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"wHn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) "wHp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78170,6 +78719,10 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) +"wIl" = ( +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "wIw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -78178,16 +78731,15 @@ }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"wIB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "wIK" = ( /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/wood, /area/station/commons/dorms) +"wIS" = ( +/obj/structure/cable, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "wIW" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -78215,6 +78767,12 @@ /obj/machinery/holopad, /turf/open/floor/wood, /area/station/service/chapel) +"wJF" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/directional/south, +/obj/structure/tank_dispenser, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "wJI" = ( /obj/effect/turf_decal/siding/dark, /obj/effect/turf_decal/siding/dark{ @@ -78226,6 +78784,15 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"wJJ" = ( +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) +"wJU" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/engine, +/area/station/engineering/atmos/hfr_room) "wKb" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) @@ -78256,6 +78823,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/range) +"wKH" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/station/commons/lounge) "wKI" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -78296,6 +78872,13 @@ /obj/structure/table/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"wLg" = ( +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) "wLv" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -78327,20 +78910,6 @@ /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"wLN" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"wLO" = ( -/turf/open/floor/carpet, -/area/station/service/bar) -"wLR" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos/upper) "wLU" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -78403,6 +78972,23 @@ /obj/machinery/vending/snack/blue, /turf/open/floor/iron, /area/station/construction/storage_wing) +"wMP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/library) +"wMQ" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/skill_station, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/station/service/library) "wMS" = ( /obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/east, @@ -78419,15 +79005,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/lesser) -"wNb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "wNi" = ( /obj/effect/spawner/random/vending/colavend, /obj/structure/disposalpipe/segment{ @@ -78483,15 +79060,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured_half, /area/station/science/ordnance) -"wNP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "wOb" = ( /obj/structure/table/wood/fancy, /obj/effect/spawner/random/decoration/statue{ @@ -78500,15 +79068,6 @@ }, /turf/open/floor/wood/large, /area/station/service/library/private) -"wOo" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "wOq" = ( /obj/machinery/door/airlock{ id_tag = "restroom_1"; @@ -78536,6 +79095,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/aft) +"wOG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "wOK" = ( /obj/machinery/light/small/directional/east, /obj/machinery/airalarm/directional/east, @@ -78581,30 +79145,6 @@ /obj/effect/decal/cleanable/blood/oil/slippery, /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/port) -"wPu" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"wPx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/station/hallway/primary/central) -"wPG" = ( -/obj/structure/window/spawner/directional/south, -/turf/open/floor/carpet, -/area/station/service/theater) "wPI" = ( /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/textured_large, @@ -78616,6 +79156,15 @@ "wPV" = ( /turf/closed/wall, /area/station/security/detectives_office/private_investigators_office) +"wPW" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/full, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/door/airlock/hydroponics{ + name = "Hydroponics" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/hydroponics) "wPX" = ( /obj/structure/cable, /turf/closed/wall, @@ -78702,11 +79251,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) -"wQS" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/wood/large, -/area/station/service/library) "wRa" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 8 @@ -78763,16 +79307,24 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"wRF" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) "wRG" = ( /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/grimy, /area/station/security/interrogation) +"wRN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "wSa" = ( /obj/effect/turf_decal/siding/dark{ dir = 1 @@ -78820,12 +79372,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/storage) -"wTj" = ( -/obj/structure/lattice/catwalk, -/obj/structure/table/reinforced, -/obj/item/radio/intercom/directional/south, -/turf/open/openspace, -/area/station/security/checkpoint/customs) "wTk" = ( /turf/open/floor/plating, /area/station/maintenance/port) @@ -78885,10 +79431,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"wUb" = ( -/obj/structure/sign/departments/psychology/directional/north, -/turf/open/floor/wood, -/area/station/hallway/primary/central) "wUk" = ( /obj/structure/ladder, /turf/open/floor/engine/hull, @@ -78962,23 +79504,17 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"wWe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/upper) +"wVX" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/engineering/break_room) "wWm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/commons/storage/tools) -"wWt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "wWx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -79004,7 +79540,8 @@ }, /turf/open/floor/carpet, /area/station/service/lawoffice) -"wWD" = ( +"wWO" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input, /turf/open/floor/engine/n2, /area/station/engineering/atmos/upper) "wWS" = ( @@ -79127,6 +79664,16 @@ /obj/effect/landmark/start/captain, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"wXW" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "wYk" = ( /obj/effect/turf_decal/siding/dark/end{ dir = 8 @@ -79139,6 +79686,29 @@ dir = 8 }, /area/station/tcommsat/server) +"wYu" = ( +/obj/item/canvas/twentythree_nineteen, +/obj/item/canvas/nineteen_nineteen, +/obj/item/canvas/nineteen_nineteen, +/obj/item/canvas/nineteen_nineteen, +/obj/item/canvas/twentythree_twentythree{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/structure/closet/crate, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) +"wYv" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/photocopier/prebuilt, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs) "wYw" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -79147,6 +79717,15 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/entry) +"wYB" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight{ + pixel_y = 8 + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/carpet/stellar, +/area/station/maintenance/hallway/abandoned_recreation) "wYC" = ( /obj/structure/lattice/catwalk, /obj/effect/spawner/random/maintenance/three, @@ -79178,35 +79757,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"wYP" = ( -/obj/structure/closet/crate/freezer, -/obj/item/food/grown/tomato, -/obj/item/food/grown/tomato, -/obj/item/food/grown/tomato, -/obj/item/food/grown/tomato, -/obj/item/food/grown/tomato, -/obj/item/radio/intercom{ - broadcasting = 1; - canhear_range = 6; - frequency = 1421; - name = "Kitchen's Words"; - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "wYS" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"wYU" = ( -/obj/item/vending_refill/games{ - pixel_x = 6; - pixel_y = -4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "wZb" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -79258,14 +79814,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"wZN" = ( -/obj/machinery/door/airlock/wood{ - name = "Psychology Storage" +"wZB" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/lobby) +"wZE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/medical/psychology, -/turf/open/floor/plating, -/area/station/medical/psychology) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/blood/oil/slippery, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "wZW" = ( /obj/machinery/recharge_station, /obj/effect/decal/cleanable/dirt, @@ -79291,11 +79853,6 @@ /obj/structure/stairs/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"xao" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "xar" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark/textured_large, @@ -79352,6 +79909,11 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/carpet/stellar, /area/station/maintenance/hallway/abandoned_recreation) +"xaT" = ( +/obj/structure/lattice, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "xaU" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/glass/reinforced, @@ -79364,13 +79926,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/security/prison/mess) -"xbi" = ( -/obj/machinery/air_sensor/engine_chamber, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "xbm" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -79390,9 +79945,21 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xbI" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Oxygen Supply"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/upper) "xbL" = ( /turf/open/floor/iron/dark, /area/station/service/chapel) +"xbP" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/openspace, +/area/station/engineering/atmos/project) "xbR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -79431,6 +79998,22 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) +"xcE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/contraband/grey_tide/directional/west, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/booze{ + spawn_random_offset = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"xcR" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/computer/atmos_control/nitrogen_tank, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xcT" = ( /obj/machinery/status_display/ai/directional/east, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -79525,10 +80108,11 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"xdV" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) +"xdZ" = ( +/obj/structure/bed, +/obj/item/bedsheet/ce, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "xeb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -79551,10 +80135,6 @@ /obj/machinery/light/directional/west, /turf/open/openspace, /area/station/medical/storage) -"xey" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "xeM" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -79597,15 +80177,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/warden) -"xeU" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "xeW" = ( /obj/structure/chair/office, /turf/open/floor/iron/dark/smooth_large, @@ -79623,6 +80194,13 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/large, /area/station/maintenance/starboard/lesser) +"xfj" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/openspace, +/area/station/engineering/lobby) "xfn" = ( /obj/effect/decal/cleanable/glitter{ color = "ff8080" @@ -79657,15 +80235,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xfL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Bay Shutters"; - id = "qm_cargobay"; - dir = 8 +"xfC" = ( +/obj/structure/railing/corner, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"xfU" = ( +/obj/machinery/light/warm/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 5 }, -/turf/open/floor/plating, -/area/station/security/checkpoint/supply) +/turf/open/floor/iron/dark/smooth_large, +/area/station/commons/lounge) "xfV" = ( /obj/structure/railing/corner{ dir = 8 @@ -79705,31 +80285,17 @@ }, /turf/open/floor/iron/freezer, /area/station/ai_monitored/turret_protected/aisat/foyer) -"xgN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "xgV" = ( /obj/effect/turf_decal/tile/blue/full, /obj/effect/turf_decal/tile/dark/full, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) -"xhl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"xgZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/large, -/area/station/hallway/primary/central) +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "xhn" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -79742,35 +80308,24 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/carpet, /area/station/maintenance/starboard/lesser) -"xhx" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xhF" = ( /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark/textured_corner{ dir = 4 }, /area/station/science/ordnance/storage) -"xhO" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" +"xhK" = ( +/obj/effect/mapping_helpers/trapdoor_placer, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/plating, +/area/station/service/theater_dressing) +"xhP" = ( +/obj/structure/window/reinforced/tinted/frosted/spawner/directional/east, +/obj/structure/chair/sofa/middle/brown{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hydropony_shutters"; - name = "Hydroponics Shutters" - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/hydroponics) +/turf/open/floor/glass/reinforced, +/area/station/service/library) "xhX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -79796,16 +80351,29 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"xiN" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Testing Room" +"xiA" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/gambling{ + pixel_x = 6; + pixel_y = 3 }, +/obj/effect/spawner/random/entertainment/deck{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/machinery/light/warm/dim/directional/south, +/turf/open/floor/carpet/black, +/area/station/commons/lounge) +"xiJ" = ( +/obj/machinery/wall_healer/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor/heavy, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "xiQ" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, @@ -79834,11 +80402,6 @@ /obj/effect/landmark/event_spawn, /turf/open/openspace, /area/station/science/explab) -"xjh" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/closet/firecloset, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xjq" = ( /obj/structure/table/reinforced, /obj/item/rcl/pre_loaded{ @@ -79859,24 +80422,19 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"xjt" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight, -/obj/item/pipe_dispenser, -/obj/item/analyzer, -/obj/item/storage/toolbox/mechanical, -/obj/item/pipe_dispenser, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/item/pipe_dispenser{ - pixel_y = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xjz" = ( /turf/open/floor/plating/elevatorshaft, /area/station/science/robotics) +"xjG" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "xjK" = ( /obj/structure/lattice/catwalk, /obj/structure/filingcabinet, @@ -79897,19 +80455,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/chapel) -"xjT" = ( -/obj/structure/disposalpipe/junction/flip, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"xjV" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/effect/spawner/random/food_or_drink/booze{ - spawn_random_offset = 1 - }, -/obj/item/toy/crayon/spraycan, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xka" = ( /obj/structure/table, /obj/item/cultivator{ @@ -79936,6 +80481,20 @@ /obj/structure/chair, /turf/open/floor/engine/hull, /area/space/nearstation) +"xkG" = ( +/obj/effect/turf_decal/tile/dark_blue, +/obj/structure/cable, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"xkL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/chair/office, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "xkN" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -79970,6 +80529,34 @@ }, /turf/open/openspace, /area/station/hallway/primary/central) +"xls" = ( +/obj/structure/table, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 3; + pixel_y = 12 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = -2; + pixel_y = 12 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = -7; + pixel_y = 12 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -9; + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/orange{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/janitor) "xlw" = ( /obj/structure/bed/dogbed{ name = "spider bed" @@ -79996,6 +80583,15 @@ /obj/structure/broken_flooring/corner/always_floorplane/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xmd" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "SM_shutters"; + name = "Supermatter Radiation Shutters" + }, +/obj/machinery/atmospherics/components/binary/pump/off/cyan/visible, +/obj/effect/turf_decal/trimline/blue, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "xme" = ( /obj/structure/flora/bush/large/style_2, /obj/structure/flora/rock/pile/style_2, @@ -80022,6 +80618,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/brig) +"xmq" = ( +/obj/effect/turf_decal/trimline/yellow/warning, +/turf/open/floor/engine/hull/reinforced, +/area/space/nearstation) "xms" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -80087,6 +80687,11 @@ }, /turf/open/openspace, /area/station/construction/storage_wing) +"xnC" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/light/directional/north, +/turf/open/openspace, +/area/station/service/kitchen) "xnF" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -80123,17 +80728,12 @@ dir = 4 }, /area/station/service/chapel) -"xoe" = ( -/obj/structure/cable/multilayer/multiz, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/station/engineering/atmos/upper) -"xol" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light_switch/directional/east, +"xoh" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/shieldgen, +/obj/effect/turf_decal/bot_white, /turf/open/floor/engine, -/area/station/service/hydroponics) +/area/station/engineering/break_room) "xor" = ( /obj/structure/chair{ dir = 1 @@ -80141,6 +80741,13 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/security/courtroom) +"xos" = ( +/obj/structure/window/reinforced/tinted/frosted/spawner/directional/west, +/obj/structure/chair/sofa/left/brown{ + dir = 4 + }, +/turf/open/floor/glass/reinforced, +/area/station/service/library) "xot" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/table/glass, @@ -80156,6 +80763,12 @@ /obj/effect/turf_decal/trimline/purple/filled/mid_joiner, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) +"xoH" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light_switch/directional/north, +/turf/open/openspace, +/area/station/engineering/break_room) "xoT" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating, @@ -80192,6 +80805,19 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"xpr" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "xpv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -80202,20 +80828,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/engine/hull/air, /area/station/hallway/secondary/entry) -"xpV" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/holopad, -/turf/open/floor/carpet, -/area/station/service/bar) -"xqa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"xpF" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "xqd" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -80263,16 +80881,16 @@ /obj/structure/stairs/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xqz" = ( -/obj/machinery/shower/directional/west, -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 +"xqE" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 8 - }, -/area/station/engineering/main) +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xqG" = ( /obj/structure/sign/poster/contraband/communist_state/directional/south, /obj/item/ammo_casing/spent{ @@ -80355,15 +80973,6 @@ dir = 8 }, /area/station/hallway/secondary/exit/departure_lounge) -"xrt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "xrx" = ( /obj/structure/lattice/catwalk, /turf/open/space/openspace, @@ -80402,6 +81011,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties, /area/station/maintenance/hallway/abandoned_recreation) +"xrJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/upper) "xrM" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -80434,6 +81050,35 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/hallway/secondary/entry) +"xsk" = ( +/obj/structure/table, +/obj/item/kitchen/rollingpin{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 7; + pixel_y = 13 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 4; + pixel_y = 7 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light/directional/south, +/obj/machinery/button/door/directional/south{ + id = "kitchen_service"; + name = "Kitchen Window Shutters"; + pixel_x = 6; + req_access = list("kitchen") + }, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "xsp" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 4 @@ -80508,6 +81153,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"xtt" = ( +/obj/machinery/photocopier/prebuilt, +/obj/structure/sign/clock/directional/east, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "xtC" = ( /obj/structure/chair{ dir = 4 @@ -80517,6 +81167,10 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"xtE" = ( +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/service/library) "xtG" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -80529,16 +81183,17 @@ }, /turf/open/floor/iron/dark/textured, /area/station/engineering/supermatter/room) -"xtX" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Bar" +"xus" = ( +/obj/structure/table/wood, +/obj/item/hand_labeler{ + pixel_y = -12 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/tile/dark_green{ dir = 4 }, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/station/commons/lounge) +/turf/open/floor/iron/checker, +/area/station/service/bar/backroom) "xut" = ( /turf/closed/wall, /area/station/service/abandoned_gambling_den) @@ -80624,13 +81279,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"xvy" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "xvA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80664,6 +81312,17 @@ /obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/engine/hull, /area/space/nearstation) +"xwq" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/mid_joiner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/large, +/area/station/hallway/primary/central) "xwu" = ( /obj/structure/cable/multilayer/multiz, /obj/structure/lattice/catwalk, @@ -80679,6 +81338,15 @@ }, /turf/open/floor/iron/smooth, /area/station/science/robotics) +"xwC" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "xwF" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/glass/reinforced, @@ -80696,6 +81364,13 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/textured_large, /area/station/medical/virology) +"xwR" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/carpet/black, +/area/station/medical/psychology) "xwT" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/start/hangover, @@ -80723,13 +81398,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"xxZ" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/library, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/service/library/printer) "xya" = ( /obj/structure/railing/corner/end{ dir = 8 @@ -80740,16 +81408,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"xyj" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/upper) "xyz" = ( /turf/open/openspace, /area/station/medical/virology) @@ -80811,13 +81469,6 @@ dir = 8 }, /area/station/science/ordnance/storage) -"xzA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/engineering/atmos/project) "xzG" = ( /obj/effect/decal/cleanable/blood/oil, /obj/effect/turf_decal/arrows{ @@ -80831,16 +81482,6 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xAh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xAj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80861,26 +81502,12 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"xAt" = ( -/obj/machinery/wall_healer/directional/south, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "xAu" = ( /turf/closed/wall, /area/station/medical/chemistry) -"xAB" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/airalarm/engine_access, -/obj/effect/mapping_helpers/airalarm/link{ - chamber_id = "engine" - }, -/obj/effect/mapping_helpers/airalarm/tlv_no_checks, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"xAI" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "xAN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -80937,6 +81564,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"xBt" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "xBE" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -80956,6 +81588,12 @@ /obj/structure/cable/multilayer/multiz, /turf/open/openspace, /area/station/engineering/atmos/project) +"xBR" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xBZ" = ( /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -81020,6 +81658,19 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"xCJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/engineering{ + name = "Engine Room" + }, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "xCK" = ( /turf/open/openspace, /area/station/security/interrogation) @@ -81077,9 +81728,12 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xDm" = ( -/turf/open/floor/plating, -/area/station/engineering/storage_shared) +"xDp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xDs" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/blue/filled/mid_joiner, @@ -81202,6 +81856,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/cmo) +"xFd" = ( +/obj/structure/chair/office, +/turf/open/floor/carpet/stellar, +/area/station/service/library) "xFj" = ( /obj/effect/turf_decal/tile/blue/full, /obj/effect/turf_decal/tile/dark/full, @@ -81246,16 +81904,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"xFB" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/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/engineering/storage_shared) "xFH" = ( /obj/machinery/light/directional/east, /obj/structure/cable, @@ -81346,9 +81994,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"xHc" = ( -/turf/open/floor/carpet, -/area/station/commons/lounge) "xHi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -81363,10 +82008,6 @@ /obj/item/storage/medkit/brute, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"xHK" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood, -/area/station/service/library) "xHP" = ( /obj/structure/chair{ dir = 1; @@ -81410,28 +82051,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"xIr" = ( -/obj/item/toy/plush/moth{ - name = "Spanner 2, her sibling"; - pixel_y = 10 - }, -/obj/item/toy/plush/moth{ - name = "Moff #5"; - pixel_x = -6; - pixel_y = -5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/toy/plush/moth{ - name = "Lizzy Hates-The-Lizards"; - pixel_x = 5; - pixel_y = 1 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "xIJ" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -81472,13 +82091,6 @@ /obj/structure/sign/poster/contraband/rebels_unite/directional/north, /turf/open/openspace, /area/station/maintenance/starboard/aft) -"xJz" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/engineering/lobby) "xJH" = ( /obj/machinery/status_display/ai/directional/east, /obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner{ @@ -81508,19 +82120,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"xJZ" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/siding/dark{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/departments/aisat/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "xKb" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81558,6 +82157,10 @@ }, /turf/open/floor/glass, /area/station/science/zoo) +"xKx" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/turf/open/floor/iron, +/area/station/engineering/lobby) "xKz" = ( /obj/structure/rack, /obj/structure/cable, @@ -81593,6 +82196,26 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"xLp" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = 9; + pixel_y = 1 + }, +/obj/item/compact_remote{ + pixel_x = -7; + pixel_y = 8 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/station/service/library) "xLy" = ( /obj/structure/cable, /obj/effect/landmark/secequipment, @@ -81609,6 +82232,13 @@ /obj/structure/sign/poster/abductor/ayy_cops, /turf/closed/wall, /area/station/maintenance/port) +"xLF" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/hallway) "xLQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -81630,16 +82260,11 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plating, /area/station/security/execution/education) -"xMh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/openspace, -/area/station/engineering/atmos/project) +"xLZ" = ( +/obj/machinery/vending/cigarette, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) "xMq" = ( /obj/effect/decal/cleanable/dirt, /obj/item/food/pizzaslice/moldy/bacteria, @@ -81676,11 +82301,13 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/virology) -"xML" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"xMS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xMV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81789,30 +82416,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_white, /area/station/ai_monitored/turret_protected/aisat_interior) +"xOc" = ( +/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/storage/toolbox/artistic{ + pixel_x = 1; + pixel_y = 10 + }, +/turf/open/floor/wood, +/area/station/service/library) "xOh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron, /area/station/maintenance/starboard/central) -"xOk" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) -"xOl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/terminal{ - dir = 1; - cable_layer = 1 - }, -/obj/structure/cable/multilayer/layer1, -/turf/open/floor/catwalk_floor, -/area/station/engineering/engine_smes) "xOm" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -81825,10 +82445,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"xOn" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "xOt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/red/fourcorners, @@ -81882,27 +82498,30 @@ }, /turf/open/floor/plating, /area/station/commons/toilet/restrooms) -"xPU" = ( -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/booze{ - spawn_random_offset = 1 - }, -/obj/structure/sign/poster/contraband/space_cube/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xQf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"xQB" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 1 +"xQv" = ( +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"xQy" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/landmark/start/librarian, +/turf/open/floor/carpet/black, +/area/station/service/library/private) +"xQB" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - co2 Cell"; + name = "atmospherics camera" + }, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/upper) "xQC" = ( /obj/machinery/camera/autoname/directional/north, /obj/structure/closet/crate/trashcart/filled, @@ -81939,6 +82558,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) +"xQU" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/modular_computer/preset/cargochat/engineering{ + dir = 1 + }, +/obj/machinery/requests_console/directional/west{ + name = "Engineering Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/wood, +/area/station/engineering/lobby) +"xQV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/photocopier/prebuilt, +/turf/open/floor/wood, +/area/station/engineering/lobby) "xQW" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -81947,6 +82585,11 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/large, /area/station/hallway/primary/central) +"xRg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "xRj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81954,6 +82597,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) +"xRk" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/structure/filingcabinet/chestdrawer{ + pixel_y = 2 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/customs) "xRn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/reinforced, @@ -82005,11 +82657,6 @@ }, /turf/open/openspace, /area/station/maintenance/port/aft) -"xRU" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/rnd/production/techfab/department/service, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "xRZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/greenglow, @@ -82025,14 +82672,6 @@ dir = 1 }, /area/station/medical/surgery) -"xSi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/navigate_destination/minisat_access_tcomms, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "xSj" = ( /obj/structure/railing, /turf/open/floor/iron/stairs/medium{ @@ -82084,21 +82723,19 @@ /obj/structure/cable, /turf/open/openspace, /area/station/hallway/primary/port) -"xSZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ - dir = 4 - }, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) -"xTc" = ( -/obj/machinery/smartfridge/food, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/large, -/area/station/service/kitchen) "xTd" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"xTf" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Cold Loop to Gas" + }, +/obj/effect/turf_decal/trimline/green, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xTn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/full, @@ -82106,6 +82743,17 @@ /obj/effect/spawner/random/trash/crushed_can, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical) +"xTr" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/item/storage/toolbox/fishing, +/obj/item/storage/box/lights/mixed{ + pixel_x = -8; + pixel_y = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/water, +/area/station/maintenance/port/fore) "xTt" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/west{ @@ -82124,19 +82772,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"xTD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/north{ - desc = "It years for just one more sell."; - name = "Last of Its Kind" - }, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "xTT" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/disposal/bin, @@ -82153,6 +82788,15 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/engine/hull, /area/space/nearstation) +"xTY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "xUa" = ( /obj/effect/mapping_helpers/iannewyear, /turf/open/floor/carpet, @@ -82169,19 +82813,6 @@ /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/service/lawoffice) -"xUo" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/multiz/yellow/visible{ - name = "O2 Multideck Adapter"; - dir = 8 - }, -/obj/machinery/meter{ - name = "O2 meter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "xUt" = ( /obj/effect/turf_decal/stripes/asteroid/corner{ dir = 1 @@ -82209,15 +82840,13 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark/textured, /area/station/science/xenobiology) -"xUA" = ( -/obj/effect/turf_decal/trimline/dark, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Distro to Waste" +"xUB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/iron/freezer, -/area/station/engineering/atmos/pumproom) +/obj/structure/window/spawner/directional/north, +/turf/open/floor/wood, +/area/station/service/library) "xUD" = ( /obj/effect/turf_decal/caution{ dir = 4 @@ -82274,19 +82903,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/station/service/chapel) -"xVz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8; - pixel_x = -2 - }, -/obj/effect/turf_decal/caution/stand_clear{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/break_room) "xVA" = ( /obj/machinery/door/airlock/external{ name = "Auxiliary Base Airlock" @@ -82323,6 +82939,13 @@ /obj/structure/sign/poster/official/obey/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/port) +"xVF" = ( +/obj/structure/lattice/catwalk, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/openspace, +/area/station/engineering/break_room) "xVL" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -82338,16 +82961,6 @@ /obj/structure/railing, /turf/open/openspace, /area/station/maintenance/starboard/fore) -"xWg" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"xWu" = ( -/obj/structure/broken_flooring/singular/directional/east, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/plating, -/area/station/engineering/storage_shared) "xWw" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -82413,6 +83026,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/commons/storage/art) +"xXq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/turf/open/floor/wood/large, +/area/station/service/bar) "xXr" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/cobweb, @@ -82422,11 +83043,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"xXu" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/restaurant_portal/bar, -/turf/open/floor/wood, -/area/station/commons/lounge) "xXv" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/lattice, @@ -82508,6 +83124,10 @@ /obj/structure/sign/poster/contraband/shamblers_juice/directional/east, /turf/open/floor/eighties, /area/station/maintenance/starboard/fore) +"xYb" = ( +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "xYf" = ( /obj/structure/table, /obj/item/reagent_containers/cup/soda_cans/cola{ @@ -82525,6 +83145,10 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/security/prison) +"xYi" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "xYk" = ( /obj/machinery/computer/monitor{ dir = 1 @@ -82535,11 +83159,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/command/bridge) -"xYm" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/thinplating/corner, -/turf/open/floor/wood/large, -/area/station/service/library) "xYn" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -82553,19 +83172,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"xYv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/engineering{ - name = "Engine Room" - }, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) "xYy" = ( /obj/machinery/nuclearbomb/selfdestruct, /obj/machinery/light/directional/east, @@ -82573,6 +83179,13 @@ luminosity = 2 }, /area/station/ai_monitored/command/nuke_storage) +"xYD" = ( +/obj/item/key/janitor, +/obj/vehicle/ridden/janicart, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "xYL" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, @@ -82585,6 +83198,15 @@ /obj/effect/turf_decal/tile/purple/half, /turf/open/floor/iron/white/textured_half, /area/station/science/robotics) +"xYT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/central) +"xZd" = ( +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/upper) "xZn" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, @@ -82611,15 +83233,6 @@ }, /turf/open/floor/plating/airless, /area/station/maintenance/starboard/aft) -"yaf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "yai" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -82630,12 +83243,6 @@ /obj/effect/mapping_helpers/mail_sorting/security/detectives_office, /turf/open/floor/iron/large, /area/station/hallway/primary/central) -"yam" = ( -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/upper) "yav" = ( /obj/structure/lattice/catwalk, /turf/open/floor/engine/hull/air, @@ -82657,6 +83264,28 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/wood, /area/station/maintenance/hallway/abandoned_recreation) +"yaJ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) +"yaK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/large, +/area/station/service/library) "yaM" = ( /obj/machinery/vending/wardrobe/gene_wardrobe, /obj/structure/extinguisher_cabinet/directional/north, @@ -82815,15 +83444,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"ycy" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "ycC" = ( /obj/structure/table, /obj/item/radio/intercom/directional/south{ @@ -82857,6 +83477,10 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, /area/station/hallway/primary/central) +"ydi" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/hallway) "ydo" = ( /obj/structure/railing/corner/end{ dir = 8 @@ -82868,14 +83492,16 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/port) -"ydD" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +"ydy" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 6 }, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) +/turf/open/floor/engine/hull/reinforced, +/area/space/nearstation) +"ydH" = ( +/obj/effect/landmark/firealarm_sanity, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/fore) "ydI" = ( /obj/structure/fake_stairs/directional/south, /obj/machinery/light/directional/west, @@ -82970,6 +83596,15 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/office) +"yeH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/item/clothing/glasses/welding{ + pixel_x = 6; + pixel_y = 7 + }, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "yeJ" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -82996,16 +83631,6 @@ /obj/structure/lattice/catwalk, /turf/open/water, /area/station/maintenance/starboard/fore) -"yfg" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/engineering/lobby) "yfj" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -83030,10 +83655,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/cmo) -"yfH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos/upper) "yfK" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -83050,23 +83671,17 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/security/courtroom) -"yfP" = ( -/obj/structure/transport/linear/public, -/obj/structure/table, -/obj/item/plate{ - pixel_x = 6 - }, -/obj/item/plate{ - pixel_x = -13; - pixel_y = 8 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/commons/lounge) "yge" = ( /obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"ygl" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/glass, +/area/station/service/kitchen) "ygn" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/yellow/opposingcorners{ @@ -83119,13 +83734,18 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/iron/checker, /area/station/maintenance/hallway/abandoned_recreation) -"yhn" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/openspace, -/area/station/engineering/atmos/project) +"yhf" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"yhq" = ( +/obj/effect/turf_decal/caution, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "yhs" = ( /obj/effect/turf_decal/tile/red/fourcorners, /obj/structure/table, @@ -83144,13 +83764,6 @@ /obj/structure/musician/piano/unanchored, /turf/open/floor/plating, /area/station/maintenance/department/science/central) -"yhD" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/filingcabinet/chestdrawer, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/wood/large, -/area/station/medical/psychology) "yhJ" = ( /obj/structure/grille, /turf/open/space/basic, @@ -83160,18 +83773,19 @@ dir = 1 }, /area/station/service/library/private) -"yhT" = ( -/obj/structure/railing{ - dir = 4 +"yhN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) +"yhO" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Testing Room" }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/service/kitchen) +/obj/machinery/door/firedoor/heavy, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "yhW" = ( /obj/structure/table/reinforced, /obj/item/screwdriver{ @@ -83192,24 +83806,41 @@ /obj/structure/chair, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) -"yix" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/light_switch/directional/east, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) +"yio" = ( +/obj/effect/turf_decal/siding/white, +/obj/item/kirbyplants/organic/plant21{ + pixel_x = -7; + pixel_y = 15 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/primary/central) +"yis" = ( +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/folder/white{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/pen/fountain{ + pixel_x = 14 + }, +/obj/structure/table, +/obj/machinery/button/curtain{ + pixel_x = -6; + name = "Privacy Curtains"; + id = "psychpriv"; + pixel_y = 30 + }, +/turf/open/floor/wood/large, +/area/station/medical/psychology) "yiy" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"yiz" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/reagent_dispensers/fueltank/large, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "yiL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/showcase/machinery/cloning_pod{ @@ -83226,6 +83857,14 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"yiY" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/item/wrench{ + pixel_x = -7; + pixel_y = -3 + }, +/turf/open/floor/plating, +/area/station/engineering/storage_shared) "yje" = ( /obj/machinery/door/airlock/grunge{ name = "Cell 3" @@ -83235,6 +83874,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured_large, /area/station/security/prison/safe) +"yjo" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "yjD" = ( /obj/machinery/atmospherics/pipe/multiz/general/visible, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -83345,10 +83990,11 @@ /turf/open/floor/iron/dark/textured_large, /area/station/engineering/gravity_generator) "ylt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable/layer1, -/turf/open/floor/catwalk_floor, -/area/station/engineering/engine_smes) +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central) "ylu" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/contraband/prison, @@ -83366,29 +84012,16 @@ "yly" = ( /turf/open/floor/iron/dark/textured_large, /area/station/medical/medbay/central) -"ylJ" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/cable, -/obj/machinery/computer/turbine_computer, -/obj/effect/mapping_helpers/airalarm/all_access, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) -"ylN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/lobby) "ylO" = ( /turf/open/floor/glass, /area/station/commons/fitness/recreation) +"yma" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) (1,1,1) = {" dcE @@ -105341,7 +105974,7 @@ gPW lry tDy bNt -ooY +hSZ ssg siX ssg @@ -105593,12 +106226,12 @@ ipm jBd ldZ tkY -uJX +haK gPW oNA lXf bNt -ssg +joH ssg ssg nDt @@ -105857,7 +106490,7 @@ eDl bNt siX ssg -ssg +ooY nDt bNt tDy @@ -106112,7 +106745,7 @@ gPW ong ong bNt -bNt +sDX bda bda bNt @@ -106879,15 +107512,15 @@ jBd jJQ pMT pMT -bCi -sxd -lBh +uxe +xls +lKB pMT tAM mUR -vhl -imL -skR +jGa +xus +cIR mUR mUR tDy @@ -107135,17 +107768,17 @@ jcn mHN jJQ pMT -aIO -gpv -mNn -gqa +kve +csU +ozC +hgS pMT tAM mUR -swH -ljt -fqL -mXV +uoP +kaG +rHK +avd mUR ykG tTO @@ -107392,17 +108025,17 @@ gtk bba jJQ pMT -uSV -wbc -sIf -hHF +bBe +tbm +bgY +tug pMT tAM mUR -cvY -hTJ -mBW -bKL +kAY +obX +gLe +qxz mUR tTO xER @@ -107645,19 +108278,19 @@ oLN vwl ilE chu -vjP -sQY +wNu +gnF aHS pMT pMT pMT -pTu +bBE pMT pMT -rwU +qFP mUR mUR -qYU +aGL mUR mUR mUR @@ -107902,26 +108535,26 @@ jBd kDQ ilE jBd -vma jBd -lOd +vma +pSS gPW -pBH -dXd -pmS -lMf -lMf -aep +xYD hyZ -gse -jez -gse -vaO -own +jxZ +iiN +urL +gDK +fWY +uXG +orh +qfo +exC +fWY xHv kfO xya -oZO +mWP ykG cJz bNt @@ -108159,28 +108792,28 @@ lLI nHy vGC jOh -vno jOh +cqm lYe gPW -rFm -tnM -ars -nDm -nDm -voY -dWX -jez -pUM -gse -lAF -own +bHd +mOv +dcs +bUk +nAX +mNK +bOy +fxO +esV +fwE +sqf +fWY vGi iLe tAM ssg nQd -iLe +vEI bNt iCe qWk @@ -108420,24 +109053,24 @@ uCk gPW gPW gPW -xqa -gse +gLk +mXT own +own +own +lGc fWY +vUU +uoW +oYa +jUh fWY -uzI -fWY -fWY -fWY -lSN -bNt -bNt bNt czs wAx sRY jhu -lxn +eyS bNt qrQ tOw @@ -108675,20 +109308,20 @@ dho jxg dol gPW -xRU -xOn -xAj -xAt +kjK +gse +gse +xiJ own -wik -uxl -ofE -hjL -fPh +css +sMY +xXq +hzP +wjf +uRj +jrX +fIs fWY -uGf -tWQ -bNt uXZ aDO bJt @@ -108929,23 +109562,23 @@ jBd lOd nKj jIX -heb +vSa vYH cFL xAj rPC -xAj -gse +kRS +isi own -bmH -wLO -ofE -xpV -jpy +jUg +lyQ +qHo +lZc +wiP +orh +qKt +riL fWY -fWY -tTO -bNt bNt aHO bNt @@ -109191,22 +109824,22 @@ vZQ gPW drC peX -xAj -sWI +gse +dLp own -bdu -dgB -moE -tmV -tAJ -qak +tbV +eWv +uTi +qKt +qKt +qKt +psc +fjr fWY -wnu -tDy bNt bNt bNt -xjV +bUQ ssg ubo bNt @@ -109443,28 +110076,28 @@ jOh lYe gPW gPW -sXI +qYu gPW gPW atD dso -xAj -pXb +egB +djM own -apf -umA -huW -lqO -vsf -fXf -fWY +mCo +eWv +qHo +wkd +oiF +ihy +qHo +vIt +mSd bNt -bUQ -hrh -tpj -tTO +xcE +fdH tDy -gfc +eIS bNt bNt fhO @@ -109695,33 +110328,33 @@ gPW gPW gPW gPW -iIJ +nha gPW gPW gPW lbw oNa -jQe +nux gPW own own -rxI -gse -own -aFo -fWV -mCw -dXP -geO -fVC +feh +vvU +sSn +edX +fuv +ghC +nXH +nHI +mmn +kOh +vXF +hoQ bNt -bIe -tDy -bNt -gnp +sXH nuw ssg -teC +eze bNt xrM bOC @@ -109961,22 +110594,22 @@ oNa oNa xaQ own -gmA -xAj -kRS -wjU -wCJ -ozL -bbY -sbh -fGj -xXu -bNt -iUf -tDy -bNt -xPU -wEX +hRX +uTq +own +own +lup +min +riq +fLi +lrG +qVx +qVx +qVx +oXI +yjo +cvn +kUm gBE icO bNt @@ -110217,20 +110850,20 @@ hxC oNa oNa cGK -aXe -aXe -rjy -aXe -aXe -wYP -wny -mKU -sXZ -uKp -tRc -bNt -mJI -tDy +hRX +lHs +nVd +iLr +kOZ +phC +lRB +jRK +jRK +aDj +mwl +vgG +ucu +lmJ iGB iGB iGB @@ -110463,31 +111096,31 @@ lrp gPW pOt rqR -xxZ +pmu lFK lFK bRv bxT wIa gPW -hxC +wYB oNa oNa cGK -aXe -hgu -abF -hwW -mTx -siP -jMw -rkD -uki -pOM -nUE -bNt -bNt -wYU +hRX +rOf +kOf +drZ +bHA +ppw +wKH +wrB +sNA +lLg +mJJ +oXm +mEh +rFl iGB pxv bRa @@ -110728,25 +111361,25 @@ kpS uME gPW gPW -oNa +bts oNa cGK -aXe -hnt -oCX -ibb -wPG -siP -jMw -yfP -jBU -pOM -pWr -nyB -bNt -bUQ +hRX +reh +lvs +drZ +aQW +gid +wKH +hmt +cou +bWf +mJJ +dIh +mEh +ctH iGB -hSA +bJO nwo ocj oiM @@ -110985,25 +111618,25 @@ gtO gtO ycf gPW -egU +rOX gPW gPW -aXe -neF -lAW -pbk -wPG -siP -jgL -dEs -wji -pyk -tOj -mfA -bNt -tTO +hRX +alE +aeO +oaD +jLV +jQb +wKH +twR +pkl +kul +hhx +dUK +mEh +lWy iGB -sAn +cUM wWm pHf pHf @@ -111241,24 +111874,24 @@ cBj uOW bxT kMq -tpU -nny -kjF -nLl -aXe -pef -lAW -sBj -wPG -siP -cWt -xHc -ine -csk -stn -aIL -bNt -tDy +cbE +qmq +qZl +nXM +hRX +eNk +dJk +pyj +aQW +rwL +hej +eiG +eiG +fWk +lBW +aFc +pHi +nMW iGB mpt wWm @@ -111491,7 +112124,7 @@ ixF eQj rAc gPW -oLO +ncs anm aQc anm @@ -111499,23 +112132,23 @@ anm anm anm anm -bOk -aKV -bOk -aXe -mrp -abF -iWl -gpd -bcj -oGS -csM -ine -qGF -ioC -fBd -bNt -mWQ +byY +gfC +iIr +hRX +iLq +wgH +pyj +jLV +gid +cRj +cVU +gpW +jDt +lrF +qSK +rGF +xiA iGB lcO ndo @@ -111750,30 +112383,30 @@ lrp oLO pOt anm -fqc +rSh anm kwm ouW jJl gNr -goW -kmx -gJu -aXe -aXe -wwR -aXe -aXe +nKU +gfC +byY +hRX +tvz +sKB +yaJ +jLV +ssy +xfU +hCH +hCH +lCJ +ukV +nzv +gKB +usq mSd -mSd -cLf -blA -xtX -mSd -mSd -bNt -wqI -dBm dBm dBm dBm @@ -112007,31 +112640,31 @@ rAc nHS gPW anm -bDu -iWD +nrs +bJC haB qkU uPu gNr gNr -bOk -hcC -tXg -rre -mgu -mFZ -bOk -vSN +kOc +iBl +avb +hRX +ecY +hRX +hRX +vtM mSd -byY -crB -gfC -jVI -xdV -bNt -sDX -dBm -iMH +mMW +mMW +rhI +wpT +vtM +mSd +vtM +mSd +hoO eha dBm vBM @@ -112263,27 +112896,27 @@ lrp gPW gPW gPW -gfH +oVu qHg svW +kgZ +nNb uPu -haB -fCK -fMS -sDu -bOk -bOk -btf -wpt -hWd -xjT -xML -wPx -gtZ +ugp +sMo +hSq bIi -qRC -akU -ued +bIi +cpr +bIi +eqg +wFw +bIi +uml +mBb +nPW +bID +fLr fLr rfU fLr @@ -112519,35 +113152,35 @@ pES gzs oLO gPW -ndl -vxh -jjC -hZl +kdh +vWJ +qem +svW +eYa +xOc +eAc uPu -fHR -hWb -ldk -gNr -bti -bOk -fQL -lDE -lDE -qpP -lDE -lDE -lDE -jrz -fyz -bmD -wHn -fUb -fUb -fUb -fUb -fUb -hDW -fUb +dCp +byY +byY +jCa +byY +byY +sTr +ylt +ylt +uOw +oyU +uHA +uRq +qIw +qIw +qIw +qIw +qIw +qIw +aVo +qIw sXj sXj sXj @@ -112776,28 +113409,28 @@ ixF iUx gPW gPW -utq -aTt -wQS -hZl +wwa +rrm +aQw +svW +eaJ +bgz +fFe uPu -haB -nHV -kyo -gNr -tUX -tUX -fSt -lDE -qBl -rUE -pxZ -pRw -lDE -stu -epI -tnA -ebf +pnX +byY +rTV +byY +byY +byY +kXe +opt +aHm +eWz +fLr +pzy +gxP +fLr fLr fLr fLr @@ -113033,27 +113666,27 @@ ixF sHT bGF gPW -kQn -aTt -wQS -tfX -uPu -haB -oww -hSd +dWr +reu +wMQ +svW +lfX +kFh +xtE +dec gNr -mFZ -tUX -fQL -lDE -hwV -dhq -sbD -oHw -eVl -gvr -dHs -ebf +bOk +bOk +bsT +bOk +hyw +rIx +tiU +lgj +nPu +fLr +pzy +fLr jGw bpl oGG @@ -113290,25 +113923,25 @@ ixF pOt von gPW -cRN -xYm -iQw -hZl -uPu +fUV +slZ +xLp +svW +lSP haB -sBT -bZW +uPu +kYN gNr knM tUX -fSt +tUX lDE -ujy -lio -vcR -kmy -bfO -bTt +lDE +lDE +lDE +lDE +lDE +fLr pzy fLr fOe @@ -113548,25 +114181,25 @@ gPW xKQ gPW gPW -cGO -qHg -svW -uPu +itW +reI +ppY +vRM haB -kYN +uPu hgL gNr gNr xTd -fQL +tUX lDE -ptt -pJD -kSo -oHw -eVl -cKg -fjt +sGg +msh +mvL +lMN +lDE +kIH +ikp fLr jwI dwf @@ -113634,10 +114267,10 @@ jfi mvq pLG fQp -phP +xRk kyq hSh -dwi +wYv ceG lIr lIr @@ -113806,24 +114439,24 @@ cZo oLO gPW gPW -gNr -uum -uPu -ikq -vRM -vRM +wEB +uYD +dKR +cpT +lFz +lFz ktd gNr -bOk -fSt +mDq +uCF lDE -rkN -mNx -uIt -cfp -lDE -gSG -fjt +mPi +imH +muV +qXU +mAY +xwq +lRn fLr fOe qTG @@ -114059,29 +114692,29 @@ jHV qcx ixF xKQ -gPW +auf pOt nHS -gPW -iyA -uPu -oAp -dZA -fvk -vJi -aUU +aXe +qkO +jxs +vRt +jxs +xUB +lFz +lnL gNr eAT -cnv +llv lDE -lDE -bZm -lDE -lDE -lDE -hZD -xhl -rKw +daX +lio +tvT +jXz +eVl +rhP +iLm +fLr dWp okC ams @@ -114319,26 +114952,26 @@ gqn gPW gPW vKt -gPW -qjZ -lSP -mSt -whN -bfw -fFe +aXe +utk +vRt +qWn +vRt +pxJ +lFz uPu ojU llv -cnv -tKl -tjg -hni -dBm -vSN -dBm -wUb -rui -byY +llv +lDE +wzu +pJD +kSo +oHw +eVl +dAp +ikp +fLr vuO vuO pPt @@ -114361,10 +114994,10 @@ gmE bYe ltW qDM -rdk -mrj -ddz -fLr +ola +tzb +yio +ckZ iLm fLr pEO @@ -114570,32 +115203,32 @@ nhR dEY oQO jMr -nJl +aAC pPf gqp nmO gPW -oLO -gPW -pXE -fHv -oAp -toH -eep -fFe -scE +fdM +pyy +rxL +vRt +vRt +vRt +pxJ +kMF +iSA gNr -kCO -rjK -rjK -rjK -hni -dBm -mwo -gNj -byY -rui -dDX +apr +llv +lDE +gkq +kkH +uIt +kQx +lDE +dSq +ikp +jMi vuO ugN tGb @@ -114832,27 +115465,27 @@ hPY qiz pje gPW -pOt -gPW -dBd -gft -uPu -haB -jzi -uPu -xHK +cju +aXe +qPH +vRt +mPT +vRt +pxJ +lFz +vRu gNr -jYE -qGm -rFC -pBW -hni -dBm -dBm -dBm -kTW -rui -byY +xTr +llv +lDE +lDE +pBA +lDE +lDE +lDE +qla +ikp +fLr hRd bUO aqo @@ -115089,27 +115722,27 @@ pfu gqp pUr gPW -nvR -gPW -ghz -wqC -uPu -haB -uPu -uPu -izF -byy -tfr -tfr -tfr -oIe +tsA +aXe +vVr +vRt +pHz +vRt +pxJ +lFz +jPb +gNr +cAy +llv +llv +llv ayD -llv -llv -caF -luf -dGr -luf +ckk +ckk +dCK +ckZ +ikp +fLr hRd jCt xSk @@ -115346,21 +115979,21 @@ hMw mrM jMr gPW -sik -gPW -gNr -gNr -dCp -hNy -saE -dCp -gNr +tQx +aXe +rSC +cHN +dcQ +cHN +wxG +wMP +wbB gNr bOk bOk weF weF -qqz +gFO bOk bOk bOk @@ -115432,7 +116065,7 @@ hDg pYI hDg hDg -fdf +nZF aWH xsh nZF @@ -115603,21 +116236,21 @@ fpr uyN flH pwT -cte -nYp -hWu -njv -tAT -pPb -tAT -gQA -rTH -bUf +tze +lcb +pKw +iGK +pKw +iGK +pVd +dlO +vjo +kus lRP ofi ujr aHp -kCP +pfO ofi rHD hAi @@ -115868,13 +116501,13 @@ yeA qWj qWj qWj -qWj +mWn qWj qWj oxa qWj qWj -uGO +qWj qST qST ipt @@ -116424,7 +117057,7 @@ vnV vlK lkC fXP -iXg +oaq wGD tep wGD @@ -117232,7 +117865,7 @@ nLp nLp eap eap -qhH +tQR nZF qPM nZF @@ -118480,7 +119113,7 @@ fLr aZs fLr tDY -qTl +wZB ghV msx waA @@ -119703,16 +120336,16 @@ eHF eHF heR ixf -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ ixf jcz bIS @@ -119960,16 +120593,16 @@ eHF cOu cOu ixf +rzZ +rzZ +rzZ +rzZ +svE +rzZ +rzZ kEx -kEx -kEx -kEx -waU -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ ixf jcz bIS @@ -120217,16 +120850,16 @@ eHF heR heR ixf -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ ixf lOh bIS @@ -120474,16 +121107,16 @@ dcE heR dcE ixf -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ ixf jcz bIS @@ -120731,16 +121364,16 @@ cOu cOu cOu bPW -mmi -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -mPB +tLO +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +jdV bPW jkR bIS @@ -120988,16 +121621,16 @@ dcE heR dcE ixf +rzZ +rzZ +rzZ +rzZ +rzZ kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ +rzZ +rzZ ixf lOh uVY @@ -121009,7 +121642,7 @@ qNn nym clF pRO -ntw +azX qAd emE iOp @@ -121245,16 +121878,16 @@ eHF heR heR ixf -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ ixf jcz bIS @@ -121502,16 +122135,16 @@ eHF cOu cOu ixf +rzZ kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ ixf jcz bIS @@ -121759,16 +122392,16 @@ eHF eHF heR ixf -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx -kEx +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ +rzZ ixf lOh bIS @@ -123059,17 +123692,17 @@ dCm dCm dCm dCm -wGZ -huE +cqh +ntW cNO -wGZ -atb +cqh +ozE poZ cCv poZ -iZd -aGa -iZd +iqy +bsa +iqy fIg cNH fIg @@ -123306,17 +123939,17 @@ gbJ dCm jhU nit -vah +isp xBr dCm wIW -vzK -vah -vah -sqc -vah -vah -wGZ +qjf +isp +isp +ust +isp +isp +cqh hkm hkm hkm @@ -123333,7 +123966,7 @@ dCm dCm tFd tCF -pPp +gex itP imq wHp @@ -123421,7 +124054,7 @@ xEB jbW pko wKb -xTD +oyx heC heR bWY @@ -123561,18 +124194,18 @@ dCm dCm nHi dCm -pzG -pzG -vah -vah -vah -vah -vah -ppo +adv +adv +isp +isp +isp +isp +isp +iZx oTJ nPB -kyW -nsc +dyG +pov aMD hkm heR @@ -123589,15 +124222,15 @@ ooK nvO owr rwW -qYa +jBK kSN -tFc +ffj vTm qDe qDe rHk qDe -cxA +mIR iPT qDe qDe @@ -123815,17 +124448,17 @@ dcE dcE dcE dCm -hNz -bld -gAK -hrT -kdc -sNk -mXU -sNk -sBw -vah -nsc +jDY +inp +mHH +hQQ +lZQ +nws +itt +nws +ydH +isp +pov xqs xqs xqs @@ -123846,7 +124479,7 @@ kOk kOk kOk hdi -sAQ +cHC wZA fct frE @@ -124074,34 +124707,34 @@ dcE dCm xxd mjh -oAZ -vQK -oAZ -oAZ -kaO -oAZ +bTW +foJ +bTW +bTW +jjd +bTW jSf -vah -nsc +isp +pov xqs -eAc -kat -pQR +vUm +pLP +vyp dqJ -cdj -qQD -byP -kcQ -fzB -czL -lpS +vBX +mzN +hbO +eKF +gmd +iAH +dyt jSf -mfo -oHZ +bKC +vDL kOk -rTO -rTO -rTO +aGG +aGG +aGG hdi hdi kOk @@ -124330,43 +124963,43 @@ dcE dcE dCm iBG -tVA -oAZ -oAG -xUA -syK -ePv -fCp +oKN +bTW +oPu +mvu +llK +fYt +nXr jSf lnO -gyr -oJM -qed -xOl -pUF +cNt +tkO +ovN +oUo +klH lVD -tgQ -qxx -aGC -gkU -gkU -gkU -rnn +uTK +fsw +ahT +jHt +jHt +jHt +wJF jSf -oYk -tdh +ucQ +wzB kOk -drW -nYY -ycy -cDR -ilw +hPP +qlF +vaF +oOs +iKA lNZ -idZ -dDK -wwI -ejg -cTi +ksm +qlf +tul +lge +xQU jwa qKO eYw @@ -124588,42 +125221,42 @@ dcE dCm lNm oTE -oAZ -rlx -lTp -iwU -lAp -lTp +bTW +iqs +mId +nfM +bCb +mId jSf pIn qhl xqs -eAc -ccT -dqu +vUm +lff +wLg dqJ -asj -tjH -htd -qmS -qmS -qDB -fgS +tMD +pDT +xwC +hKn +hKn +hyo +lRr jSf -lEH +bBu vRz kOk -bYO -pMa -xeU +hun +cZN +kAX fjy osu xfX -wzQ -fFv -sVT -ejg -atl +ezE +udY +xQV +lge +rNx jwa qKO hbK @@ -124843,45 +125476,45 @@ heR heR heR unl -eOW +kQy unl unl -gqX -aMP -idt -bEE -aMP +lUO +kUW +lVA +gBY +kUW jSf -oOj +orm cil xqs xqs -ylt +yhN xqs xqs dqJ -rPu +wDY dqJ dqJ -vEy +vzW dqJ xqs jSf -ucv +aqy fZR kOk -hQt -jeL -kOi -cXL -cTG +vMO +vqi +seA +cuT +gFk fBX -fgh -fPA -blS -haf -sUA -pSH +hpe +nbY +bKb +lXK +lBQ +jTQ jwa gtA qKO @@ -125100,45 +125733,45 @@ dcE heR unl unl -bEe -fty -bKi -cWX -mtW -kWI -eiE -qEG -hRN +eGE +hVk +hBw +fgx +kqH +vLj +hYg +fGD +eQO lsV -xYv -ojV -rNP -kBJ -jIj -qJd -kTk -eYv -dYg -sLt -kTk -kTk -wEI -kTk -rSR +xCJ +tNb +lqA +xYb +rrz +hKE +nNY +tIl +xkL +kTN +nNY +nNY +tKa +nNY +ocF jSf jSf jSf jSf jSf kOk -pPq +dGS bAW -rYY -cDR -aMb -vFX -mms -vyJ +idm +oOs +wfz +gsL +iDS +aKR jwa eYw qKO @@ -125354,48 +125987,48 @@ dcE mXN dcE dcE -ieG -jDI -uMd -cJo -ois -xoe -gdC -rQM -tbq +gOE +nmx +nAN +uhl +rZl +gXQ +kXt +aTV +kUf unl unl unl unl jSf -oYb +hmX wrQ -kBJ -qvF -apH +xYb +hns +jvZ wrQ -pXV +uvN wrQ wrQ wrQ wrQ -lsK +xgZ iUJ -vkr +rOB jSf -ljJ -spp -ciN -dYX -ghH -yfg +jDl +ncV +hsI +dtj +pdB +bRC bAW rIU bAW loh bAW rIU -vFl +kmm jwa eYw qKO @@ -125413,7 +126046,7 @@ rwd deg qJb qPj -dxa +qNi ssa cjh osx @@ -125421,7 +126054,7 @@ csb csb cjh glU -dxa +qNi mHf fEA uqB @@ -125613,43 +126246,43 @@ heR heR heR mTz -wLN -tvu -ois -kUz -cWX -aiU -vcM -hFQ -uyp +naa +mUN +rZl +nyz +fgx +vLU +oKx +tCX +jGm oPd oPd jSf -blC -msR -eju -ihT -ihT -ihT -vzJ -vzJ -vzJ -vzJ -vzJ -kRz -wBa +fvu +lpj +oob +fVd +fVd +fVd +uyr +uyr +uyr +uyr +uyr +nGB +ien aat oxn -vNy -ceY -qoL -uDG -hKd -uYC +itX +ngp +qzQ +hYa +jCv +mYm xRj -bja -qqI -dQt +wjX +qtj +doK smk gTe eSW @@ -125870,46 +126503,46 @@ unl unl unl unl -cWX -cWX -ois -hGK -cWX -kEo -gdC +fgx +fgx +rZl +bmO +fgx +vdm +kXt ppL jrq jrq jrq -sfs -iAV +fOM +noI wrQ -onl -lKr +nKD +dYy wrQ wrQ wrQ -vbw +tST uBp wrQ wrQ wrQ dfI -ueS -cqB -gar -pwo -xqz -dSK -jCo -qKY -jgm -glB -cKn -qDm +tFC +fTF +dnb +gym +inI +gkW +njk +iRX +gef +koC +oVY +oCr bAW rIU -qpr +svB jwa nES qKO @@ -126123,47 +126756,47 @@ dcE dcE dcE unl -wWD -wWD -nLr -tct -bmh -vEh -wtw -qNb -cfu -jDJ -sLh +wFl +wFl +wWO +sZu +muW +xBR +qEZ +esk +vMn +rND +cMW ppL cep wMu wMu jSf -nSH +anB wrQ -hsV -kBJ -iIy +pvU +xYb +mwx wrQ -wHa -ajp -wHa +dje +qbm +dje wrQ -iIy +mwx wrQ -sji -gwV +tHR +oZV pCb wSZ wSZ rct rct uAl -sfT -pFC -ttq -dee -uQG +aLX +gAb +gEZ +lyw +vuy bAW tOO pJM @@ -126380,17 +127013,17 @@ dcE dcE dcE unl -wWD -fQr -tDE -aSk -aCp -mMn -bVQ -bvF -iUu -udH -pPK +wFl +ftG +kGD +pQS +aKq +xcR +jBb +mOo +nBs +dDV +rPh unl unl unl @@ -126399,7 +127032,7 @@ jSf pvp pvp jSf -sne +iyb jSf pvp pvp @@ -126407,22 +127040,22 @@ jSf pvp pvp jSf -vWr +pom jSf -iGY +kvl pCb -eqF -hmb -psx -kfE +gTm +rnX +sYg +bIP hdi -bgF +afS bAW tBn -hZg -nsZ +vss +xKx fMu -bVo +rHZ jwa jwa nES @@ -126637,26 +127270,26 @@ dcE dcE dcE unl -gFQ -wWD -yfH -cPi -vaE -gUc -qfq -lQR -bXU -qpj -tPE -cPi -aNS -tcL -tcL +gPj +wFl +iqj +uTI +nPS +wXW +acU +rBB +cTL +juh +unc +uTI +ldL +bxx +bxx jSf -xjt +dHC lqH lqH -iXI +aGp lqH lqH lqH @@ -126666,17 +127299,17 @@ lqH lqH lqH lqH -jed +buu pCb -oHD -fEr -eAf -jpV +pzZ +pbB +aMw +hYj uAl -mIE +qOB fjy aVD -sVD +aUD hWk fJL fJL @@ -126898,47 +127531,47 @@ unl unl unl unl -aCp -vQj -mtr -qEU -hWV -krq -fWa -aSk -uep -mrk -wLR -sfs -vtV +aKq +eJw +krK +ntE +xZd +aFQ +fii +pQS +isX +gZO +jjj +fOM +dzg rxH -fmb -qVW -rpx -lVe -gzo -nyz -xAB -luO -qIG -qVW +mDD +goU +oLX +yhf +meE +nFx +ich +eXf +gro +goU rxH -wWt +lFW pCb -sRp -fKh -gwG +aGX +mur +sok wSZ uAl uAl -bgF +afS bAW xfX hWk eSA -fwr -lwP -vST +hXA +iNX +cbB fJL qKO qKO @@ -127151,51 +127784,51 @@ dcE dcE dcE unl -odP -odP -jCT -pxP -edl -rJk -mtr -qEU -hWV -udH -npy -hTP -cKd -tcL -tcL +kYf +kYf +fbu +aNf +gOL +frJ +krK +ntE +xZd +dDV +oAJ +mSE +lwT +bxx +bxx jSf -hVY +uRK rxH umy -qVW -lBu +goU +tdN xBE xBE oUa xBE xBE -hpQ -qVW +dfG +goU rxH -wWt +lFW pCb -bUW -phZ -jkp +gKs +iWh +bvI wSZ -lkS -cDR -bVU +rRJ +oOs +nID jrx xfX hWk eSA -mzX -ewn -tZe +iep +qXH +lVH fJL wAO qKO @@ -127408,51 +128041,51 @@ dcE dcE dcE unl -odP -gsO -qBo -aSk -aCp -pTL -mtr -eBr -hWV -udH -hGN +kYf +sFb +kil +pQS +aKq +bHC +krK +dWg +xZd +dDV +ska unl unl unl unl jSf -thw -fRF +gJT +iCq umy -etk -nlS +aej +rRh xBE -aOO -pxe -dDI +vTv +pEG +qvr xBE -pOc -vuA -fRF -wWt +kbQ +yma +iCq +lFW pCb -bCy -hzJ -xrt -whB -cVL +iUj +glJ +rvR +tTz +ulq smk smk smk smk -uqr -swI -wNb -eBj -vGs +rLK +pnc +gAC +nxN +jLt fJL eYw qKO @@ -127665,26 +128298,26 @@ dcE dcE dcE unl -uuR -odP -hRr -cPi -tte -gUc -dQS -mwg -nBt -qpj -tPE -cPi -ijD -amH -amH +xbI +kYf +fPA +uTI +wfp +wXW +evv +dqo +lDh +juh +unc +uTI +cgE +sbp +sbp jSf -jUK +kWx rxH -tJn -kjy +wcJ +bdh xBE xBE hDq @@ -127692,24 +128325,24 @@ oWZ hDq xBE xBE -wzG -qGd -dVy +edu +fJN +nCO pCb -vXS -utA +sIB +rBO wSZ wSZ -sUX +rqm fjy bAW fBX bAW hWk eSA -utb -uyX -lQz +sbF +qhW +qTt fJL qKO qKO @@ -127926,43 +128559,43 @@ unl unl unl unl -bJw -xUo -eck -bvF -iUu -nFm -cXl -aSk -fWk -mBx -wuj -sfs -iQy -cVD +daE +oeV +qLm +mOo +nBs +vxk +alk +pQS +gmm +hMt +cDI +fOM +edY +iMP fmw -kjy -eDw -iun -nfx -xbi -oGR -bia -eDw -kRN -qGd -mIf +bdh +lEJ +ewm +wAU +kDN +aZY +okm +lEJ +nPP +fJN +uip pCb pCb -vHD -hLs -mCN -eNv -pmP -sMi +uqc +cIH +cxh +gyV +kwO +vvB fMu fMu -wtd +kth fJL fJL fJL @@ -128179,37 +128812,37 @@ dcE dcE dcE unl -nTa -nTa -iHK -fbu -mRa -xOk -eJo -uBJ -hWV -udH -uvA -hTP -ewa -amH -amH +pBP +pBP +bFn +pwb +xrJ +lhX +drW +fzP +xZd +dDV +uKf +mSE +sBP +sbp +sbp jSf -xhx -eiw -nJI -mIf +pbt +rQb +igb +uip nYD -gUG -aNW -oiG -lMR -dst +uPB +eLK +dNX +noU +vdg nYD -fKq -qGd -ehj -jel +cKc +fJN +uAB +hFq eaV wSZ kOk @@ -128436,37 +129069,37 @@ dcE dcE dcE unl -nTa -aWg -nvb -aSk -aCp -sBO -hWV -cUl -hWV -udH -cXl +pBP +gIn +aUW +pQS +aKq +lIm +xZd +xMS +xZd +dDV +alk unl unl unl unl jSf -xhx -eiw -dZU +pbt +rQb +lQA nwJ -ayw -pRT -oEJ -aKJ -wuB -dAL -syX -wjg +xmd +uMD +aVG +shb +mwY +tjt +tbd +szp rWT rxH -xjh +iIL eaV oAL mrg @@ -128693,26 +129326,26 @@ dcE dcE dcE unl -kEW -nTa -tpK -vSl -uww -uAu -lNe -cWQ -hWV -udH -cXl +hng +pBP +mVM +rTQ +faw +muE +wid +qcX +xZd +dDV +alk unl -kHb -fbw -uLW -gSI -fKq -fRF -sOA -mIf +xLF +ibq +oCS +cGS +cKc +iCq +okh +uip xBE xBE aAt @@ -128720,10 +129353,10 @@ aAt aAt xBE xBE -oth -aUD -bGx -vBy +jjo +uyu +mmZ +uex sCD nld jyv @@ -128954,33 +129587,33 @@ unl unl unl unl -bAZ -rJk -hWV -nKq -hWV -yam -tNo -xyj -uqL -qJz -kKh -uud -doF -pSU -nJI -ehj -ffU -fQu -nNy -mVI -nNy -mts -ffU -qZt +hVH +frJ +xZd +rSi +xZd +vRE +fcT +chc +tuD +qQv +oiQ +tOi +ebD +qXx +igb +uAB +jmv +fgG +aOn +brm +aOn +oFn +jmv +vYm rWT -cSY -qzh +fYq +yhq tHo bWY jyv @@ -129207,37 +129840,37 @@ dcE dcE dcE unl -ebK -sVc -wzu -hTP -gDq -uJJ -hWV -nKq -hWV -vIP -tNo +xQB +qpL +uEQ +mSE +vqH +apA +xZd +rSi +xZd +upL +fcT unl -rqs -gRu -fEu -uJT -eph +uua +wjz +iTx +ydi +maS rxH -jsF +chR rxH rxH -mIf +uip rxH -mVI +brm rxH -fKq +cKc rxH khI fPT uoU -uBd +xTf sCD plB bOO @@ -129464,37 +130097,37 @@ dcE dcE dcE unl -sVc -uor -hgw -aSk -aCp -vRa -hWV -uXG -hWV -iHW -jae -wWe -qWB -avK -mLu -imp -gUn -hWT +qpL +jRb +oBp +pQS +aKq +eed +xZd +jjh +xZd +wOG +sxT +kgo +wve +iFf +pcg +gFp +qXj +mjy xNn tXl tXl nwJ -kTU -xAh +lcU +vsM rxH -fKq +cKc rxH -sHw -mSr -mtK -usj +cfP +kgf +igK +oXS eaV bWY bve @@ -129721,34 +130354,34 @@ dcE dcE dcE unl -sVc -sVc -bUw -cPi -mQk -kFh -bVQ -pfb -vWm -udH -cXl +qpL +qpL +ovq +uTI +iLC +eaX +jBb +omc +nQs +dDV +alk unl -aEz -fTB -duD -srL -oOa -xQB -xQB -kLy -kLy -uQd -kPy -teN -soB -gdj -dnL -iWm +kdZ +bZR +fuU +gjb +oBa +pub +pub +iqf +iqf +naq +wDt +fhg +wzV +oRU +lCw +hUM eaV iUs eaV @@ -129982,29 +130615,29 @@ unl unl unl unl -aCp -wHh -cAA -gyb -cAA -tvu -hGN +aKq +dXY +mil +bEK +mil +mUN +ska unl -srL -srL -srL -srL -lKv -fzM -sJw +gjb +gjb +gjb +gjb +cyN +vAx +cfs eaV -mpM -tup +pVA +qpa rki rki rki -dkZ -lEx +kAr +xqE maB eaV ioU @@ -130097,7 +130730,7 @@ mtp kNU wKb wKb -pkG +tWA cIB wKb gXj @@ -130239,29 +130872,29 @@ dcE dcE dcE unl -cnC -bZT -juj -juj -juj -oQy -jVO +gCa +rnR +fPi +fPi +fPi +egC +lTX unl dcE dcE -vad -hrE -tGd +tYZ +gpk +gav nqt nqt eaV -qgt -sAA -ghE -qGd -qGd -oOX -dGp +enK +jEx +iry +fJN +fJN +xDp +fnY eaV eaV eOr @@ -130353,9 +130986,9 @@ wKb wKb wKb wKb -oPA -eNi -iQr +auS +bTa +qjn wKb coZ cxU @@ -130507,12 +131140,12 @@ unl dcE dcE heR -eNA -moz +mcT +hQZ nqt nqt eaV -hkR +fav sNC nlt xtQ @@ -130610,9 +131243,9 @@ dcE heR heR wKb -tWW -npe -liX +qvW +gdu +rCp wKb vZM cxU @@ -130769,13 +131402,13 @@ eaV eaV eaV eaV -mDn +rHU sNC nlt nlt nlt sNC -ogP +xYi eaV tWn dcE @@ -130867,9 +131500,9 @@ dcE dcE heR wKb -oGK -sYm -xIr +mtl +rhF +lNc wKb cLm aVk @@ -131026,13 +131659,13 @@ kOx dcE dcE eaV -baz +fBZ sNC kLD nlt nlt sNC -eCA +rRn eaV dcE dcE @@ -131282,7 +131915,7 @@ dcE kOx dcE dcE -vaj +aHc sNC kLD nlt @@ -169842,9 +170475,9 @@ nlm nlm nlm bOk -wiF -nVT -jML +wuh +uCF +xQv tUX eAV bOk @@ -170100,7 +170733,7 @@ nlm gPW gPW gPW -tia +pfb gPW gPW xIN @@ -170358,7 +170991,7 @@ gPW tbz tcb tcb -oNc +skO gPW jWk uRd @@ -170612,7 +171245,7 @@ gPW gPW gPW gPW -rVJ +fQG tcb tcb ban @@ -171126,9 +171759,9 @@ gPW adC adC gPW -piR +aLE toI -efv +iGL gPW gPW lVb @@ -171384,7 +172017,7 @@ adC gPW gPW gPW -vCN +eJp gPW gPW gyT @@ -171898,7 +172531,7 @@ eIJ eIJ nKj ipm -mkd +vxm lOd gPW wKg @@ -172425,7 +173058,7 @@ hGg aad hDt sYo -lys +reF pEK raP aad @@ -172680,9 +173313,9 @@ bOk nfS hYF aad -xol +gvi csF -jqO +pgd dJJ raP aad @@ -173441,7 +174074,7 @@ adC gaP dex cKs -lOd +oCi gPW dpo bOk @@ -173967,14 +174600,14 @@ bOk eOS aad aad -uRV +pQN aad aad -tOr +mDy iqw gkO nZJ -oqi +iKl cba cba ohy @@ -174231,7 +174864,7 @@ pLT mPw icw hmo -oqi +iKl cba cba xSS @@ -174470,7 +175103,7 @@ lQe gPW trH gjH -uwj +dBK wMn own cdc @@ -174488,7 +175121,7 @@ uOC iqw bLL eFs -oqi +iKl cba cba xSS @@ -174725,18 +175358,18 @@ lOd ohU tLK gPW +nCl gjH -gjH -aBR +lXr qJS kXH eGt -jEr -ouE -fhm -jCW -dNk -rkK +mIE +tZT +rPI +fnd +emO +jXl ayA aVI aVI @@ -174745,7 +175378,7 @@ jAy sVG uEz aPW -oqi +iKl cba cba xSS @@ -174980,20 +175613,20 @@ jOh jOh yeJ gPW -cQu +juM gPW gPL gjH -sPy +czg wMn -uOR +bJH nPN -iYJ -wMn +oMV +jOl cce -oky -uuj -nOt +wtE +dEa +lTy tCH iKC wfq @@ -175231,14 +175864,14 @@ gPW gPW gPW gPW -hsh +rwt gPW gPW gPW gPW gPW qOS -jak +vsw dax dax yaw @@ -175246,8 +175879,8 @@ wMn hRX hRX hRX -czK -tnb +uDu +rDj hRX hRX hRX @@ -175487,26 +176120,26 @@ uRd uRd bOk aBl -vXh -wiK -inG -woh -eqp -oIk -gqj +hiA +lNY +lOi +oxf +etQ +nWF +rPT nPN qBh qYM rft -qBh +feh ouK hRX -dEH -pjd -glj -dBh -gHJ -ajG +cCZ +vTY +qwo +tfK +leN +wca hRX wJs mKZ @@ -175516,7 +176149,7 @@ xyF mKZ xyF qrJ -oqi +iKl xSS bwi cba @@ -175744,27 +176377,27 @@ anY pev bOk qtM -nbo +jjZ nli crj xaP oxg -oIk +nWF bOk bOk iRH -aXe -aXe -qQK -aXe hRX -lxh -ask -gWq -aQu -pfd -ckp -naC +hRX +eRa +hRX +hRX +hcs +ncj +lLl +lLl +ygl +fby +qOz taJ mKZ pME @@ -175773,7 +176406,7 @@ xyF mKZ xyF hFf -oqi +iKl aBp cba cba @@ -176001,36 +176634,36 @@ uRd uRd bOk pLO -rly +xQy wTr mjc mjc yhK -ibw +ffF bOk bTF jBk -aXe -hHm -cTc -eGs hRX -fyp -pag -sLd cFa -fqC +qIj +wnC +tEs +rYn +ixW +qRx +vlX +fJY tfK cKX ofL -hpR +xyF pME nkh hPV xyF xyF gpI -oqi +iKl aBp cba cba @@ -176258,36 +176891,36 @@ uRd uRd bOk gyc -ssT +ctQ sjQ mjc mjc jkq -rkf +oAq bOk uLb jBk -oSw -cmf -pDO -jkx hRX -por -rrv -vgh -cFa -fqC +jyg +ddT +tfK +tfK +tBC +ixW +bWr +vlX +fJY tfK rtd taJ -bQi +mKZ pME mKZ xyF mKZ xyF utP -oqi +iKl aBp cba xci @@ -176515,26 +177148,26 @@ uRd uRd bOk thB -oZX -iym -cxL -cxL -cxL -oIk +bQu +wzz +rak +rak +rak +nWF bOk uJI jBk -aXe -hBY -taF -dGx hRX -uku -jLY -qwF -qwF -ktL -wmd +cwE +lfk +tfK +tfK +tfK +sPW +hQj +fEl +nAG +tfK mek ofL mKZ @@ -176544,7 +177177,7 @@ xyF mKZ xyF lqI -oqi +iKl aBp cba cba @@ -176781,23 +177414,23 @@ bOk bOk fkX wko -aXe -hkO -gZv -mUY hRX -shv -lHE -tfK -tfK -hQk -jui +sLd +aBK +lSC +pbL +hAW +qwT +nXz +tCu +kaH +xsk hRX -wBR -dZm +dIu +lFj ptT lFj -pMZ +hWP fPy oiz cAk @@ -177036,26 +177669,26 @@ iWo myx bOk opB -uCF +qDm laD -aXe -imo -jug -sGS hRX -lRF -tNC -bDf -cHO -aso -xTc +xnC +cFa +pfi hRX +egy +egy +egy +egy +egy +egy +hRX +pFj +wPW +mqD +pFj aad aad -xhO -gMI -oqi -aad aad aad aad @@ -177286,32 +177919,32 @@ cQP uRd uRd bOk -pBI +rAF rIi -riR -riR -oBH +mdZ +wBj +qlB bOk bOk bOk -laD -aXe -aXe -aXe -eZW -bnZ -jFI -sZB -niC -spy -aCV -buV -qJo -iEH -iBZ +lZh +hRX +cFa +hIj +uKY +hRX +xLZ +cqj +qeX +qeX +qeX +qeX +jzj +gpK +tyx oDC upV -fJK +rXW egw ogF ogF @@ -177543,29 +178176,29 @@ cQP uRd bOk bOk -gxl -lEG +dNb +kbU qrz qrz rBm -rIi +cyW bOk -jBk -juq -hqD -bAg -hGg -bvq +vEh +pwU +bMs +ePd +xkG +hMG hRX -cFa -cor -yhT -yhT -rVj -oLo -pmN -hRX -mGh +vIB +xfC +eoU +eoU +eoU +eoU +wRN +wqs +uYr axr jOe jOe @@ -177799,23 +178432,23 @@ pev aVT bOk bOk -riR -riR -riE -eie +fRs +oZJ +peO +hoj luw hoj uZu bOk -aLa -bOk -bOk -mep -bOk +itu bOk hRX +lsu +hRX hRX hRX +biB +kkQ dUb dUb dUb @@ -178055,24 +178688,24 @@ bOk pev cQP bOk -sch -riR -riR -riR -oNi -oZJ +dJo oZJ +qdN +yaK +eUm +eUm +eUm ige -haE -rIi -umH -gDe -tnu -gSq -ikR -klJ -saQ -umH +sOt +oBf +dCp +biB +biB +jCN +sAZ +tHK +bwZ +nZX dUb dUb dUb @@ -178312,24 +178945,24 @@ bOk pev aVT bOk -riR -aLu -riR -riR -aWa -oZJ +wYu +dUp oZJ +yaK +xos +vJM +aSz qRA -spO -hyS -uii -dYi -vua -hPQ -sbd -pzb -vNc -dJB +auQ +xjG +era +lLL +cSe +biB +rfw +whv +azD +kHg dUb dUb fDE @@ -178567,26 +179200,26 @@ sUx sUx bOk pev -cQP +flM bOk -riR -riR -riR -riR -oNi -oZJ +hDv +uGq oZJ +yaK +cgZ +cgZ +cgZ qRA -fLM -wDn -umH -nyX -ria -ibf -ibf -kki -loW -dJB +hij +bfu +tvq +rHM +qFL +qko +rfw +ukT +vIw +kHg dUb dUb fDE @@ -178826,24 +179459,24 @@ bOk pev cQP bOk -sch -riR -riR -riR -oNi -oZJ +vwo +mCJ oZJ +yaK +prb +xhP +rAy qRA -vbd -ogY -umH -rVw -scT -smd -wog -yhD -gHR -umH +aTt +saY +dCp +biB +wGU +biB +bKV +xYT +xYT +uXW dUb dUb fDE @@ -179084,19 +179717,19 @@ bOk cQP bOk bOk -riR -riR -kll -jOW +dUx oZJ -oZJ -gLf -mvH -evq -umH -umH -eVF +dwG +eoP +eoP +eoP +qRA +oVR +saY umH +ptD +qBY +ptD umH umH umH @@ -179173,7 +179806,7 @@ fQp rVM aXW fIl -wTj +sDd ceG lIr edf @@ -179341,23 +179974,23 @@ bOk cQP cQP bOk -bOk -nrf -udE -wpA -oZJ -oZJ -qRA -jPA -aum +iaf +iaf +mHz +iaf +iaf +ihG +nmS +hij +hKO umH ipQ -flY -grJ +osg +mUF umH -kPH -tCz -jlq +iiX +abv +hQr dUb dUb fDE @@ -179595,26 +180228,26 @@ kJO sUx kdl bOk -anY +aJM cQP cQP -bOk -erM -qJK -wpA -oZJ -oZJ -qRA -aTt -dVn +iaf +jtS +rBx +obI +iaf +feq +hoj +hoj +gYr umH ipQ -xuQ -hsL -wpc -dfC -quB -sXd +sRs +bJc +umH +yis +pjI +hQr dUb dUb fDE @@ -179855,23 +180488,23 @@ bOk bOk bOk cQP -bOk -tYt -qJK -wpA -oZJ -oZJ -qRA -pgO -vsh +bjA +dav +pYA +qnp +iaf +saY +aJj +mgj +mgj umH -onj -vRc -tsI +rbs +fEL +kKS umH -oIv -wnO -pTi +saQ +vNc +qwL dUb dUb fDE @@ -180112,23 +180745,23 @@ uRt tGM bOk cQP -bOk -dZH -qJK -wpA -oZJ -oZJ -lgi -wvc -koM -umH -llY -uLf -ulM -umH -umH +iaf +sKU +chj +xhK +iaf +saY +xFd +vii +trG umH +sgY +pAI +fIF umH +epX +sOW +cqH sRG dUb fDE @@ -180369,23 +181002,23 @@ xqd cHp bOk cQP -bOk -qLF -qJK -scf -jXx -jXx -nmS -ugn -tfR -umH -tdt -dgD -hcD -wZN -vzY -fZp +iaf +gxW +thM +hhf +iaf +saY +xFd +gYR +bpS umH +bqs +sub +bHk +qBK +flY +xuQ +qsa dUb dUb fDE @@ -180626,22 +181259,22 @@ xqd oNs hFT cQP -bOk -iib -qJK -jXC -eZt -hoj -hoj -eNI -mqJ +iaf +tnF +eXP +rDu +uvt +opT +mcr +mcr +edB umH -cLi -hwT -efD +sDc +xwR +uVO umH -fBU -lVv +xtt +gfM umH dUb dUb @@ -180883,15 +181516,15 @@ xqd fua bOk bOk -bOk -gNr +iaf +iaf +iaf +iaf +iaf +dCp +dCp +dCp lEB -gNr -gNr -pxk -pxk -gNr -gNr umH umH umH @@ -182189,7 +182822,7 @@ dUb dUb dUb drX -pdr +hwe gOK vzx aZo @@ -187082,7 +187715,7 @@ eZC gZu imd jVB -pSE +sQZ paf paf shs @@ -187787,12 +188420,12 @@ nlm nlm nlm heR -rRD -pse -rRD -pse -rRD -pse +dbT +pmx +dbT +pmx +dbT +pmx heR heR dcE @@ -187811,7 +188444,7 @@ tSA qqY hRj dCm -aWO +jda dCm qzB dXy @@ -188043,22 +188676,22 @@ nlm nlm nlm nlm -rRD -rld -rld -rld -rld -rld -rld -pse +dbT +mZo +mZo +mZo +mZo +mZo +mZo +pmx heR dcE heR -qOC -qOC -qOC -qOC -qOC +wJJ +wJJ +wJJ +wJJ +wJJ dDL nlm nlm @@ -188072,7 +188705,7 @@ dCm dCm dXy dXy -ivZ +nYR dXy wsc qPw @@ -188100,7 +188733,7 @@ sgG sgG sgG sgG -gMU +dVe sgG sMw lYT @@ -188110,7 +188743,7 @@ twC tzO rPK cdi -pSE +sQZ paf jPa shs @@ -188300,22 +188933,22 @@ nlm nlm nlm nlm -cay -rld -rld -rld -rld -rld -rld -rld +aDp +mZo +mZo +mZo +mZo +mZo +mZo +mZo mrg dcE heR -qOC -fHm -fHm -fHm -qOC +wJJ +qeQ +qeQ +qeQ +wJJ heR heR dDL @@ -188362,7 +188995,7 @@ fIg qkM rnh miE -eoB +wIl ewf wiA jrb @@ -188558,21 +189191,21 @@ nlm nlm nlm heR -kFU -kFU -kFU -kFU -kFU -kFU -kFU +tWI +tWI +tWI +tWI +tWI +tWI +tWI jyv dcE heR -qOC -fHm -fHm -fHm -qOC +wJJ +qeQ +qeQ +qeQ +wJJ shx pPu pPu @@ -188589,7 +189222,7 @@ dCm dCm dXy bNY -rQf +hMc ojr ojr dDq @@ -188815,26 +189448,26 @@ nlm nlm nlm heR -kFU -cay -cWa -cay -cWa -cay -cWa +tWI +aDp +uUH +aDp +uUH +aDp +uUH jyv dcE heR -qOC -xSZ -qvX -aNs -qOC +wJJ +rad +tOE +rOG +wJJ shx -vKR -vTP -cDO -jAU +tlf +wCm +lqv +ejA shx hRj hRj @@ -188849,7 +189482,7 @@ wIW hkm hkm hkm -wlD +qhP hkm hkm dCm @@ -188877,7 +189510,7 @@ uGj jPa jPa jPa -tTX +qGa tLo paf paf @@ -189072,7 +189705,7 @@ nlm nlm nlm heR -cay +aDp syR syR syR @@ -189082,16 +189715,16 @@ bWY jyv shx shx -qOC -ftI +wJJ +eBf pPu -ftI -qOC +eBf +wJJ shx -wPu -mFt -lBt -fxl +pJf +jBB +yeH +evH shx hRj hRj @@ -189104,10 +189737,10 @@ hkm hkm hkm kOk -eAt -ghU -qDL -ghU +dUH +fHk +vpi +fHk kOk hRj hRj @@ -189119,7 +189752,7 @@ heR heR heR dCm -bgp +qLZ ffr ohJ dzI @@ -189336,19 +189969,19 @@ dDL shx pPu shx -dXo +xaT shx -kBV -cqf -cqf -kyz -dYn -lmS +pKc +aMs +aMs +peo +mmM +qJu shx -gno -sdE -mFt -pNc +ncT +ewx +jBB +iUo shx kOk kOk @@ -189359,12 +189992,12 @@ hdi hdi kOk kOk -wRF -gjN -sKQ -sKQ -sKQ -sKQ +qTk +dBG +knN +knN +knN +knN kOk hdi hdi @@ -189376,9 +190009,9 @@ hdi hdi hdi kOk -cqz +uYX kOk -ggC +lUM kOk kOk kOk @@ -189592,53 +190225,53 @@ qHf qHf shx fVM -cEW +sTS fVM -dCN -rzg -gwS -gwS -gwS -gwS -hMJ -gNw -uxr -euM -euM -irA +nfE +lyd +chG +chG +chG +chG +wdu +qvw +iPL +sGR +sGR +hig shx -rCg -cDR -cDR -cDR -cDR -cDR -cDR -gOo -rmi -cDR -cDR -cDR -cDR -cDR -cDR -cDR -cDR -cDR -cDR -aDL -cDR -cDR -cDR -cDR -cDR -rfw -wGl +dJn +oOs +oOs +oOs +oOs +oOs +oOs +iTB +mQT +oOs +oOs +oOs +oOs +oOs +oOs +oOs +oOs +oOs +oOs +anJ +oOs +oOs +oOs +oOs +oOs +hUw +ppX mGO -bPK -bEk -cxx -roX +rLz +xfj +dtC +fzS kOk kOk kOk @@ -189657,24 +190290,24 @@ wKb dkQ euG euG -htr +pJR coc euG euG cjh cjh cjh -vik -fnb -vik -vik -fnb -vik -vik +mus +dJC +mus +mus +dJC +mus +mus cXX -vik +mus mHf -xfL +gpO mHf mHf mHf @@ -189845,57 +190478,57 @@ nlm slL dcE heR -rPM -uXK -pRn +iVT +duQ +jCJ fVM fVM -nkv -aQZ -cqf -hMJ -cky -cqf +uBv +wtd +aMs +wdu +iWM +aMs aMq iOk -cqf -cqf -qEV -vtH -czZ +aMs +aMs +ccV +hja +uuo shx -oND -koD -koD -koD -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -cyX -nkA -fCa -fCa -cmm -fCa +eSh +vel +vel +vel +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +fkR +gSY +iov +iov +kFS +iov hWk cCM cCM -aht -roX +iak +fzS ljh cCM cCM @@ -190105,54 +190738,54 @@ dDL qHf qHf shx -nWA +buP fVM fVM -mWE +rDm wKI -lmD -fqh -hMJ -hMJ +iWA +gqb +wdu +wdu iOk aMq -cqf +aMs aMq -sGf -ajo +raa +bWC shx -sUX +rqm fMu fMu fMu -ylN +auP fMu -qvr +qRb fMu -xgN +oXO fMu fMu fMu fMu fMu fMu -wNP +bCP fMu fMu fMu fMu -lGF +pgh fMu -ylN +auP fMu -ksx -mmp +cfT +bMD fMu -xJz +agz cCM cCM -aht -roX +iak +fzS ljh cCM dVv @@ -190362,46 +190995,46 @@ dDL dDL dDL shx -dXL +hVc fVM -aLS +iZe abi nTp vcF gng tls -hww +uBh uqw -kVq -sDx +jmD +tnX aMq -neu -kau +vIy +tMw shx rqo -jdh -jdh +pGl +pGl rqo -cQk -jdh +eLh +pGl rqo -jdh -jdh -jdh +pGl +pGl +pGl rqo ngH -wqu -wqu -wqu +hYV +hYV +hYV ngH ngH -wqu -wqu +hYV +hYV ngH ngH -wqu -jbo -wqu +hYV +rBF +hYV ngH ngH cbT @@ -190619,53 +191252,53 @@ slL nlm nlm shx -vGB -mGX -bqc +vvb +foH +jhg fVM fVM pPu wUI -xWg -yaf -bXx -aJR -cfM -lMa -tJS -iTw +siN +oxu +qij +eOM +nKz +cot +chZ +lcN shx rqo nhU -yhn -vKw +svt +mmt nhU ijs uwn ijs -bch +xpr ijs -xey +ggW ngH -daJ -jtj -gkZ -rVe -edu -nep -oav -rSt -tyK -rgC -vpc -vpc -hQb -teg -dIu -waV -wkR -vnB -pEo +wxU +jEV +fzl +rWs +aRW +xAI +oDg +aFk +xBt +btj +tLs +tLs +mkV +hsd +ujX +eYS +aQL +qve +gph uAO uhO uhO @@ -190877,51 +191510,51 @@ dDL dDL shx shx -mkB -pFN +aPr +hNJ fVM fVM shx sRd shx -ylJ +gfs ngQ ngQ -grt -grt -qxU -vrK -bPn -uUh -dzu +cay +cay +nqm +oGW +vqn +wyc +ltG ijs xBQ sRP -dhD +bWQ eZV -eWx -lPV -hOV -lPV -uQx -xao -moa -wGr -nep -iAf -nep -pnw -nep -nep -ukS -nep -sNr -wea -oar -dIu -nhw -irO -nOh +bGR +sAu +fKD +sAu +oCU +njY +ntA +eVy +xAI +snF +xAI +vKw +xAI +xAI +src +xAI +ggU +wzr +tkV +ujX +obp +tIW +uqf mVu gGb ljh @@ -191132,54 +191765,54 @@ nlm slL nlm nlm -mMD -hRc -dPx -vHc -dfJ +uIx +fPl +ooF +cBY +xpF fVM shx ogB mDo -sIc +fQR kBo fAb -bXx -bXx -kdU -jAY -elt -ewc +qij +qij +kxA +tES +isn +gvK ijs -pkp -eXI +rhD +dwq nhU bmc ijs -umF -ceD -ceD -aNw +qfT +qRp +qRp +tCI ngH -jSC -nep -sYK -nep -nep -nep -iCc -nep -nep -crM -nep -nep -vpc -trz +tyY +xAI +iux +xAI +xAI +xAI +iJs +xAI +xAI +nDM +xAI +xAI +tLs +dgm ulQ pxw -uAg -dRY -iTO +wmr +rYP +sKR gRI ljh cCM @@ -191389,53 +192022,53 @@ nlm slL nlm nlm -mMD -rbZ -rKk -rKk -nuq -sDc +uIx +hcf +hbS +hbS +nkE +wpd shx ewK shx hMF uRB shx -bXx -bXx -kdU -bXx -xiN -aUB +qij +qij +kxA +qij +kXa +uzh ijs ijs lEy nhU -nNI +vPa ijs -imU -att -ceD -mtM +vPK +tqU +qRp +mLk ngH -phk -dFA -izm -nlb -dFA -rQG -jKW -xvy -rQG -nlb -iEw -vWc -vUf -uzr -rVu -mGy -vTk -oFV +kbS +tLQ +rSX +vQf +tLQ +eVu +sLx +nRk +eVu +vQf +qpY +guy +cIM +nav +apI +hLS +sko +jLH mVu rKO ljh @@ -191646,10 +192279,10 @@ nlm slL nlm nlm -mMD -kCl -wOo -fBE +uIx +crn +llh +kEq shx shx shx @@ -191658,42 +192291,42 @@ aZQ hHE oTq iGC -mbn -bXx -kdU -bXx +goM +qij +kxA +qij rqo -ten +jdr ijs -fbJ +pID ijs ijs ijs ijs -nCZ -ceD -ceD -mgy +jcP +qRp +qRp +eGp ngH -phk -jKW -pmy -jKW -rQG -rQG -jKW -doY -rQG -jKW -jKW -nep -jKW -mcM -dIu -hrW -tqo +kbS +sLx +pdM +sLx +eVu +eVu +sLx +xTY +eVu +sLx +sLx +xAI +sLx +jnQ +ujX +oNP +sAM mVu -gpM +wlV cbT ljh cCM @@ -191904,52 +192537,52 @@ slL dcE nlm shx -oOK -uuu -ipA +dMJ +pFJ +vwx shx -knV +bbO shx kwG fJc shx tHE shx -uZt -kLU -cdD -yix +pTz +qNX +mHZ +bpZ rqo -kSf +vjC ijs ijs ijs -kSh +csf ijs ijs -nCZ -mPU -mPU -sbu +jcP +gtw +gtw +jIj ngH -dWY -nep -sYK -iiH -nep -nep -nep -iiH -nep -nep -nep -iiH -nep -nep -meJ +wIS +xAI +iux +fXp +xAI +xAI +xAI +fXp +xAI +xAI +xAI +fXp +xAI +xAI +hql cbT sRE -fTU +vUb sRE cbT cCM @@ -192170,44 +192803,44 @@ shx kHY kHY shx -cGi -erX -erX +uOo +vVv +vVv shx shx shx rqo -vHg -hOO +eEW +bDn ijs ijs -mhW +rKz ijs ijs -nCZ -ceD -ipP -lJB +jcP +qRp +oys +iLH ngH -qYt -nep -cue -hnN -vtR -aIG -fxB -wir -kqE -nWF -vtR -sSZ -nep -nep -fnM +nsN +xAI +qtC +pXM +oXX +woG +oSU +wgD +fZB +hKS +oXX +okO +xAI +xAI +jBh cbT -pai +eKL mVu -myM +orn cbT cCM cCM @@ -192220,7 +192853,7 @@ itq kOk jzz jzz -qKm +pDa jzz jzz wKb @@ -192420,7 +193053,7 @@ nlm dcE dcE heR -nKC +myt dcE dcE dcE @@ -192428,41 +193061,41 @@ dcE dcE dcE dcE -nKC -ubn +myt +gaf mDG mDG mDG -sQM -cZf -ofs +efZ +xbP +pxN ijs ijs ijs ijs ijs -nCZ -wkW -iKW -iKW +jcP +lnf +fVU +fVU ngH -byb -nep -qpV -qqL -toc -toc -toc -fJe -toc -toc -toc -oho -sSZ -nep -yiz +lse +xAI +dxv +phf +mLS +mLS +mLS +ado +mLS +mLS +mLS +lEf +okO +xAI +qYY cbT -lGY +iMq mVu xjq cbT @@ -192475,10 +193108,10 @@ kOk kOk kOk kOk -mqX -oRb -dOy -mkQ +mKk +qVD +lia +arL jzz xwu oeF @@ -192677,7 +193310,7 @@ slL dcE nlm dDL -aXd +rAT nlm nlm nlm @@ -192685,57 +193318,57 @@ nlm nlm nlm nlm -aXd -ubn +rAT +gaf mDG mDG mDG -sQM -cZf +efZ +xbP ijs ijs ijs ijs ijs ijs -nCZ -ceD -rwS -fuc +jcP +qRp +hOZ +lEj ngH -jHp -jHp -nOC -toc -toc -oki -oki -oki -oki -oki -toc -toc -pFs -pZs -ufV +hFA +hFA +kvb +mLS +mLS +aSB +aSB +aSB +aSB +aSB +mLS +mLS +wVX +qcT +mNC cbT qHC -lXr +xdZ cbT cbT -eDz -vqO -icr -gJT -elM -pvU -bwu -jzQ -qTF -vJE -iaW -cCn -odw +omx +iwq +vVR +fVn +iOc +ddM +vRf +cfI +tfy +wZE +dJt +ksa +oOZ jzz fCe aud @@ -192947,52 +193580,52 @@ bxd mDG mDG mDG -sQM -cZf +efZ +xbP ijs ijs ijs -qHI +lpw ijs ijs -nCZ -mPU -mPU -pLp +jcP +gtw +gtw +bQt ngH -jHp -jHp -djI -toc -toc -oki -ohW -gyF -ohW -oki -toc -toc -rrT -pZs -hgx +hFA +hFA +dOl +mLS +mLS +aSB +sgX +pvS +sgX +aSB +mLS +mLS +wre +qcT +agh shi shi shi shi shi shi -roW -bMR -qRQ -vqO -iRc -bMR -bMR -xDm -auO -vND -jJO -mkQ +oLx +fmO +gPv +iwq +mXl +fmO +fmO +sus +vfZ +hsz +bHG +arL jzz ulu dHK @@ -193191,62 +193824,62 @@ slL heR dDL bxd -goc +eFm bNX bNX bNX -vWW +fWz bNX bNX bNX -vBW +sey bxd mDG mDG mDG rqo -cZf -rJn +xbP +aEr ijs ijs -huV +lIw ijs ijs -kqY -ceD -ceD -onA +jcP +qRp +qRp +smD ngH -jHp -pZs -djI -toc -oki -oki -ohW -ohW -ohW -oki -oki -toc -rrT -pZs -pZs -qbB -szp -lgR -nXM -xFB -jIm -onM -dfj -dQJ -uIK -lic -cYP -bMR -xDm -xWu +hFA +qcT +dOl +mLS +aSB +aSB +sgX +sgX +sgX +aSB +aSB +mLS +wre +qcT +qcT +kXT +udb +vVb +aIt +tMJ +tnY +tTS +urx +qbw +sSG +uaw +bzL +fmO +sus +cck jzz jzz jzz @@ -193453,57 +194086,57 @@ bNX bNX bNX bNX -fZS +kVm bNX bNX -emN +pSI bxd mDG mDG mDG rqo -cZf -ciW +xbP +lrl ijs ijs ijs ijs ijs -bhu -ceD -ceD -onA +dFY +qRp +qRp +smD ngH -rQx -pZs -djI -toc -oki +riI +qcT +dOl +mLS +aSB tPe tPe tPe tPe tPe -oki -toc -nmr -eYf -nyk +aSB +mLS +jnq +sRj +siz shi -jrU -aAD -oGr -vgQ -nfU -nfU -xDm -bMR -okQ -mFB -iAQ -xDm -wpH -xDm +npj +cEd +vki +dPQ +spb +spb +sus +fmO +aDN +eLp +yiY +sus +oLL +sus wKb sZh sZh @@ -193705,62 +194338,62 @@ slL dcE nlm ydS -whb +mfn bNX -ayP -bIg -gBB -bIg -tLS +hnV +rNA +bGX +rNA +cZP bNX -uvb +hTs bxd -oNI +vGE bxd -oNI +vGE rqo -cZf +xbP ijs ijs ijs -fbJ +pID ijs ijs -fAt -ims -qWt -onA +iuu +gix +cAI +smD ngH -pZs -pZs -djI -toc -oki +qcT +qcT +dOl +mLS +aSB tPe tPe tPe tPe tPe -oki -toc -ram -ksE -ksE +aSB +mLS +vFP +itm +itm shi -sIF -xJZ -tNJ -nHh -fGf -nfU -xDm -xDm -xDm -xDm -xDm -jsm -xDm -vXv +mIg +vuV +uRp +uxI +jkz +spb +sus +sus +sus +sus +sus +gzm +sus +rcl wKb sZh dlk @@ -193962,62 +194595,62 @@ slL dcE nlm ydS -sal +mBr bNX -sLU +eIz ayg -sQh +oON tHd -nbL +lXz bNX -nJw -gjO -klj -jxI -klj -aSj -bIj +kCF +yhO +hvS +saS +hvS +liY +pRW ijs -fbJ +pID ijs ijs -qMT +cpN rqo -srL -srL -srL -srL +gjb +gjb +gjb +gjb ngH -vcs -pZs -djI -toc -oki +xoH +qcT +dOl +mLS +aSB tPe tPe tPe tPe tPe -oki -toc -ram -ksE -ksE +aSB +mLS +vFP +itm +itm xsS -dSH +jYG xsS -vVW -gSx -gva -nfU -xDm -xDm -bMR -bMR -iyV -kQG -xDm -xDm +tse +iXH +vfb +spb +sus +sus +fmO +fmO +tdF +tTg +sus +sus wKb dlk dlk @@ -194219,62 +194852,62 @@ slL dcE nlm bxd -mUT +mZK bNX -eUn -uXc +tNB +cMY ewI gct -nYO +jSO bNX -gbY -oAy -wFK -wFK -fsI -iqI -brK +hJS +oSq +vbf +vbf +ePX +eWq +nsx ijs ijs -rQo -rQo +fBh +fBh ijs kpc -uYe -sRu -hDz -uJT -odT -pZs -pZs -djI -toc -oki -oki -oki -oki -oki -oki -oki -toc -wys -rGY -kSP +mUS +jkI +kBG +ydi +vti +qcT +qcT +dOl +mLS +aSB +aSB +aSB +aSB +aSB +aSB +aSB +mLS +tDB +nog +wCn xsS -sTP -qtZ +apX +eMo xsS -nxn -fGf -nfU -xDm -jsm -xDm -bMR -fKa -xDm -xDm -upB +oqW +jkz +spb +sus +gzm +sus +fmO +cEn +sus +sus +fsj wKb sZh dlk @@ -194476,62 +195109,62 @@ slL dcE nlm ydS -iBy +uhg bNX -sLU +eIz tHd sUM ayg -nbL +lXz bNX -eHY -rLg -psG -wDD -qhQ -amN -xMh -jpr +fmV +bra +eOY +uZg +byA +gMP +eTt +gkP ijs oBM oBM alG kpc -tNx -lVl -qNI -taH -nlJ -pZs -pZs -djI -toc -toc -toc -toc -toc -toc -toc -toc -toc -rrT -ats -aGB +akK +onh +tCd +lan +htc +qcT +qcT +dOl +mLS +mLS +mLS +mLS +mLS +mLS +mLS +mLS +mLS +wre +xVF +mYh xsS -qKg -ucx +qpD +nRS xsS shi shi shi -xDm -xDm -xDm -wpH -xDm -vXv -bMR -tty +sus +sus +sus +oLL +sus +rcl +fmO +xRg wKb sZh dlk @@ -194733,62 +195366,62 @@ slL dcE nlm ydS -mcK +riV bNX -bwW -kDy -gCV -kDy -bQp +dEW +nyY +dCg +nyY +tVS bNX -tJO +syi bxd -oNI +vGE bxd -oNI +vGE rqo nhU -wmc +cwo jQQ ijs -wIB -ggs -pat -pQr -lXy -ryt -srL -iTc -pZs -pZs -aNn -tlA -toc -toc -toc -toc -toc -toc -toc -qHa -ryu -pZs -lwb -qrK -xSi -gna -aSv +vbB +ddh +hYu +sMa +uOF +uuF +gjb +eSO +qcT +qcT +kSS +foZ +mLS +mLS +mLS +mLS +mLS +mLS +mLS +seW +jAd +qcT +qyu +twY +ulh +sNW +hnh gwx fbk shi -xDm -xDm -vEE -xDm -xDm -xDm -bMR -nvK +sus +sus +lIA +sus +sus +sus +fmO +bEp wKb sZh dlk @@ -194990,62 +195623,62 @@ slL dcE nlm ydS -fWM -qyw +kWe +kBe bNX bNX bNX bNX bNX bNX -iqM +ujP bxd mDG mDG mDG rqo -kCY -sVS -sVS -hzI -lLf -xzA -nAW -nXo -kPT -iNu -uJT -nep -pZs -pZs -pZs -aNn -qgR -qgR -qgR -qgR -qgR -qgR -qgR -ryu -pZs -pZs -aVw +nmk +jbD +jbD +llg +nMV +aor +uTU +mVw +vIX +ggX +ydi +xAI +qcT +qcT +qcT +kSS +nUj +nUj +nUj +nUj +nUj +nUj +nUj +jAd +qcT +qcT +jfp xsS jRB -ydD +eUl kyZ xsS fbk shi -xDm -xDm -xDm -xDm -jsm -xDm -vEE -xDm +sus +sus +sus +sus +gzm +sus +lIA +sus wKb sZh sZh @@ -195247,46 +195880,46 @@ slL dcE nlm bxd -ied +dzH bNX bNX bNX -mJE +wJU bNX -gjP -gjP -tcD +lmH +lmH +sUR bxd mDG mDG mDG rqo rqo -sQM -sQM +efZ +efZ rqo -sQM -sQM +efZ +efZ rqo -srL -srL -srL -srL -rIX -pZs -pZs -pZs -isZ -oes -pZs -pZs -pZs -pZs -pZs -pZs -isZ -aYa -ckr +gjb +gjb +gjb +gjb +vBg +qcT +qcT +qcT +eGq +roB +qcT +qcT +qcT +qcT +qcT +qcT +eGq +oEN +boh ngH xsS iLL @@ -195295,13 +195928,13 @@ cYB xsS gwx shi -jsm -xDm -xDm -xDm +gzm +sus +sus +sus shi shi -aUR +ekY jzz wKb sZh @@ -195514,9 +196147,9 @@ ydS ydS bxd bxd -opT -opT -opT +rYB +rYB +rYB mDG mDG mDG @@ -195526,20 +196159,20 @@ mDG mDG mDG mDG -opT -opT +rYB +rYB ngH ngH -kAJ -xVz -eGL +gBV +krk +ubv ngH ngH -ewp -bQZ -bQZ -bQZ -rys +gQW +hCg +hCg +hCg +pvQ ngH ngH ngH @@ -195557,9 +196190,9 @@ shi shi shi shi -pvl -xDm -hlk +iVc +sus +eqm wKb iYM dlk @@ -195774,7 +196407,7 @@ dDL nlm nlm slL -ubn +gaf mDG mDG mDG @@ -195782,20 +196415,20 @@ mDG mDG mDG mDG -hHG +xmq nlm nlm qCR -wqu -bzU -wfD -tGh +hYV +aBv +nzG +kPL ngH ngH ngH -txX -txX -txX +jpw +jpw +jpw ngH ngH heR @@ -195815,7 +196448,7 @@ nlm dDL jzz jzz -qMl +qXI jzz wKb wKb @@ -196031,29 +196664,29 @@ dDL nlm nlm slL -pNV -opT -opT -opT -opT -opT -opT -opT -qxV +hDS +rYB +rYB +rYB +rYB +rYB +rYB +rYB +ydy nlm nlm qCR -wqu -bzU -wfD -mYq +hYV +aBv +nzG +qbZ ngH ngH -adI -adI -bQZ -bQZ -jQj +fhd +fhd +hCg +hCg +joI ngH heR nlm @@ -196306,11 +196939,11 @@ ngH ngH ngH ngH -rEx -adI -bQZ -bQZ -jQj +xoh +fhd +hCg +hCg +joI ngH heR nlm @@ -196563,11 +197196,11 @@ nlm dcE heR ngH -uOi -uOi -dVP -bQZ -jQj +iQe +iQe +tWd +hCg +joI ngH heR nlm @@ -196820,11 +197453,11 @@ nlm dcE heR ngH -uOi -uOi -bQZ -bQZ -jQj +iQe +iQe +hCg +hCg +joI ngH heR nlm @@ -197077,11 +197710,11 @@ nlm dcE heR ngH -lsq -bQZ -mrm -cXr -cki +vwQ +hCg +ugo +qlx +gRx ngH heR nlm @@ -197334,11 +197967,11 @@ nlm dcE heR ngH -gTz -oGv -dzf -sNM -cki +btb +pTS +uXR +geE +gRx ngH heR nlm diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 2190c7772c4..26a681a4a85 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -7090,7 +7090,7 @@ /turf/open/floor/wood, /area/station/service/theater) "bKo" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/machinery/firealarm/directional/south, @@ -8774,7 +8774,7 @@ /area/station/ai_monitored/turret_protected/ai_upload) "cfx" = ( /obj/structure/cable, -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 4 }, /obj/effect/turf_decal/bot, @@ -13292,13 +13292,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/eva/abandoned) -"dnd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "dnj" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, @@ -16686,7 +16679,6 @@ /area/station/command/gateway) "eeX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/west, /obj/structure/chair/stool/directional/east, /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -17744,7 +17736,6 @@ "eua" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/north, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -21240,11 +21231,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"fmI" = ( -/obj/machinery/bluespace_vendor/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "fmN" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -29632,12 +29618,10 @@ "hmS" = ( /obj/structure/cable, /obj/structure/table/reinforced, -/obj/item/crowbar, -/obj/item/restraints/handcuffs, -/obj/machinery/recharger, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/item/storage/fancy/donut_box, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) "hmU" = ( @@ -33338,7 +33322,6 @@ /turf/open/floor/iron, /area/station/engineering/supermatter/room) "ilH" = ( -/obj/machinery/atmospherics/components/unary/bluespace_sender, /obj/effect/turf_decal/stripes/line{ dir = 10 }, @@ -38755,7 +38738,7 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "jAY" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 4 }, /obj/effect/turf_decal/bot/left, @@ -45734,7 +45717,7 @@ }, /obj/machinery/light/directional/south, /obj/effect/turf_decal/bot, -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /turf/open/floor/iron/dark/textured_large, @@ -55242,7 +55225,6 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/north, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, @@ -57161,7 +57143,7 @@ /turf/open/floor/iron/dark, /area/station/security/detectives_office) "oiO" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 8 }, /obj/effect/turf_decal/bot, @@ -61485,16 +61467,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"pmC" = ( -/obj/machinery/duct, -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) "pmE" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -69795,15 +69767,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/circuits) -"rnm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rnn" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70092,7 +70055,6 @@ /obj/machinery/firealarm/directional/north{ pixel_x = 4 }, -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, @@ -70100,6 +70062,10 @@ pixel_y = 27; pixel_x = -6 }, +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/item/restraints/handcuffs, +/obj/item/crowbar, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) "rsa" = ( @@ -72162,16 +72128,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/science/research) -"rRr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "rRu" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -88967,16 +88923,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/sepia, /area/station/service/library/artgallery) -"vVS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "vVW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -89747,7 +89693,7 @@ /area/station/commons/dorms) "wgF" = ( /obj/structure/cable, -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/machinery/status_display/ai/directional/south, @@ -90704,7 +90650,6 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "wru" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/item/radio/intercom/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -92017,7 +91962,6 @@ "wIz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/bluespace_vendor/directional/east, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, @@ -95899,15 +95843,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay) -"xHO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "xHW" = ( /obj/structure/cable, /obj/machinery/status_display/ai/directional/east, @@ -96437,14 +96372,6 @@ /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"xOw" = ( -/obj/item/kirbyplants/random, -/obj/machinery/bluespace_vendor/directional/east, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "xOC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -128903,7 +128830,7 @@ iNR bCj tjp dGS -rRr +iCO uED nXK vcB @@ -133297,7 +133224,7 @@ puJ kpj bYG mlE -xHO +nXY whK rcW dJa @@ -136081,7 +136008,7 @@ vJd qAV fOP qAV -rnm +iDP nPa dOZ xms @@ -136563,7 +136490,7 @@ kBz rjZ urY prJ -dnd +bsb kVP kVP kVP @@ -139364,7 +139291,7 @@ abi abi abi abi -xOw +oHj wiY kAc kJH @@ -140534,7 +140461,7 @@ dGu lvZ pkg lvZ -pmC +tOv knH qob kjG @@ -142542,7 +142469,7 @@ exS iVq juZ crR -fmI +ers hgJ hgJ cbq @@ -146893,7 +146820,7 @@ kKg nuK xEJ dCk -vVS +rTO ljd uvR tGt diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 7bee4abe142..ad9079292bc 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -2696,10 +2696,6 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"aLV" = ( -/obj/machinery/bluespace_vendor/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "aLX" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -5769,13 +5765,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"bzI" = ( -/obj/machinery/bluespace_vendor/directional/west, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "bzQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7489,7 +7478,6 @@ dir = 8 }, /obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron/dark/textured_edge{ dir = 1 }, @@ -12230,7 +12218,6 @@ /turf/open/floor/iron, /area/station/maintenance/port/aft) "dnT" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -12335,7 +12322,6 @@ /obj/machinery/light/directional/south, /obj/effect/spawner/random/vending/colavend, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "dpq" = ( @@ -13334,8 +13320,8 @@ /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brigoutpost" +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 }, /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /obj/machinery/scanner_gate/preset_guns, @@ -14819,10 +14805,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark/textured, /area/station/science/research) -"eaT" = ( -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ebb" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, @@ -27186,7 +27168,7 @@ /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) "hFJ" = ( -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/security/telescreen/engine/directional/north, /turf/open/floor/iron/dark, @@ -29188,9 +29170,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brigoutpost" - }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron/dark/textured_edge{ dir = 4 @@ -29847,6 +29827,10 @@ /obj/structure/table, /obj/effect/turf_decal/tile/red/half/contrasted, /obj/structure/cable, +/obj/item/crowbar{ + pixel_y = 3; + pixel_x = 15 + }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) "isC" = ( @@ -34657,7 +34641,6 @@ c_tag = "Central Hallway West" }, /obj/effect/turf_decal/tile/blue, -/obj/machinery/bluespace_vendor/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central) "jOz" = ( @@ -40166,7 +40149,7 @@ /area/station/service/chapel) "lqz" = ( /obj/structure/cable, -/turf/closed/wall, +/turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai) "lqA" = ( /obj/effect/decal/cleanable/dirt, @@ -41170,11 +41153,11 @@ /turf/open/floor/carpet/blue, /area/station/security/prison/work) "lEg" = ( -/obj/machinery/door/window/left/directional/north{ - name = "AI Core Door"; +/obj/structure/cable, +/obj/machinery/door/window/brigdoor/right/directional/north{ + name = "Primary AI Core Access"; req_access = list("ai_upload") }, -/obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) "lEj" = ( @@ -45086,7 +45069,6 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/machinery/bluespace_vendor/directional/east, /turf/open/floor/iron/dark, /area/station/science/breakroom) "mOf" = ( @@ -48109,7 +48091,6 @@ }, /area/station/security/brig) "nEV" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/structure/cable, /obj/effect/turf_decal/tile/red/opposingcorners, /obj/machinery/light/directional/north, @@ -48570,6 +48551,7 @@ /obj/machinery/firealarm/directional/south{ pixel_x = 4 }, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) "nLE" = ( @@ -49923,7 +49905,6 @@ /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, -/obj/machinery/bluespace_vendor/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "ofl" = ( @@ -50752,11 +50733,11 @@ /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) "opS" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, /obj/item/radio/intercom/directional/north, +/obj/machinery/photocopier/prebuilt, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) "opU" = ( @@ -54224,7 +54205,6 @@ /turf/open/floor/iron/dark, /area/station/science/ordnance) "pkQ" = ( -/obj/machinery/atmospherics/components/unary/bluespace_sender, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -57185,8 +57165,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brigoutpost" +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 }, /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /obj/machinery/scanner_gate/preset_guns, @@ -59088,13 +59068,20 @@ /area/station/service/chapel/office) "qEK" = ( /obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/pen{ pixel_x = -3; pixel_y = 4 }, -/obj/item/pen, /obj/structure/table, /obj/effect/turf_decal/tile/red/half/contrasted, /obj/structure/cable, +/obj/item/radio/off{ + pixel_y = 4; + pixel_x = 8 + }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) "qEM" = ( @@ -59156,7 +59143,7 @@ /area/station/science/explab) "qFu" = ( /obj/machinery/airalarm/directional/west, -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -60549,7 +60536,7 @@ /turf/open/floor/iron, /area/station/engineering/lobby) "qXF" = ( -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) @@ -61836,17 +61823,15 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "rqi" = ( -/obj/item/crowbar{ - pixel_y = 3 - }, /obj/item/assembly/flash/handheld{ pixel_x = -19; pixel_y = 3 }, /obj/structure/table, /obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/item/radio/off{ - pixel_y = 6 +/obj/machinery/fax{ + fax_name = "Custom's Fax Machine"; + name = "Custom's Fax Machine" }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) @@ -65632,7 +65617,6 @@ }, /obj/machinery/newscaster/directional/west, /obj/machinery/light/directional/west, -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, @@ -70800,7 +70784,6 @@ "tSb" = ( /obj/effect/spawner/random/vending/colavend, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/bluespace_vendor/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "tSi" = ( @@ -70996,11 +70979,9 @@ /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brigoutpost" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/structure/sign/departments/security/directional/east, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, @@ -72214,7 +72195,7 @@ /turf/open/floor/iron/showroomfloor, /area/station/security/processing) "unG" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -73104,9 +73085,6 @@ dir = 4 }, /area/station/service/hydroponics) -"uBi" = ( -/turf/closed/wall, -/area/station/ai_monitored/turret_protected/ai) "uBs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74326,7 +74304,6 @@ "uUM" = ( /obj/machinery/light_switch/directional/south, /obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron, /area/station/commons/dorms) "uUT" = ( @@ -75506,7 +75483,7 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "vnt" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 8 }, /obj/machinery/button/door/directional/south{ @@ -78904,11 +78881,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/port) -"wpQ" = ( -/obj/machinery/bluespace_vendor/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/commons/locker) "wpY" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80191,7 +80163,7 @@ normaldoorcontrol = 1; pixel_x = 6; pixel_y = 9; - req_access = list("secuirty") + req_access = list("security") }, /obj/machinery/button/door{ id = "outerbrig"; @@ -80199,7 +80171,7 @@ normaldoorcontrol = 1; pixel_x = 6; pixel_y = -1; - req_access = list("secuirty") + req_access = list("security") }, /obj/machinery/button/door/directional/north{ id = "briggate"; @@ -233863,7 +233835,7 @@ ddQ gAB ykG ykG -wpQ +ykG tOw sVn wlt @@ -239511,7 +239483,7 @@ iFj hDU abL ons -aLV +gpp bXm bXm bXm @@ -245415,7 +245387,7 @@ vVY uog uog nfU -bzI +uog uog yaF mny @@ -255046,8 +255018,8 @@ ujs mYh ogF hfy -uBi -uBi +iHp +iHp lqz dBQ eAx @@ -255304,7 +255276,7 @@ lNC mlp lEg cvh -uBi +iHp eYH jIZ oFx @@ -255560,9 +255532,9 @@ ujs mYh ruZ kfP -uBi -uBi -uBi +iHp +iHp +iHp deg mYh iHp @@ -260081,7 +260053,7 @@ nVr wFO bzA hUD -eaT +lso byK sDd bRd diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 0f440feea26..3cc70d25575 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -2423,7 +2423,7 @@ "aSQ" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law{ - pixel_x = -3; + pixel_x = -7; pixel_y = 5 }, /obj/machinery/light_switch/directional/north, @@ -2431,6 +2431,10 @@ dir = 1 }, /obj/machinery/light/small/directional/west, +/obj/machinery/recharger{ + pixel_y = 6; + pixel_x = 6 + }, /turf/open/floor/iron, /area/station/security/checkpoint/customs) "aST" = ( @@ -2986,7 +2990,6 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/greater) "bcq" = ( -/obj/machinery/bluespace_vendor/directional/north, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, @@ -6367,15 +6370,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"cod" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "coe" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -11906,7 +11900,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/machinery/atmospherics/components/unary/bluespace_sender, /turf/open/floor/iron, /area/station/engineering/atmos) "egR" = ( @@ -13371,11 +13364,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter) -"eFC" = ( -/obj/machinery/bluespace_vendor/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/commons/locker) "eFG" = ( /obj/item/storage/medkit/regular{ pixel_x = 3; @@ -14146,7 +14134,7 @@ /turf/open/floor/engine, /area/station/science/xenobiology) "eSy" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 4 }, /obj/structure/cable, @@ -19486,7 +19474,7 @@ /obj/machinery/camera/directional/north{ c_tag = "Engineering - Power Monitoring" }, -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/main) @@ -22732,16 +22720,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"hTE" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/bluespace_vendor/directional/west, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "hTG" = ( /obj/structure/cable, /obj/machinery/power/terminal, @@ -26055,13 +26033,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) -"iYc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/south, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "iYp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden/layer4, @@ -28197,7 +28168,7 @@ /turf/open/floor/iron, /area/station/hallway/primary/port) "jGN" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/machinery/light/directional/south, @@ -32658,17 +32629,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) -"liO" = ( -/obj/structure/cable, -/obj/machinery/bluespace_vendor/directional/west, -/obj/effect/turf_decal/tile/neutral{ - 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, -/area/station/commons/fitness/recreation) "liU" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37302,7 +37262,6 @@ /area/station/service/lawoffice) "mQq" = ( /obj/effect/turf_decal/delivery, -/obj/machinery/bluespace_vendor/directional/east, /obj/machinery/photobooth, /turf/open/floor/iron, /area/station/hallway/secondary/command) @@ -37679,7 +37638,7 @@ /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) "mXj" = ( -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, @@ -39288,14 +39247,6 @@ /obj/effect/mapping_helpers/mail_sorting/service/chapel, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"nwU" = ( -/obj/structure/cable, -/obj/machinery/bluespace_vendor/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "nwV" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/grunge{ @@ -40822,6 +40773,9 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, +/obj/item/radio, +/obj/item/crowbar, +/obj/item/assembly/flash, /turf/open/floor/iron, /area/station/security/checkpoint/customs) "oay" = ( @@ -45689,7 +45643,7 @@ /turf/open/floor/iron, /area/station/security/warden) "pMH" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 4 }, /obj/structure/plaque/static_plaque/atmos{ @@ -48384,7 +48338,7 @@ /area/station/security/detectives_office) "qJd" = ( /obj/machinery/status_display/ai/directional/north, -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) @@ -58048,17 +58002,6 @@ /obj/machinery/light/no_nightlight/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"tWe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "tWq" = ( /obj/effect/spawner/random/trash/janitor_supplies, /obj/effect/mapping_helpers/broken_floor, @@ -62363,10 +62306,8 @@ "vrP" = ( /obj/structure/cable, /obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_y = 4 - }, /obj/effect/turf_decal/tile/red/half/contrasted, +/obj/item/storage/fancy/donut_box, /turf/open/floor/iron, /area/station/security/checkpoint/customs) "vsG" = ( @@ -62435,7 +62376,6 @@ /turf/open/floor/iron/dark, /area/station/medical/morgue) "vtn" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/tile/red/anticorner/contrasted, /obj/effect/mapping_helpers/requests_console/supplies, /obj/effect/mapping_helpers/requests_console/assistance, @@ -62443,6 +62383,7 @@ department = "Security"; name = "Security Requests Console" }, +/obj/machinery/photocopier/prebuilt, /turf/open/floor/iron, /area/station/security/checkpoint/customs) "vtp" = ( @@ -63985,13 +63926,16 @@ /area/station/command/bridge) "vSs" = ( /obj/machinery/airalarm/directional/west, -/obj/structure/closet, -/obj/item/crowbar, -/obj/item/assembly/flash/handheld, -/obj/item/radio, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 }, +/obj/item/toy/figure/ian{ + pixel_x = -4; + pixel_y = 13 + }, +/obj/structure/filingcabinet/chestdrawer{ + pixel_y = 2 + }, /turf/open/floor/iron, /area/station/security/checkpoint/customs) "vSu" = ( @@ -68226,13 +68170,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"xpH" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/bluespace_vendor/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "xpL" = ( /obj/structure/closet/secure_closet/chief_medical, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -87102,7 +87039,7 @@ dHc htE dHc dHc -tWe +xXi tsb yfq jzp @@ -88894,7 +88831,7 @@ vKn fNz vQs vQs -cod +hyW rEO xbd pOa @@ -96159,7 +96096,7 @@ jay mRy wBW eje -hTE +eje qTJ eAe mGy @@ -99408,7 +99345,7 @@ dGW hhp bJq gFi -iYc +gGo olw fLI alE @@ -103025,7 +102962,7 @@ qBC sqM kwQ jZR -xpH +sqM cOP nOj wGa @@ -104044,7 +103981,7 @@ nFn uJB qsK pJE -eFC +uUl qXB xNv mqK @@ -106069,7 +106006,7 @@ bSr cfy oAa peF -liO +peF sSs gkM plL @@ -106087,7 +106024,7 @@ xpo lnc kMX ntS -nwU +wcr kvd mMx lUK diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 8789106bd6a..1b677d44d66 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -278,6 +278,28 @@ }, /turf/open/floor/iron/textured_large, /area/mine/lounge) +"bM" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/mine/production) "bQ" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -553,13 +575,6 @@ /obj/structure/lattice/catwalk/mining, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"dh" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 2 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/mine/mechbay) "di" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -721,27 +736,6 @@ }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"ez" = ( -/obj/structure/chair/comfy/teal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/west{ - network = list("mine") - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/edge{ - dir = 4 - }, -/area/mine/lounge) "eA" = ( /turf/closed/wall, /area/mine/maintenance/public/south) @@ -909,14 +903,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"fA" = ( -/obj/machinery/computer/shuttle/mining{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/mine/production) "fD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1179,17 +1165,6 @@ dir = 1 }, /area/mine/living_quarters) -"gK" = ( -/obj/machinery/door/airlock/external/glass{ - name = "Labor Camp External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) "gM" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -1235,18 +1210,6 @@ /obj/structure/ore_box, /turf/open/floor/iron/dark, /area/mine/production) -"gZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 - }, -/area/mine/laborcamp/security) "hd" = ( /obj/machinery/door/airlock/security/glass{ name = "Labor Camp Shuttle Security Airlock" @@ -1345,15 +1308,6 @@ /obj/structure/lattice/catwalk, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"hB" = ( -/obj/structure/cable, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/wall_healer/directional/north, -/turf/open/floor/iron/white, -/area/mine/medical) "hD" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -1423,6 +1377,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/maintenance/living/north) +"hS" = ( +/obj/structure/gulag_vent, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "hV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -1601,6 +1559,13 @@ }, /turf/open/floor/iron/edge, /area/mine/living_quarters) +"iT" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/light/directional/west, +/obj/machinery/wall_healer/directional/west, +/turf/open/floor/iron/dark, +/area/mine/production) "iX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/sofa/bench{ @@ -1642,6 +1607,18 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"jg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/mine/laborcamp/security) "jh" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -2017,14 +1994,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron/dark, /area/mine/production) -"lg" = ( -/obj/machinery/computer/order_console/mining, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark/smooth_edge, -/area/mine/eva) "lh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2204,29 +2173,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/plating, /area/mine/maintenance/living/south) -"lO" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/structure/sign/directions/dorms/directional/north, -/obj/structure/sign/directions/security/directional/north{ - pixel_y = 24 - }, -/obj/structure/sign/directions/supply/directional/north{ - pixel_y = 40 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red/corner{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/mine/lounge) "lP" = ( /obj/item/flashlight/lantern/on, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -2654,13 +2600,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/maintenance/service) -"nk" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/machinery/light/directional/west, -/obj/machinery/wall_healer/directional/west, -/turf/open/floor/iron/dark, -/area/mine/production) "nl" = ( /obj/structure/fence{ dir = 8 @@ -2901,6 +2840,29 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"oD" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Labor Camp External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) +"oE" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 10 + }, +/obj/item/storage/bag/ore, +/obj/item/pickaxe, +/obj/structure/rack, +/obj/item/mining_scanner, +/obj/item/flashlight, +/obj/item/clothing/glasses/meson, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/mine/storage/public) "oI" = ( /obj/structure/bed, /obj/effect/decal/cleanable/dirt, @@ -2910,18 +2872,6 @@ /obj/item/cigbutt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) -"oJ" = ( -/obj/structure/closet/secure_closet/engineering_welding{ - req_access = list("mining_station") - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 4 - }, -/area/mine/mechbay) "oN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/decal/cleanable/dirt, @@ -3161,6 +3111,13 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"pY" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/mine/mechbay) "pZ" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -3292,6 +3249,14 @@ }, /turf/open/floor/iron/freezer, /area/mine/living_quarters) +"qL" = ( +/obj/machinery/computer/order_console/mining, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark/smooth_edge, +/area/mine/eva) "qN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, @@ -3493,6 +3458,19 @@ /obj/item/flashlight/lantern/on, /turf/open/misc/hay/lavaland, /area/mine/lobby/raptor) +"sb" = ( +/obj/structure/sink/directional/east, +/obj/item/reagent_containers/cup/bucket, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/mine/hydroponics) "se" = ( /turf/open/floor/iron/dark/textured_large, /area/mine/eva) @@ -3638,13 +3616,6 @@ dir = 1 }, /area/mine/cafeteria) -"sX" = ( -/obj/machinery/mechpad, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/mine/mechbay) "tc" = ( /obj/structure/bed{ dir = 4 @@ -3732,17 +3703,6 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, /area/mine/maintenance/service) -"tB" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white/smooth_corner, -/area/mine/medical) "tE" = ( /turf/open/floor/iron/smooth, /area/mine/laborcamp) @@ -3775,6 +3735,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/storage) +"tQ" = ( +/obj/structure/tank_holder/extinguisher, +/obj/effect/turf_decal/trimline/yellow/filled/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/textured_edge{ + dir = 8 + }, +/area/mine/lounge) "tV" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -3828,10 +3808,6 @@ /obj/item/crowbar/large/emergency, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"uo" = ( -/obj/structure/fluff/minepost, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "up" = ( /obj/structure/railing{ dir = 1 @@ -3875,6 +3851,15 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"uy" = ( +/obj/structure/cable, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/wall_healer/directional/north, +/turf/open/floor/iron/white, +/area/mine/medical) "uC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wideplating_new{ @@ -4207,22 +4192,6 @@ dir = 8 }, /area/mine/lounge) -"wq" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/checker, -/area/mine/cafeteria) "wr" = ( /obj/item/seeds/plump, /obj/machinery/hydroponics/soil, @@ -4297,16 +4266,6 @@ /obj/item/seeds/banana, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"wT" = ( -/obj/structure/cable, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "wU" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -4343,19 +4302,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/cafeteria) -"xr" = ( -/obj/structure/sink/directional/east, -/obj/item/reagent_containers/cup/bucket, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/mine/hydroponics) "xt" = ( /obj/structure/railing{ dir = 4 @@ -4425,6 +4371,13 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/cafeteria) +"xK" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/mine/mechbay) "xN" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -4585,6 +4538,17 @@ }, /turf/open/floor/iron, /area/mine/living_quarters) +"yM" = ( +/obj/structure/bed, +/obj/item/bedsheet, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white/smooth_corner, +/area/mine/medical) "yN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4609,13 +4573,6 @@ /obj/structure/stone_tile/block/cracked, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"yT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) "yV" = ( /obj/structure/railing{ dir = 1 @@ -5310,6 +5267,24 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/plating, /area/mine/maintenance/public/north) +"DM" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/mine/production) +"DT" = ( +/obj/structure/cable, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "DV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5597,6 +5572,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/mine/lobby/raptor) +"FK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) "FL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/directional/west, @@ -5645,22 +5627,6 @@ "Ge" = ( /turf/closed/wall, /area/mine/laborcamp/quarters) -"Gf" = ( -/obj/machinery/door/airlock/external/glass{ - name = "Labor Camp External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) -"Gi" = ( -/obj/item/stack/cable_coil/cut, -/turf/open/misc/asteroid/basalt/lava_land_surface{ - icon_state = "basalt_dug" - }, -/area/lavaland/surface/outdoors) "Gl" = ( /obj/item/reagent_containers/cup/glass/colocup, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -5839,6 +5805,18 @@ dir = 1 }, /area/mine/lounge) +"Hx" = ( +/obj/structure/closet/secure_closet/engineering_welding{ + req_access = list("mining_station") + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/mine/mechbay) "Hz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/toilet{ @@ -5872,6 +5850,10 @@ dir = 1 }, /area/mine/lounge) +"HC" = ( +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) "HD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5924,22 +5906,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/mine/laborcamp/security) -"HP" = ( -/obj/machinery/computer/mech_bay_power_console{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("mine") - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 8 - }, -/area/mine/mechbay) "HS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6440,19 +6406,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/mine/maintenance/service/comms) -"Ko" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/structure/rack, -/obj/item/mining_scanner, -/obj/item/flashlight, -/obj/item/clothing/glasses/meson, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/mine/storage/public) "Kp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, @@ -6505,6 +6458,22 @@ }, /turf/open/floor/carpet/royalblue, /area/mine/living_quarters) +"KD" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/checker, +/area/mine/cafeteria) "KI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6578,28 +6547,6 @@ "Lg" = ( /turf/open/floor/plating, /area/mine/storage) -"Lh" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/mine/production) "Li" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6649,6 +6596,17 @@ dir = 8 }, /area/mine/production) +"Ls" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Labor Camp External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) "Lu" = ( /obj/structure/closet/crate/secure/loot, /obj/effect/decal/cleanable/dirt, @@ -6793,12 +6751,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"Mc" = ( -/obj/structure/chair/wood/wings, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/carpet/neon/simple/red/nodots, -/area/mine/cafeteria) "Me" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/stripes/corner{ @@ -6824,6 +6776,13 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood/parquet, /area/mine/lobby/raptor) +"Mp" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/mine/production) "Mr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -6865,6 +6824,14 @@ }, /turf/open/floor/iron, /area/mine/living_quarters) +"MF" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/mine/cafeteria) "MH" = ( /obj/machinery/door/airlock/external/glass{ name = "Mining External Airlock" @@ -7043,10 +7010,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/mine/laborcamp/production) -"NC" = ( -/obj/structure/gulag_vent, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "NE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7377,26 +7340,6 @@ /obj/item/toy/beach_ball, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"PA" = ( -/obj/structure/tank_holder/extinguisher, -/obj/effect/turf_decal/trimline/yellow/filled/arrow_ccw{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/arrow_ccw{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/textured_edge{ - dir = 8 - }, -/area/mine/lounge) "PD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance/two, @@ -7539,6 +7482,10 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Qx" = ( +/obj/structure/fluff/minepost, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "Qz" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -7626,6 +7573,29 @@ "QX" = ( /turf/closed/wall, /area/mine/mechbay) +"QY" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/structure/sign/directions/dorms/directional/north, +/obj/structure/sign/directions/security/directional/north{ + pixel_y = 24 + }, +/obj/structure/sign/directions/supply/directional/north{ + pixel_y = 40 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/red/corner{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/mine/lounge) "Ra" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Station EVA" @@ -7780,6 +7750,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/eva) +"RU" = ( +/obj/machinery/mechpad, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/mine/mechbay) "RV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -7947,7 +7924,7 @@ }, /turf/open/floor/iron/dark/textured_large, /area/mine/laborcamp/security) -"SI" = ( +"SK" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, @@ -8426,6 +8403,22 @@ /obj/effect/mapping_helpers/airlock/access/any/security/brig, /turf/open/floor/plating, /area/mine/maintenance/labor) +"Vs" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("mine") + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, +/area/mine/mechbay) "Vt" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -8627,13 +8620,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"WJ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/mine/mechbay) "WK" = ( /obj/structure/chair/sofa/corp{ dir = 8 @@ -8917,6 +8903,12 @@ dir = 1 }, /area/mine/cafeteria) +"Yd" = ( +/obj/item/stack/cable_coil/cut, +/turf/open/misc/asteroid/basalt/lava_land_surface{ + icon_state = "basalt_dug" + }, +/area/lavaland/surface/outdoors) "Ye" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -9000,13 +8992,6 @@ dir = 1 }, /area/mine/laborcamp/quarters) -"YD" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/mine/production) "YF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9056,6 +9041,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) +"Za" = ( +/obj/structure/chair/wood/wings, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/carpet/neon/simple/red/nodots, +/area/mine/cafeteria) "Zb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9089,14 +9080,6 @@ }, /turf/open/floor/iron/dark/smooth_edge, /area/mine/laborcamp/security) -"Zn" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/mine/cafeteria) "Zp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9168,6 +9151,27 @@ /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) +"ZG" = ( +/obj/structure/chair/comfy/teal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/west{ + network = list("mine") + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/edge{ + dir = 4 + }, +/area/mine/lounge) "ZH" = ( /obj/structure/closet/secure_closet/labor_camp_security, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -9190,10 +9194,6 @@ /obj/structure/lattice/catwalk/mining, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"ZN" = ( -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) "ZP" = ( /obj/structure/sign/directions/engineering/directional/north{ pixel_y = 24 @@ -20251,7 +20251,7 @@ uU uU uU pU -NC +hS pU uU uU @@ -21278,7 +21278,7 @@ uU uU uU uU -uo +Qx pU uU uU @@ -22307,7 +22307,7 @@ uU uU uU uU -SI +SK uU uU uU @@ -22563,7 +22563,7 @@ uU uU uU uU -uo +Qx pU pU uU @@ -22821,7 +22821,7 @@ uU uU pU pU -Gi +Yd pU pU uU @@ -23078,7 +23078,7 @@ pU pU pU tL -wT +DT pV pU pU @@ -23335,7 +23335,7 @@ pU pU pU ff -Gf +oD ff pU pU @@ -23592,7 +23592,7 @@ pU pU pU ff -yT +FK ff pU pU @@ -23849,7 +23849,7 @@ ff eR eR ff -gK +Ls ff eR ff @@ -24106,7 +24106,7 @@ YY YY LR bb -ZN +HC rm Qe ff @@ -32590,7 +32590,7 @@ he he Ia TT -gZ +jg Ia Ia Ia @@ -37983,7 +37983,7 @@ Tc xJ XA eK -Zn +MF px DI oS @@ -38766,9 +38766,9 @@ pq Vp Zq Me -PA +tQ Zq -lO +QY Zz FT Qa @@ -39281,7 +39281,7 @@ pU gx Sn Sz -xr +sb yX PV Gx @@ -39775,7 +39775,7 @@ aj aj pU kY -Mc +Za wJ kY Zj @@ -40036,7 +40036,7 @@ kY kY kY eP -wq +KD DW qg kY @@ -40058,7 +40058,7 @@ bw XD rU Og -Ko +oE Ly dJ aj @@ -40822,7 +40822,7 @@ aj xB DK Dz -hB +uy vu It Xp @@ -41337,7 +41337,7 @@ xB ZT Dz ae -tB +yM It yf mR @@ -42365,7 +42365,7 @@ Zq Rt bK Xi -ez +ZG EE XB Zb @@ -46200,9 +46200,9 @@ Ey tV tM QX -sX +RU ht -oJ +Hx Ok QX Vh @@ -46971,9 +46971,9 @@ tV tV tM QX -dh -WJ -HP +xK +pY +Vs CE Ni IW @@ -47479,20 +47479,20 @@ aj gA aj Le -Lh +bM Nh NU Yl XT NU ld -nk +iT ld NU WB wt jw -fA +DM Le Le NU @@ -48773,7 +48773,7 @@ Vw wl Ti pK -lg +qL se Yg li @@ -49285,7 +49285,7 @@ RY RY dQ Cg -YD +Mp pK Ob IL diff --git a/_maps/map_files/NebulaStation/NebulaStation.dmm b/_maps/map_files/NebulaStation/NebulaStation.dmm index 348f2b50aa3..45c329b8b53 100644 --- a/_maps/map_files/NebulaStation/NebulaStation.dmm +++ b/_maps/map_files/NebulaStation/NebulaStation.dmm @@ -19178,7 +19178,6 @@ "cRX" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/delivery, -/obj/machinery/bluespace_vendor/directional/north, /obj/structure/closet/crate, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos) @@ -22803,7 +22802,7 @@ /turf/open/floor/iron/white, /area/station/science/lower) "dsQ" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/effect/turf_decal/bot, @@ -27435,7 +27434,6 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/machinery/bluespace_vendor/directional/south, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -29897,11 +29895,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/checkpoint/engineering) -"evk" = ( -/obj/machinery/atmospherics/components/unary/bluespace_sender, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos) "evu" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/siding/purple{ @@ -41973,17 +41966,6 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/storage/gas) -"gjm" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/bluespace_vendor/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "gjq" = ( /obj/effect/turf_decal/trimline/red/line{ dir = 8 @@ -49330,7 +49312,6 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 }, -/obj/machinery/bluespace_vendor/directional/south, /obj/item/storage/medkit/fire, /obj/item/storage/belt/utility, /obj/item/lightreplacer{ @@ -53156,8 +53137,9 @@ /turf/open/floor/iron/white, /area/station/science/lobby) "hRb" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/box/red, +/obj/vehicle/ridden/secway, +/obj/item/key/security, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs) "hRc" = ( @@ -54314,7 +54296,7 @@ /area/station/security/prison) "hZu" = ( /obj/effect/turf_decal/bot, -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 8 }, /turf/open/floor/iron/dark/textured_large, @@ -59784,7 +59766,7 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "iPp" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 8 }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -59948,7 +59930,6 @@ /obj/machinery/light/directional/north, /obj/effect/turf_decal/delivery, /obj/machinery/portable_atmospherics/canister, -/obj/machinery/bluespace_vendor/directional/north, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos) "iQC" = ( @@ -76978,7 +76959,7 @@ /turf/open/floor/iron/dark/herringbone, /area/station/commons/dorms) "lrn" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/effect/turf_decal/bot, @@ -82454,7 +82435,7 @@ /turf/open/floor/iron/dark/textured, /area/station/command) "mkJ" = ( -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/machinery/button/door/directional/north{ pixel_x = 6; id = "atmoslock"; @@ -92518,7 +92499,7 @@ /turf/open/floor/iron/dark, /area/station/service/hydroponics) "nNh" = ( -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 5 }, @@ -96746,7 +96727,7 @@ /turf/open/floor/iron/dark, /area/station/maintenance/starboard/central) "ork" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/effect/turf_decal/bot{ @@ -96996,9 +96977,10 @@ /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 6 }, -/obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/tile/red/anticorner/contrasted, /obj/structure/cable, +/obj/item/key/security, +/obj/vehicle/ridden/secway, /turf/open/floor/iron/dark, /area/station/security/checkpoint/escape) "otz" = ( @@ -100489,7 +100471,7 @@ /turf/open/floor/iron/dark/textured, /area/station/service/library/lounge) "oSD" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/structure/sign/poster/official/random/directional/south, @@ -106797,7 +106779,6 @@ pixel_y = 3 }, /obj/item/clothing/shoes/magboots, -/obj/machinery/bluespace_vendor/directional/north, /turf/open/floor/iron/dark/textured, /area/station/engineering/engine_smes) "pMB" = ( @@ -114526,7 +114507,7 @@ /obj/effect/turf_decal/trimline/dark/corner{ dir = 8 }, -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /turf/open/floor/iron/dark/textured_corner{ dir = 8 }, @@ -127467,19 +127448,6 @@ /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/misc/asteroid/airless, /area/space/nearstation) -"sTz" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/line{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "sTA" = ( /obj/effect/turf_decal/siding/dark/corner{ dir = 8 @@ -142762,7 +142730,7 @@ /area/station/science/ordnance/storage) "vgI" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 4 }, /obj/effect/turf_decal/bot, @@ -145593,7 +145561,6 @@ }, /obj/item/radio/intercom/directional/east, /obj/structure/closet/crate/trashcart/laundry, -/obj/machinery/bluespace_vendor/directional/south, /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/siding/dark_blue{ dir = 8 @@ -159391,7 +159358,6 @@ "xJr" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, -/obj/machinery/bluespace_vendor/directional/north, /obj/item/wallframe/digital_clock{ pixel_y = 8 }, @@ -199186,7 +199152,7 @@ xBV qZz nzm iek -evk +bGE pbP qTF hVS @@ -261868,7 +261834,7 @@ fys ddf qkZ xAh -gjm +dIr oLT dIr jEG @@ -262346,7 +262312,7 @@ xiD wAV jmZ piW -sTz +jmZ prp vvZ qpN diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm index 2effc83522f..ad2cd80566d 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm @@ -30,11 +30,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) -"n" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/bluespace_vendor/directional/east, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/security) "o" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /obj/effect/decal/cleanable/dirt, @@ -144,7 +139,7 @@ p p p p -n +p v e "} diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm index e3890757023..a2b6aa73b2a 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm @@ -33,11 +33,6 @@ /obj/structure/girder, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) -"T" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron/smooth, -/area/station/maintenance/port/central) "U" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -74,7 +69,7 @@ C a "} (4,1,1) = {" -T +Z Z Z Z diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index d8f320e4bd3..1910893bd47 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -1604,11 +1604,6 @@ /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, /area/station/asteroid) -"aft" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/bluespace_vendor/directional/south, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "afu" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/item/radio/intercom/directional/south, @@ -3105,14 +3100,6 @@ /obj/structure/sign/clock/directional/south, /turf/open/floor/iron, /area/station/commons/fitness) -"arj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "ary" = ( /obj/structure/table/wood, /obj/item/pillow/random, @@ -4835,6 +4822,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/lobby) +"aIF" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/arrows/red{ + pixel_y = 15 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "aIH" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -5084,14 +5086,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/genetics) -"aKZ" = ( -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) "aLd" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -5318,6 +5312,18 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"aMR" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/cup/glass/coffee{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/item/storage/medkit/regular{ + pixel_x = -6 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "aNa" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -5830,6 +5836,15 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/execution/education) +"aRR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Space Shutters"; + id = "exobayshutters"; + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "aSe" = ( /obj/structure/closet/wardrobe/black, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -6693,15 +6708,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/commons/dorms) -"blR" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/door/window/elevator/right/directional/west{ - transport_linked_id = "tram_xeno_lift" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "bmp" = ( /obj/effect/turf_decal/trimline/green/corner{ dir = 1 @@ -7525,6 +7531,14 @@ }, /turf/open/floor/glass/reinforced, /area/station/science/research) +"bCL" = ( +/obj/machinery/door/airlock{ + name = "Unit 5"; + id_tag = "Toilet5" + }, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "bDf" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, @@ -7798,16 +7812,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/office) -"bHP" = ( -/obj/machinery/computer/station_alert/station_only{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/sign/poster/official/build/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "bIf" = ( /obj/effect/turf_decal/trimline/purple/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8405,6 +8409,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos) +"bRf" = ( +/obj/machinery/door/airlock{ + name = "Unit 1"; + id_tag = "Toilet1" + }, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "bRl" = ( /obj/structure/water_source/puddle, /turf/open/misc/asteroid, @@ -9004,6 +9016,13 @@ }, /turf/open/floor/iron/kitchen_coldroom, /area/station/service/kitchen/coldroom) +"caH" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/machinery/wall_healer/directional/east, +/turf/open/floor/iron, +/area/station/cargo/miningdock) "caN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -9525,6 +9544,13 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/security/processing) +"cjd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/wall_healer/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "cjy" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -9560,6 +9586,14 @@ "cjT" = ( /turf/open/floor/iron/white, /area/station/medical/chemistry) +"cjU" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "ckb" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -9716,26 +9750,6 @@ /obj/machinery/vending/modularpc, /turf/open/floor/iron/white, /area/station/science/lobby) -"coa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Xenobiology South" - }, -/obj/structure/closet{ - anchored = 1; - name = "Cold protection gear" - }, -/obj/item/clothing/shoes/winterboots, -/obj/item/clothing/shoes/winterboots, -/obj/item/clothing/suit/hooded/wintercoat/science, -/obj/item/clothing/suit/hooded/wintercoat/science, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "coB" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -10499,13 +10513,6 @@ /obj/structure/thermoplastic/light, /turf/open/openspace, /area/station/hallway/primary/tram/center) -"cAb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "cAc" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -10550,6 +10557,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"cAK" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "cBo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -10575,6 +10586,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningdock) +"cBJ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningdock) "cBP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10673,11 +10696,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/warehouse) -"cDZ" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "cEb" = ( /obj/structure/railing{ dir = 8 @@ -10922,10 +10940,30 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"cHY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/pump/off/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "cHZ" = ( /obj/structure/railing, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/turret_protected/aisat/hallway) +"cIi" = ( +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/sign/poster/official/build/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "cIm" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/bot, @@ -11133,6 +11171,14 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"cMW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "cNc" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -11385,6 +11431,22 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/science/lower) +"cQl" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/full, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lobby Lockdown Shutters"; + id = "cargolobbylockdown" + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "cQs" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, @@ -13286,21 +13348,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"dyF" = ( -/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/light/floor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "dyI" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -14710,6 +14757,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"dWp" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/button/door/directional/south{ + req_access = list("cargo"); + name = "Cargo Lockdown"; + id = "cargolockdown"; + pixel_x = 7 + }, +/obj/machinery/button/door/directional/south{ + pixel_x = -7; + name = "Cargo Lobby Lockdown"; + id = "cargolobbylockdown'"; + req_access = list("cargo") + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "dWM" = ( /obj/structure/table, /obj/item/radio{ @@ -14813,13 +14876,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"dYW" = ( -/obj/machinery/camera/directional/south{ - pixel_x = 21; - pixel_y = 0 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "dZu" = ( /obj/machinery/mecha_part_fabricator, /obj/effect/turf_decal/delivery, @@ -15196,19 +15252,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lower) -"egT" = ( -/obj/item/experi_scanner{ - pixel_x = 5 - }, -/obj/item/experi_scanner, -/obj/item/experi_scanner{ - pixel_x = -5 - }, -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/wall_healer/directional/east, -/turf/open/floor/iron/white, -/area/station/science/research) "ehd" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/right/directional/east{ @@ -15532,6 +15575,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"enR" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "eor" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -15560,29 +15610,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"eoC" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/door/window/left/directional/north{ - name = "Cargo Desk"; - req_access = list("cargo") - }, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/turf/open/floor/iron, -/area/station/cargo/office) "eoE" = ( /obj/effect/landmark/event_spawn, /obj/effect/landmark/navigate_destination/med, @@ -15756,21 +15783,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"esN" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "esQ" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -15921,15 +15933,6 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"evF" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/machinery/door/window/elevator/left/directional/east{ - transport_linked_id = "tram_xeno_lift" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "evW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16366,6 +16369,28 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/warehouse) +"eCy" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/machinery/light/directional/east, +/obj/machinery/button/door/directional/east{ + name = "Cargo Lockdown"; + id = "cargolockdown"; + req_access = list("cargo"); + pixel_x = 21 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "eCR" = ( /obj/machinery/door/airlock{ name = "Private Quarters H"; @@ -16816,15 +16841,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/maintenance/tram/right) -"eNU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Space Shutters"; - id = "exobayshutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "eNW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -16916,6 +16932,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) +"ePb" = ( +/obj/structure/closet/secure_closet/exile, +/obj/effect/turf_decal/bot, +/obj/machinery/wall_healer/directional/east, +/turf/open/floor/iron, +/area/station/command/gateway) "ePi" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, @@ -17149,6 +17171,29 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/courtroom) +"eTH" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/door/window/left/directional/north{ + name = "Cargo Desk"; + req_access = list("cargo") + }, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/turf/open/floor/iron, +/area/station/cargo/office) "eTP" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder{ @@ -17737,14 +17782,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"ffE" = ( -/obj/machinery/door/airlock{ - name = "Unit 1"; - id_tag = "Toilet1" - }, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "ffL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17924,24 +17961,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/dorms) -"fhV" = ( -/obj/structure/table/glass, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/camera/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medical - Treatment South-East" - }, -/obj/machinery/wall_healer/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "fid" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/lattice/catwalk, @@ -18021,6 +18040,15 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/left) +"fjA" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/door/window/elevator/right/directional/west{ + transport_linked_id = "tram_xeno_lift" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "fjN" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -18197,16 +18225,6 @@ /obj/machinery/hydroponics/soil/rich, /turf/open/floor/grass, /area/station/service/hydroponics/garden) -"fmH" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/item/reagent_containers/cup/bottle/multiver, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/machinery/wall_healer/directional/west, -/turf/open/floor/iron/white, -/area/station/security/medical) "fmJ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -20156,6 +20174,12 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, /area/station/maintenance/solars/starboard/fore) +"fYU" = ( +/obj/structure/railing{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "fYW" = ( /obj/structure/grille, /obj/structure/lattice, @@ -20617,35 +20641,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) -"gib" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) -"gie" = ( -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/mmi{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/science/explab) "gij" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21245,11 +21240,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"gsN" = ( -/obj/structure/filingcabinet/white, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/carpet, -/area/station/medical/psychology) "gsO" = ( /obj/structure/railing/corner{ dir = 8 @@ -21431,14 +21421,6 @@ /obj/effect/turf_decal/trimline/tram/corner, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"gwe" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/computer/crew, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "gwy" = ( /obj/structure/sign/warning/no_smoking{ pixel_x = -28 @@ -22308,6 +22290,21 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/lesser) +"gNr" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/storage/box/monkeycubes{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/storage/box/monkeycubes{ + pixel_x = 6; + pixel_y = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gNy" = ( /turf/open/floor/iron/dark/herringbone, /area/station/commons/vacant_room) @@ -22686,6 +22683,18 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"gUD" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/full, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lobby Lockdown Shutters"; + id = "cargolobbylockdown" + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "gUE" = ( /obj/machinery/power/emitter, /obj/machinery/light/small/directional/north, @@ -22925,15 +22934,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"gZp" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown"; - dir = 8 - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "gZB" = ( /obj/effect/landmark/start/station_engineer, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23698,11 +23698,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"hnu" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/machinery/processor/slime, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "hnH" = ( /obj/machinery/newscaster/directional/north, /turf/open/floor/wood/large, @@ -23731,6 +23726,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) +"hox" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "hoA" = ( /obj/effect/landmark/firealarm_sanity, /turf/open/openspace, @@ -24012,6 +24014,22 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/auxlab/firing_range) +"hvP" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/full, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lobby Lockdown Shutters"; + id = "cargolobbylockdown" + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "hvZ" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -24346,6 +24364,19 @@ /obj/structure/thermoplastic, /turf/open/openspace, /area/station/hallway/primary/tram/center) +"hEC" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningdock) "hEK" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Control" @@ -24604,6 +24635,28 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/plating, /area/station/engineering/atmos) +"hIY" = ( +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/mmi{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/science/explab) "hJa" = ( /obj/structure/table, /obj/item/electronics/apc, @@ -24835,11 +24888,6 @@ /obj/machinery/light/floor, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"hNM" = ( -/obj/machinery/light/small/dim/directional/south, -/obj/machinery/camera/directional/south, -/turf/open/floor/engine, -/area/station/science/xenobiology) "hNR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment{ @@ -24848,18 +24896,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"hNT" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/full, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lobby Lockdown Shutters"; - id = "cargolobbylockdown" - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "hOd" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 @@ -25319,22 +25355,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"hWO" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/full, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lobby Lockdown Shutters"; - id = "cargolobbylockdown" - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "hWZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -25722,22 +25742,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) -"idm" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/full, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lobby Lockdown Shutters"; - id = "cargolobbylockdown" - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "idz" = ( /obj/effect/turf_decal/trimline/green/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26192,25 +26196,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"inC" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/machinery/camera/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medical - Surgery B" - }, -/obj/machinery/wall_healer/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/machinery/light_switch/directional/east{ - pixel_x = 22; - pixel_y = -9 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery/aft) "inK" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Recreation Area Maintenance Access" @@ -26763,6 +26748,11 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) +"ixK" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "ixO" = ( /obj/structure/chair/comfy/brown{ dir = 8; @@ -26972,14 +26962,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"iCe" = ( -/obj/machinery/door/airlock{ - name = "Unit 2"; - id_tag = "Toilet2" - }, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "iCh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -27393,6 +27375,21 @@ }, /turf/open/floor/wood, /area/station/service/bar/backroom) +"iLI" = ( +/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/light/floor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningdock) "iLP" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/turf_decal/stripes/asteroid/box, @@ -27550,6 +27547,18 @@ }, /turf/open/floor/iron, /area/station/security/processing) +"iOb" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "iOc" = ( /obj/machinery/stasis{ dir = 8 @@ -27685,12 +27694,34 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"iQG" = ( +/obj/machinery/button/elevator/directional/north{ + id = "tram_xeno_lift" + }, +/obj/machinery/lift_indicator/directional/north{ + linked_elevator_id = "tram_xeno_lift" + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/obj/machinery/light/directional/north, +/obj/machinery/door/window/elevator/left/directional/east{ + transport_linked_id = "tram_xeno_lift" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "iQH" = ( /obj/machinery/computer/security/mining{ dir = 1 }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"iQR" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ + dir = 4 + }, +/turf/open/floor/engine/o2, +/area/station/science/ordnance/storage) "iQU" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -27760,16 +27791,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat_interior) -"iSr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/pump/off/dark{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "iSt" = ( /obj/structure/table/wood, /obj/item/staff/broom, @@ -28104,10 +28125,6 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) -"iYh" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "iYv" = ( /obj/structure/chair/office/light{ dir = 4 @@ -28823,15 +28840,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"jjJ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/computer/records/medical, -/obj/machinery/light/cold/directional/north, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jjM" = ( /obj/structure/railing/corner/end/flip{ dir = 8 @@ -29201,12 +29209,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"jpD" = ( -/obj/structure/closet/secure_closet/exile, -/obj/effect/turf_decal/bot, -/obj/machinery/wall_healer/directional/east, -/turf/open/floor/iron, -/area/station/command/gateway) "jpR" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line{ @@ -29290,18 +29292,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"jrc" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "jrg" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/decal/cleanable/dirt, @@ -29358,24 +29348,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"jsn" = ( -/obj/structure/rack, -/obj/structure/table, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/obj/item/grenade/chem_grenade{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = -7; - pixel_y = 1 - }, -/obj/item/storage/box/beakers{ - pixel_x = 5; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "jst" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -29873,14 +29845,6 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron, /area/station/security/checkpoint/medical) -"jzR" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/machinery/wall_healer/directional/north, -/turf/open/floor/iron, -/area/station/engineering/break_room) "jzW" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -30135,6 +30099,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"jEi" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lobby Lockdown Shutters"; + id = "cargolobbylockdown" + }, +/turf/open/floor/plating, +/area/station/cargo/lobby) "jEu" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) @@ -30233,6 +30205,12 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"jGx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "jGD" = ( /obj/structure/chair{ dir = 1 @@ -30375,14 +30353,6 @@ /obj/effect/landmark/firealarm_sanity, /turf/open/floor/glass/reinforced, /area/station/science/research) -"jIZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/turf/open/floor/plating, -/area/station/cargo/office) "jJd" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -31327,6 +31297,25 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"jZm" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/camera/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medical - Surgery B" + }, +/obj/machinery/wall_healer/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/light_switch/directional/east{ + pixel_x = 22; + pixel_y = -9 + }, +/turf/open/floor/iron/white, +/area/station/medical/surgery/aft) "jZJ" = ( /obj/structure/chair/plastic, /obj/machinery/light/warm/directional/north, @@ -31949,27 +31938,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/miningdock) -"kir" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - dir = 8; - id = "rndlab1" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Research Lab Desk"; - req_access = list("science") - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/door/window/left/directional/west{ - name = "Robotics Desk"; - req_access = list("robotics") - }, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/lab) "kis" = ( /obj/machinery/computer/atmos_alert/station_only{ dir = 8 @@ -32426,18 +32394,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/science) -"kpx" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/box/red, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "kpC" = ( /obj/structure/chair/comfy/beige{ dir = 4 @@ -32513,28 +32469,6 @@ }, /turf/open/floor/iron/freezer, /area/station/science/lower) -"kqV" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/door/window/left/directional/north{ - name = "Delivery Desk"; - req_access = list("shipping") - }, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "kqY" = ( /obj/machinery/camera{ dir = 10; @@ -33046,6 +32980,12 @@ }, /turf/open/space/openspace, /area/space) +"kza" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "kzg" = ( /obj/structure/table, /obj/machinery/recharger, @@ -33199,6 +33139,14 @@ /obj/structure/table/glass, /turf/open/floor/iron/white, /area/station/security/medical) +"kBX" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/wall_healer/directional/north, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) "kCm" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/table, @@ -33636,6 +33584,15 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/security/prison) +"kHV" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Space Shutters"; + id = "exobayshutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "kHZ" = ( /obj/structure/railing{ dir = 4 @@ -34496,20 +34453,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/meeting_room) -"kWc" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/sign/warning/hot_temp/directional/south, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "kWd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -34678,12 +34621,28 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white, /area/station/science/lower) -"kZa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ +"kYT" = ( +/obj/machinery/mineral/ore_redemption, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/turf/open/floor/iron, +/area/station/cargo/office) +"kZa" = ( +/obj/machinery/camera/directional/south{ + pixel_x = 21; + pixel_y = 0 + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "kZh" = ( /turf/open/floor/eighties/red, /area/station/commons/fitness/recreation/entertainment) @@ -35103,6 +35062,14 @@ /obj/machinery/telecomms/server/presets/security, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"liB" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/computer/crew, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "liC" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -35270,6 +35237,26 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"llx" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Mailing Sorting Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/mapping_helpers/airlock/access/all/supply/shipping, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "llE" = ( /obj/effect/landmark/event_spawn, /obj/effect/landmark/navigate_destination/kitchen, @@ -35824,6 +35811,16 @@ "ltw" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) +"ltL" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/item/stack/medical/mesh, +/obj/item/stack/medical/gauze, +/obj/structure/table/glass, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "ltZ" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 @@ -35843,10 +35840,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron, /area/station/medical/virology) -"luo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply, -/turf/closed/wall, -/area/station/science/ordnance) "luy" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark, @@ -36004,6 +35997,15 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"lxd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "lxi" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/cable, @@ -36160,6 +36162,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"lyQ" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/machinery/processor/slime, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "lyR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36495,12 +36502,6 @@ dir = 4 }, /area/station/service/chapel) -"lEt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ - dir = 8 - }, -/turf/open/floor/engine/o2, -/area/station/science/ordnance/storage) "lED" = ( /obj/effect/turf_decal/trimline/red/corner{ dir = 4 @@ -36650,22 +36651,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"lHt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/reagent_dispensers/watertank, -/obj/item/extinguisher{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/extinguisher, -/obj/machinery/wall_healer/directional/south, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "lHu" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 @@ -36750,18 +36735,6 @@ }, /turf/open/openspace, /area/station/hallway/secondary/exit) -"lIS" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/bluespace_vendor/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/escapepodbay) "lIZ" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ @@ -36951,14 +36924,6 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron, /area/station/cargo/office) -"lMw" = ( -/obj/machinery/door/airlock{ - name = "Unit 3"; - id_tag = "Toilet3" - }, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "lMJ" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -37257,6 +37222,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"lRF" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningdock) "lRP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -37362,6 +37336,10 @@ }, /turf/open/floor/iron, /area/station/security/prison/safe) +"lTo" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply, +/turf/closed/wall, +/area/station/science/ordnance) "lTs" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) @@ -37892,6 +37870,17 @@ /obj/machinery/door/window/right/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/disposal) +"mbU" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/escapepodbay) "mbX" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Control" @@ -38135,6 +38124,21 @@ }, /turf/open/floor/iron/freezer, /area/station/science/lower) +"mga" = ( +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/obj/machinery/requests_console/directional/east{ + name = "Atmospherics Requests Console"; + department = "Atmospherics" + }, +/obj/machinery/camera/emp_proof{ + dir = 6; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Front Desk" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "mgh" = ( /obj/structure/sign/clock/directional/north, /turf/open/openspace, @@ -38448,18 +38452,6 @@ /obj/effect/landmark/atmospheric_sanity/mark_all_station_areas_as_goal, /turf/open/space/basic, /area/space) -"mmt" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/radio/intercom/directional/west, -/obj/item/storage/medkit/regular{ - pixel_x = -6 - }, -/turf/open/floor/iron, -/area/station/command/bridge) "mmv" = ( /obj/structure/table/glass, /obj/item/folder/red, @@ -38773,6 +38765,11 @@ /obj/machinery/teleport/hub, /turf/open/floor/circuit, /area/station/command/teleporter) +"msF" = ( +/obj/structure/filingcabinet/white, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/carpet, +/area/station/medical/psychology) "msS" = ( /turf/open/openspace, /area/station/maintenance/solars/port) @@ -38900,12 +38897,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"mwj" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 6 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "mwt" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ dir = 1 @@ -40099,6 +40090,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white, /area/station/medical/storage) +"mVN" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "mVS" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/door/window/left/directional/west{ @@ -40355,15 +40352,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) -"naS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Space Shutters"; - id = "exobayshutters"; - dir = 1 - }, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "nbh" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/trimline/blue/filled/corner, @@ -41331,14 +41319,6 @@ }, /turf/open/floor/glass, /area/station/commons/fitness/recreation) -"nrc" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lobby Lockdown Shutters"; - id = "cargolobbylockdown" - }, -/turf/open/floor/plating, -/area/station/cargo/lobby) "nrf" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/wood/fancy/red, @@ -41510,6 +41490,10 @@ /obj/effect/landmark/navigate_destination/chemfactory, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"nuu" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "nuw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42165,15 +42149,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"nGZ" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "nHi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -43015,6 +42990,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) +"nWj" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "nWu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -43424,6 +43409,17 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) +"odi" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Incinerator ACcess" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "odr" = ( /obj/structure/railing{ dir = 4 @@ -43561,16 +43557,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"ogk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - pixel_x = 21; - pixel_y = 0 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "ogt" = ( /obj/structure/table/reinforced, /obj/item/clothing/ears/earmuffs{ @@ -44006,6 +43992,14 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) +"ooI" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/sign/calendar/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "ooV" = ( /obj/effect/turf_decal/trimline/tram/filled/corner{ dir = 4 @@ -44103,14 +44097,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/plating, /area/station/engineering/atmos) -"orm" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/wall_healer/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/commons/dorms/laundry) "orQ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -44523,13 +44509,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) -"oAp" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","rd","xeno"); - c_tag = "Science - Xenobiology Lower Containment Chamber" - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "oAG" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/effect/turf_decal/stripes{ @@ -44824,24 +44803,6 @@ "oGJ" = ( /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/medical/chemistry) -"oGK" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/structure/ladder, -/obj/machinery/elevator_control_panel/directional/south{ - linked_elevator_id = "tram_xeno_lift"; - pixel_x = 31; - pixel_y = -31 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "oGM" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -45708,21 +45669,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"oZt" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/item/storage/box/monkeycubes{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/item/storage/box/monkeycubes{ - pixel_x = 6; - pixel_y = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "oZA" = ( /obj/structure/chair/office{ dir = 8 @@ -46037,6 +45983,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/cargo/drone_bay) +"pgc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "pgm" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -47466,13 +47421,6 @@ }, /turf/open/floor/circuit/telecomms, /area/station/science/xenobiology) -"pEe" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit) "pEf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47524,6 +47472,19 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"pFu" = ( +/obj/item/experi_scanner{ + pixel_x = 5 + }, +/obj/item/experi_scanner, +/obj/item/experi_scanner{ + pixel_x = -5 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/wall_healer/directional/east, +/turf/open/floor/iron/white, +/area/station/science/research) "pFw" = ( /obj/machinery/airalarm/directional/east, /obj/item/storage/toolbox/mechanical{ @@ -47694,6 +47655,15 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/science/lower) +"pHz" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "pHX" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 1 @@ -48198,6 +48168,26 @@ "pQx" = ( /turf/open/misc/asteroid/dug, /area/station/science/explab) +"pQy" = ( +/obj/structure/table, +/obj/item/multitool/circuit{ + pixel_x = -7; + pixel_y = 0 + }, +/obj/item/multitool/circuit{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/multitool/circuit{ + pixel_x = 7; + pixel_y = 0 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Testing Lab" + }, +/turf/open/floor/iron, +/area/station/science/explab) "pQF" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -48313,6 +48303,15 @@ /obj/structure/sign/departments/evac/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"pUi" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/machinery/door/window/elevator/left/directional/east{ + transport_linked_id = "tram_xeno_lift" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "pUj" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -48383,6 +48382,24 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) +"pUT" = ( +/obj/structure/table/glass, +/obj/item/stack/medical/mesh, +/obj/item/stack/medical/gauze, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/machinery/camera/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medical - Treatment South-East" + }, +/obj/machinery/wall_healer/directional/east, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "pUV" = ( /obj/structure/table, /obj/item/clipboard, @@ -48781,14 +48798,6 @@ /obj/structure/sign/clock/directional/west, /turf/open/floor/iron, /area/station/security/courtroom) -"qcw" = ( -/obj/machinery/computer/station_alert/station_only{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/sign/calendar/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "qcG" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/iron/smooth, @@ -49834,6 +49843,22 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"qwv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/item/extinguisher{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/extinguisher, +/obj/machinery/wall_healer/directional/south, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "qwH" = ( /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/wood, @@ -50117,6 +50142,16 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/port/central) +"qCk" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/item/reagent_containers/cup/bottle/multiver, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/machinery/wall_healer/directional/west, +/turf/open/floor/iron/white, +/area/station/security/medical) "qCm" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -50299,26 +50334,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/commons/storage/art) -"qEh" = ( -/obj/structure/table, -/obj/item/multitool/circuit{ - pixel_x = -7; - pixel_y = 0 - }, -/obj/item/multitool/circuit{ - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/multitool/circuit{ - pixel_x = 7; - pixel_y = 0 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Testing Lab" - }, -/turf/open/floor/iron, -/area/station/science/explab) "qEl" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -50329,13 +50344,6 @@ "qEH" = ( /turf/closed/wall, /area/station/solars/port) -"qEU" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/wall_healer/directional/south, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "qFf" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -50393,6 +50401,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/disposal) +"qHa" = ( +/obj/machinery/light/directional/east, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "qHe" = ( /obj/machinery/camera/directional/north{ c_tag = "Secure - Gateway" @@ -50472,26 +50485,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"qHV" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Mailing Sorting Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/effect/mapping_helpers/airlock/access/all/supply/shipping, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "qHW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50809,19 +50802,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"qNH" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "qNI" = ( /turf/closed/wall, /area/station/medical/medbay/central) @@ -51034,6 +51014,14 @@ }, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) +"qSB" = ( +/obj/machinery/door/airlock{ + name = "Unit 3"; + id_tag = "Toilet3" + }, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "qSE" = ( /obj/structure/table, /obj/machinery/computer/security/telescreen/interrogation, @@ -51255,6 +51243,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"qWf" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/box/red, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "qWy" = ( /obj/item/kirbyplants/random, /obj/machinery/newscaster/directional/south, @@ -51397,14 +51397,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) -"qYx" = ( -/obj/machinery/door/airlock{ - name = "Unit 5"; - id_tag = "Toilet5" - }, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "qYJ" = ( /obj/machinery/flasher/directional/north{ id = "AI" @@ -51801,6 +51793,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"rfi" = ( +/obj/machinery/camera/directional/north, +/turf/open/floor/engine, +/area/station/science/xenobiology) "rfQ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -52169,14 +52165,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"rlX" = ( -/obj/machinery/door/airlock{ - name = "Unit 4"; - id_tag = "Toilet4" - }, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "rlZ" = ( /obj/machinery/camera/directional/west{ c_tag = "Hallway - Starboard Tram Platform North" @@ -52213,10 +52201,6 @@ "rmB" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) -"rmG" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "rmH" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -52413,6 +52397,26 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) +"roQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Xenobiology South" + }, +/obj/structure/closet{ + anchored = 1; + name = "Cold protection gear" + }, +/obj/item/clothing/shoes/winterboots, +/obj/item/clothing/shoes/winterboots, +/obj/item/clothing/suit/hooded/wintercoat/science, +/obj/item/clothing/suit/hooded/wintercoat/science, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "roR" = ( /turf/closed/wall, /area/station/science/breakroom) @@ -52447,6 +52451,12 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"rpB" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/table, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/iron, +/area/station/security/checkpoint/arrivals) "rpJ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -53443,6 +53453,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/commons/vacant_room) +"rLG" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/sign/warning/hot_temp/directional/south, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "rLP" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -53702,6 +53726,11 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"rPv" = ( +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/camera/directional/south, +/turf/open/floor/engine, +/area/station/science/xenobiology) "rPH" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -54146,22 +54175,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"rWE" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/button/door/directional/south{ - req_access = list("cargo"); - name = "Cargo Lockdown"; - id = "cargolockdown"; - pixel_x = 7 - }, -/obj/machinery/button/door/directional/south{ - pixel_x = -7; - name = "Cargo Lobby Lockdown"; - id = "cargolobbylockdown'"; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "rWJ" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -55572,6 +55585,27 @@ }, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) +"sva" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Research and Development Shutter"; + dir = 8; + id = "rndlab1" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/east{ + name = "Research Lab Desk"; + req_access = list("science") + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/door/window/left/directional/west{ + name = "Robotics Desk"; + req_access = list("robotics") + }, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/lab) "svc" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -55830,11 +55864,6 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/ai_monitored/turret_protected/aisat/foyer) -"sAc" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/effect/turf_decal/trimline/red/filled/line, -/turf/open/floor/iron, -/area/station/security/checkpoint/arrivals) "sAd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -56052,12 +56081,6 @@ /obj/machinery/telecomms/broadcaster/preset_right, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"sFI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/station/science/ordnance) "sGb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -56561,6 +56584,13 @@ "sOS" = ( /turf/open/floor/carpet, /area/station/cargo/miningdock) +"sPb" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/wall_healer/directional/south, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) "sPo" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -56943,6 +56973,12 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"sWP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ + dir = 8 + }, +/turf/open/floor/engine/o2, +/area/station/science/ordnance/storage) "sWQ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/preopen{ @@ -57152,6 +57188,19 @@ "tag" = ( /turf/closed/wall/r_wall, /area/station/security/lockers) +"tat" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningdock) "taw" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron, @@ -57300,6 +57349,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/ce) +"tcV" = ( +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/foyer) "tda" = ( /obj/structure/chair{ dir = 4 @@ -57424,16 +57479,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"tfi" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, -/obj/structure/table/glass, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "tfp" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/thinplating{ @@ -57486,6 +57531,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"tgi" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "tgj" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -58235,6 +58287,28 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"ttK" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/door/window/left/directional/north{ + name = "Delivery Desk"; + req_access = list("shipping") + }, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "ttS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -58346,6 +58420,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"twv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/station/science/ordnance) "twz" = ( /turf/open/openspace, /area/station/hallway/secondary/entry) @@ -58421,12 +58501,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"txu" = ( -/obj/structure/filingcabinet/white, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "txv" = ( /obj/item/book/bible, /obj/structure/altar/of_gods, @@ -58461,12 +58535,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"txW" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ - dir = 4 - }, -/turf/open/floor/engine/o2, -/area/station/science/ordnance/storage) "tyi" = ( /obj/structure/table, /obj/machinery/button/door{ @@ -58538,10 +58606,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"tzk" = ( -/obj/machinery/camera/directional/north, -/turf/open/floor/engine, -/area/station/science/xenobiology) "tzq" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -58563,31 +58627,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"tzE" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningdock) -"tzJ" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "tzL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -58880,6 +58919,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"tEx" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","rd","xeno"); + c_tag = "Science - Xenobiology Lower Containment Chamber" + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "tED" = ( /obj/effect/turf_decal/tile/neutral/tram, /obj/effect/turf_decal/stripes/white/line, @@ -59193,6 +59239,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/bridge) +"tJK" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/machinery/wall_healer/directional/north, +/turf/open/floor/iron, +/area/station/engineering/break_room) "tJR" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -60025,6 +60079,15 @@ /obj/item/clothing/glasses/meson, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"tZo" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/structure/sign/clock/directional/north, +/obj/structure/closet/secure_closet/security/engine, +/obj/item/clothing/mask/whistle, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "tZO" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{ dir = 8 @@ -60054,22 +60117,6 @@ "uax" = ( /turf/open/floor/iron, /area/station/cargo/storage) -"uaG" = ( -/obj/machinery/button/elevator/directional/north{ - id = "tram_xeno_lift" - }, -/obj/machinery/lift_indicator/directional/north{ - linked_elevator_id = "tram_xeno_lift" - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/machinery/light/directional/north, -/obj/machinery/door/window/elevator/left/directional/east{ - transport_linked_id = "tram_xeno_lift" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "uaJ" = ( /obj/machinery/computer/mechpad, /turf/open/floor/iron, @@ -60079,16 +60126,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"uba" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ubd" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -60112,6 +60149,14 @@ /obj/effect/landmark/start/chief_engineer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"ubu" = ( +/obj/machinery/door/airlock{ + name = "Unit 4"; + id_tag = "Toilet4" + }, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "ubx" = ( /obj/effect/turf_decal/arrows/red{ pixel_y = 15 @@ -60197,6 +60242,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/execution/transfer) +"udg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/chair/office/light{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/explab) "udk" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -60353,18 +60407,6 @@ /obj/machinery/chem_master, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"ufH" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/bed/medical/emergency, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Lobby" - }, -/obj/effect/turf_decal/bot, -/obj/effect/landmark/start/hangover, -/obj/machinery/wall_healer/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "ufM" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/shower/directional/west, @@ -60474,15 +60516,6 @@ "uid" = ( /turf/open/floor/eighties, /area/station/commons/fitness/recreation/entertainment) -"uig" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/chair/office/light{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/science/explab) "uip" = ( /obj/structure/closet/secure_closet/brig{ name = "Medical Cell Locker"; @@ -60710,16 +60743,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"ukE" = ( -/obj/machinery/computer/station_alert/station_only{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/bridge) "ukS" = ( /obj/structure/table/reinforced, /obj/item/surgical_drapes, @@ -61012,6 +61035,13 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/ai_monitored/turret_protected/aisat/foyer) +"upf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/directional/south, +/turf/open/floor/engine, +/area/station/science/xenobiology) "upj" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/item/radio/intercom/directional/south, @@ -61225,6 +61255,17 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/central) +"ust" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/machinery/button/door/directional/north{ + name = "Space Shutters"; + id = "exobayshutters" + }, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "usz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, @@ -61599,13 +61640,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) -"uyF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/wall_healer/directional/west, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "uyJ" = ( /turf/open/floor/iron, /area/station/security/prison/workout) @@ -62083,6 +62117,21 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron, /area/station/security/prison/garden) +"uFK" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningdock) "uFX" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -62260,6 +62309,18 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"uHE" = ( +/obj/machinery/duct, +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/wall_healer/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "uHF" = ( /obj/structure/railing{ dir = 4 @@ -62327,15 +62388,6 @@ "uIt" = ( /turf/closed/wall, /area/station/security/evidence) -"uIx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "uIG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -62734,11 +62786,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"uOY" = ( -/obj/machinery/light/cold/directional/north, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "uOZ" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "CO2 Outlet Pump"; @@ -62930,14 +62977,6 @@ /obj/item/key/janitor, /turf/open/floor/iron, /area/station/service/janitor) -"uUs" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/structure/sign/clock/directional/north, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "uUB" = ( /obj/docking_port/stationary{ name = "port bay 2"; @@ -63066,6 +63105,26 @@ /obj/item/pen, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"uXn" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Mixing Lab" + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/airalarm/mixingchamber_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/obj/effect/mapping_helpers/airalarm/link{ + chamber_id = "ordnanceburn" + }, +/obj/machinery/computer/atmos_control/ordnancemix{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "uXr" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -64006,13 +64065,6 @@ }, /turf/open/floor/wood/large, /area/station/service/theater) -"vmi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/directional/south, -/turf/open/floor/engine, -/area/station/science/xenobiology) "vml" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -64268,6 +64320,12 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) +"vro" = ( +/obj/structure/filingcabinet/white, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "vrq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -64824,6 +64882,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) +"vBl" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/directional/east, +/obj/machinery/smartfridge/extract/preloaded, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "vBn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -65127,18 +65194,6 @@ }, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) -"vFV" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/wall_healer/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "vGc" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -65421,28 +65476,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/miningdock) -"vMh" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/machinery/light/directional/east, -/obj/machinery/button/door/directional/east{ - name = "Cargo Lockdown"; - id = "cargolockdown"; - req_access = list("cargo"); - pixel_x = 21 - }, -/turf/open/floor/iron, -/area/station/cargo/office) "vMu" = ( /obj/modular_map_root/tramstation{ name = "secbarupper"; @@ -65638,6 +65671,16 @@ /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"vOW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + pixel_x = 21; + pixel_y = 0 + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "vPg" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -65739,6 +65782,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white, /area/station/security/medical) +"vRG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Cargo Lockdown Shutters"; + id = "cargolockdown" + }, +/turf/open/floor/plating, +/area/station/cargo/office) "vRK" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65972,13 +66023,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/service/lawoffice) -"vVY" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/machinery/wall_healer/directional/east, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "vWk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/window/left/directional/east{ @@ -66023,13 +66067,22 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"vXJ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ +"vWT" = ( +/obj/structure/railing{ dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/light/directional/east, -/obj/machinery/smartfridge/extract/preloaded, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 + }, +/obj/structure/ladder, +/obj/machinery/elevator_control_panel/directional/south{ + linked_elevator_id = "tram_xeno_lift"; + pixel_x = 31; + pixel_y = -31 + }, /turf/open/floor/iron/white, /area/station/science/xenobiology) "vXL" = ( @@ -66181,12 +66234,6 @@ /obj/machinery/computer/records/medical, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"waF" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "waV" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -66376,21 +66423,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"wdy" = ( -/obj/machinery/mineral/ore_redemption, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Cargo Lockdown Shutters"; - id = "cargolockdown" - }, -/turf/open/floor/iron, -/area/station/cargo/office) "wdC" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, @@ -66406,6 +66438,14 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) +"wdQ" = ( +/obj/machinery/door/airlock{ + name = "Unit 2"; + id_tag = "Toilet2" + }, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "wdU" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -66631,17 +66671,6 @@ /obj/structure/railing/corner, /turf/open/space/openspace, /area/station/solars/starboard/fore) -"whX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/button/door/directional/north{ - name = "Space Shutters"; - id = "exobayshutters" - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "wid" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -66981,6 +67010,13 @@ /obj/machinery/light/floor, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"wpr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "wpH" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -67079,6 +67115,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"wrz" = ( +/obj/structure/rack, +/obj/structure/table, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/obj/item/grenade/chem_grenade{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = -7; + pixel_y = 1 + }, +/obj/item/storage/box/beakers{ + pixel_x = 5; + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "wrJ" = ( /obj/structure/railing{ dir = 4 @@ -67154,16 +67208,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/commons/dorms) -"wtm" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/obj/machinery/light/directional/north, -/obj/machinery/door/window/elevator/right/directional/west{ - transport_linked_id = "tram_xeno_lift" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "wts" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -67881,26 +67925,6 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) -"wFd" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Mixing Lab" - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/mapping_helpers/airalarm/mixingchamber_access, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airalarm/tlv_no_checks, -/obj/effect/mapping_helpers/airalarm/link{ - chamber_id = "ordnanceburn" - }, -/obj/machinery/computer/atmos_control/ordnancemix{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "wFf" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -68150,11 +68174,6 @@ dir = 1 }, /area/station/command/bridge) -"wJA" = ( -/obj/machinery/light/directional/east, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "wJF" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68237,12 +68256,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/commons/lounge) -"wLx" = ( -/obj/machinery/computer/station_alert/station_only{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/foyer) "wLP" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -68351,27 +68364,17 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/iron/white/side, /area/station/science/lobby) -"wNY" = ( -/obj/machinery/computer/station_alert/station_only{ - dir = 8 - }, -/obj/machinery/requests_console/directional/east{ - name = "Atmospherics Requests Console"; - department = "Atmospherics" - }, -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Front Desk" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wOb" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 }, /turf/open/floor/iron, /area/station/security/brig) +"wOd" = ( +/obj/machinery/light/cold/directional/north, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "wOf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68554,15 +68557,6 @@ /obj/structure/flora/bush/jungle/b/style_random, /turf/open/misc/grass/jungle/station, /area/station/science/explab) -"wSq" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "wSx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -69778,6 +69772,18 @@ /obj/effect/turf_decal/trimline/white/filled/line, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"xsJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/bed/medical/emergency, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Lobby" + }, +/obj/effect/turf_decal/bot, +/obj/effect/landmark/start/hangover, +/obj/machinery/wall_healer/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "xsW" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -70102,15 +70108,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"xzn" = ( -/obj/structure/closet/secure_closet/security/engine, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/item/clothing/mask/whistle, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "xzo" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -70211,6 +70208,12 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"xAM" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "xAR" = ( /obj/machinery/door/airlock/security{ name = "Prison Workshop" @@ -70322,6 +70325,16 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"xCr" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/obj/machinery/light/directional/north, +/obj/machinery/door/window/elevator/right/directional/west{ + transport_linked_id = "tram_xeno_lift" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "xCs" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -71344,12 +71357,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"xYQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "xYZ" = ( /mob/living/basic/bot/cleanbot, /obj/effect/turf_decal/stripes/line{ @@ -71871,6 +71878,15 @@ /obj/item/stack/package_wrap, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"yhs" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/computer/records/medical, +/obj/machinery/light/cold/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "yhI" = ( /obj/structure/cable, /obj/structure/cable/layer1, @@ -72053,21 +72069,6 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron, /area/station/security/courtroom) -"ykm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Incinerator ACcess" - }, -/obj/machinery/atmospherics/components/unary/bluespace_sender{ - dir = 4; - initialize_directions = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "ykN" = ( /obj/effect/turf_decal/trimline/green/corner{ dir = 8 @@ -85164,7 +85165,7 @@ thi alR pAv veV -uOY +wOd hAD veV mCQ @@ -85421,7 +85422,7 @@ thi rnL pAv veV -cDZ +ixK hAD veV veV @@ -85934,14 +85935,14 @@ abM abM apC nmk -ffE +bRf alT hAD veV veV kMD alT -rlX +ubu oEl apC abM @@ -86192,7 +86193,7 @@ abM apC veV veV -uOY +wOd hAD veV fNx @@ -86435,7 +86436,7 @@ adp adA adB fIV -lIS +mbU adF adK yiI @@ -86448,14 +86449,14 @@ abM abM apC paH -iCe +wdQ alT hAD veV veV kMD alT -qYx +bCL rgT apC abM @@ -86962,7 +86963,7 @@ abM abM apC lYZ -lMw +qSB alT hAD hAD @@ -101872,7 +101873,7 @@ vfR pkp kis cFh -bHP +cIi pLH uGy xjn @@ -103630,7 +103631,7 @@ snQ iRL oXU gRY -vFV +uHE cWZ cWZ lbL @@ -104454,7 +104455,7 @@ bAK jsW vTc yfe -qcw +ooI sHH bXp qHs @@ -104693,7 +104694,7 @@ fal aks lJv ulV -jzR +tJK rsz sjM unn @@ -105215,8 +105216,8 @@ gYI bbj bbj roB -uUs -xzn +tZo +enR roB lUe vSL @@ -107260,7 +107261,7 @@ vNu eAN ake twr -wNY +mga xfx xaT shQ @@ -109344,7 +109345,7 @@ qTR mDC tnq hZr -ykm +odi gWu hZr aaa @@ -115514,7 +115515,7 @@ rwb qVr bfH bfH -vmi +upf qVr aaa aaa @@ -116277,7 +116278,7 @@ oNT dUT gdC qVr -tzk +rfi oxe ahk hdA @@ -116291,7 +116292,7 @@ sml bfH bfH oxe -vmi +upf qVr aaa aaa @@ -117053,8 +117054,8 @@ mBm dHc pYZ aqB -vXJ -oZt +vBl +gNr lym pph aet @@ -117314,11 +117315,11 @@ jiQ asv asv jiQ -uaG +iQG uHF hjM tjP -coa +roQ qVr qVr qVr @@ -117506,14 +117507,14 @@ eMT nES oaB qib -aft +cJX uGW fvM tMY -wSq +lRF bBJ lGz -tzE +tat hOd vWx gXK @@ -117566,7 +117567,7 @@ qVr qCW whn xcM -hnu +lyQ asv mln tjz @@ -117767,10 +117768,10 @@ afu uGW fvM tMY -tzJ +cBJ qCR pIb -dyF +iLI jbp cCZ sfE @@ -117836,7 +117837,7 @@ eGt bql bfH bfH -hNM +rPv qVr aaa aaa @@ -118024,10 +118025,10 @@ cJX uGW fvM tMY -esN +uFK oTd agk -qNH +hEC njQ vWx ggH @@ -118283,7 +118284,7 @@ uGW uGW njI kjN -vVY +caH qxm iLu oys @@ -118342,11 +118343,11 @@ jiQ asv asv jiQ -wtm +xCr gJY coM bgH -lHt +qwv qVr qVr qVr @@ -118850,7 +118851,7 @@ qVr qVr kkx cJP -uIx +lxd mLE dGs dGs @@ -119361,7 +119362,7 @@ ebs hFH tYB qVr -ogk +vOW oxe bfH bfH @@ -119375,7 +119376,7 @@ uAF ahk hdA oxe -dYW +kZa qVr aaa aaa @@ -119600,7 +119601,7 @@ cJS nhj cVU oRz -qEh +pQy sQZ nhj prI @@ -119855,7 +119856,7 @@ owO owO cJS rKD -uig +udg cFW cFW nEB @@ -120111,8 +120112,8 @@ sQZ sQZ sQZ sQZ -jsn -gie +wrz +hIY tVK vIF yeZ @@ -120138,7 +120139,7 @@ bOi dUT aaa qVr -ogk +vOW bfH bfH qVr @@ -121457,7 +121458,7 @@ jFM aPV xvl diy -wLx +tcV sEV xvl xhB @@ -122687,7 +122688,7 @@ aaa aaa dfz mpd -lEt +sWP glc xRm pAT @@ -122943,7 +122944,7 @@ aaa aaa aaa dfz -txW +iQR iMt glc xRm @@ -123209,13 +123210,13 @@ dhM pUC fXK lyC -gib -cAb +wpr +hox dfz vqO edP edP -wFd +uXn hBl hBl gkD @@ -123466,8 +123467,8 @@ wrn ure bKT bqU -wJA -rmG +qHa +nuu dfz uCz wRv @@ -123985,8 +123986,8 @@ lkK aeg gPB qOo -mwj -kZa +kza +jGx aej oAn aej @@ -124242,9 +124243,9 @@ qjp frV xwi vJC -kpx -kWc -xYQ +qWf +rLG +xAM eOZ gkD gkD @@ -124500,8 +124501,8 @@ frV frT ryK jLH -luo -sFI +lTo +twv aaa aaa aaa @@ -148622,7 +148623,7 @@ dFP dFP dFP dFP -uyF +cjd dFP ste mtr @@ -151933,7 +151934,7 @@ dTL mjM kBO tBO -fmH +qCk qZy run ayR @@ -152477,7 +152478,7 @@ wHT twz twz vhv -uba +pHz yjN yjN rWB @@ -153227,7 +153228,7 @@ yji rbT ndP pwm -jpD +ePb hAv dxC bsP @@ -155040,7 +155041,7 @@ aQO gPA hbV dbJ -mmt +aMR eSH wJy xgZ @@ -155575,7 +155576,7 @@ lyx rIg qIs fSr -orm +kBX rVp rVp vgZ @@ -156601,7 +156602,7 @@ pyf fXY iRQ hHY -sAc +rpB fSr pkq urK @@ -156840,7 +156841,7 @@ qvK obW uvu aCC -ukE +nWj hhc esf lPY @@ -156866,7 +156867,7 @@ mXY mOt tdR qOF -aKZ +tgi gsO aLi aLQ @@ -167152,7 +167153,7 @@ lWu tTN net xRx -inC +jZm hsh gnM apC @@ -169710,7 +169711,7 @@ sSt jEK eoE xck -ufH +xsJ wyd dyI aHP @@ -170751,7 +170752,7 @@ qDF uwk oXz gNE -fhV +pUT jtr jtr jtr @@ -170996,7 +170997,7 @@ eSz eSz eSz qNI -gwe +liB lEL qPd iTt @@ -171253,7 +171254,7 @@ eSz eSz eSz qNI -jjJ +yhs jVw qPd jVw @@ -171510,7 +171511,7 @@ fWX eSz eSz qNI -tfi +ltL pps sqT sTF @@ -173062,7 +173063,7 @@ rcD nPe nPe nPe -gsN +msF ugt aNa gCI @@ -181509,7 +181510,7 @@ aAJ riJ aAJ qqw -rWE +dWp whL ged jnJ @@ -182306,7 +182307,7 @@ vnu sRZ oxL wwP -kir +sva wwP wwP wwP @@ -182538,7 +182539,7 @@ uWi rpY kMJ lMu -jIZ +vRG pDa tZP oNJ @@ -182588,7 +182589,7 @@ tBo tBo qVr gYw -iSr +cHY aLR sjT xfL @@ -182795,12 +182796,12 @@ aBc sFc cwG aCb -wdy +kYT aCJ wgQ aDu aDG -nrc +jEi rEB oPw dfx @@ -182839,8 +182840,8 @@ pbH mAL nKU qVr -oAp -waF +tEx +mVN tBo tBo qVr @@ -182850,8 +182851,8 @@ itq qyQ qyQ gun -evF -oGK +pUi +vWT qVr aaa aaa @@ -183046,18 +183047,18 @@ eOk oSb vSI vSI -jIZ +vRG fJA cwG sFc cwG ccj -jIZ +vRG tRT cbH kMc kSL -hWO +hvP lHu nbv dfx @@ -183303,7 +183304,7 @@ eOk mdD vSI vSI -jIZ +vRG oGF cwG kum @@ -183314,7 +183315,7 @@ nLe wgQ wgQ wgQ -hNT +gUD dlg awD bMb @@ -183353,7 +183354,7 @@ qKE chE pHX qVr -iYh +cAK ttj hLj ttj @@ -183560,18 +183561,18 @@ eOk qyK vSI vSI -jIZ +vRG kkq cwG gpm cwG whI -jIZ +vRG eBF oLp cGc qec -idm +cQl vyN ncT dfx @@ -183823,12 +183824,12 @@ dPu dPu tXI rqD -eoC +eTH lUa xeG rlo nzd -nrc +jEi rEB rMl dfx @@ -183878,7 +183879,7 @@ ecg rUh rUh wAs -blR +fjA aDn qVr aaa @@ -184078,9 +184079,9 @@ oAV lvK ryS dkf -vMh +eCy fTP -jIZ +vRG vhn lSM aDv @@ -184332,9 +184333,9 @@ eLH udQ pRM pRM -gZp -gZp -qHV +pgc +pgc +llx pRM pRM pRM @@ -184594,7 +184595,7 @@ aBe vCv mAS ksV -arj +cMW cJm jjS dOC @@ -184851,7 +184852,7 @@ uDl fNa cfz aCd -kqV +ttK aCL geG nmP @@ -185106,9 +185107,9 @@ lmZ noc aBg jur -txu +vro ipm -arj +cMW pMd yiV uCO @@ -185367,7 +185368,7 @@ wBX cfq pRM qUB -pEe +vPB uCO hPi bMb @@ -185398,7 +185399,7 @@ dpB nZO kvt wtw -egT +pFu syv hrh ieV @@ -186636,7 +186637,7 @@ aac aac aac xxZ -whX +ust sXm uNl wxv @@ -186892,7 +186893,7 @@ aac aac aac aac -naS +aRR gTu kZt kZt @@ -187149,7 +187150,7 @@ aac aac aac aac -naS +aRR kfO pfZ kfO @@ -187406,7 +187407,7 @@ aac aac aac aac -naS +aRR kfO eUo eUo @@ -187663,12 +187664,12 @@ aac aac aac aac -eNU -eNU -eNU -eNU -eNU -eNU +kHV +kHV +kHV +kHV +kHV +kHV xxZ xxZ xxZ @@ -188198,8 +188199,8 @@ noI kOf aDN wzg -tiM -qSm +iOb +qFH tIk aGb aGb @@ -188970,7 +188971,7 @@ fam aDN wzg tiM -qFH +fYU nQq qSm sJx @@ -189227,7 +189228,7 @@ krq eIS vQX dJp -jrc +aIF fio qSm bYa @@ -189494,7 +189495,7 @@ kIo kIo qSm orX -qEU +sPb fmy aac aac @@ -189751,7 +189752,7 @@ qSm eQs qSm orX -nGZ +cjU fmy aac aac diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm index 2edb6f6f87c..92ddc56d0e9 100644 --- a/_maps/map_files/wawastation/wawastation.dmm +++ b/_maps/map_files/wawastation/wawastation.dmm @@ -2195,6 +2195,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "aKi" = ( @@ -2206,7 +2207,7 @@ /turf/open/floor/catwalk_floor/iron_dark, /area/station/ai_monitored/turret_protected/aisat/uppersouth) "aKj" = ( -/obj/machinery/computer/station_alert/station_only{ +/obj/machinery/computer/station_alert{ dir = 1 }, /obj/effect/turf_decal/trimline/yellow/filled/line, @@ -10732,7 +10733,6 @@ /obj/effect/turf_decal/tile/neutral/half{ dir = 8 }, -/obj/machinery/bluespace_vendor/directional/west, /turf/open/floor/iron/edge{ dir = 8 }, @@ -20275,14 +20275,6 @@ /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"haQ" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/bluespace_vendor/directional/south, -/turf/open/floor/iron, -/area/station/commons/locker) "hbb" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -24649,6 +24641,7 @@ /area/station/maintenance/department/cargo) "iCM" = ( /obj/effect/spawner/random/engineering/tracking_beacon, +/obj/machinery/holopad, /turf/open/floor/iron, /area/station/engineering/lobby) "iCT" = ( @@ -25445,13 +25438,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/main) -"iQS" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "iQZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26024,7 +26010,6 @@ /obj/structure/chair/sofa/bench/left{ dir = 4 }, -/obj/machinery/bluespace_vendor/directional/west, /turf/open/floor/iron/textured_large, /area/station/hallway/primary/central) "jcW" = ( @@ -32935,6 +32920,7 @@ dir = 9 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, /turf/open/floor/carpet/purple, /area/station/service/library) "lpF" = ( @@ -34120,6 +34106,14 @@ }, /turf/open/floor/plating/elevatorshaft, /area/station/ai_monitored/turret_protected/aisat_interior) +"lKN" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "lKY" = ( /turf/open/floor/iron/white/textured_large, /area/station/science/xenobiology) @@ -35250,6 +35244,10 @@ }, /turf/open/space/basic, /area/space) +"mgz" = ( +/obj/machinery/holopad, +/turf/closed/mineral/random/stationside/asteroid/porus, +/area/station/asteroid) "mgH" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -35351,7 +35349,7 @@ /turf/open/floor/iron/dark, /area/station/security/warden) "mio" = ( -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /turf/open/floor/iron, /area/station/engineering/atmos/upper) "mit" = ( @@ -35548,6 +35546,7 @@ "mld" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/landmark/event_spawn, +/obj/machinery/holopad, /turf/open/floor/iron, /area/station/security/brig/entrance) "mlf" = ( @@ -38192,6 +38191,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/holopad, /turf/open/floor/iron/white/textured_half{ dir = 1 }, @@ -41188,6 +41188,7 @@ /area/station/maintenance/department/bridge) "olR" = ( /obj/effect/mapping_helpers/broken_floor, +/obj/machinery/holopad, /turf/open/floor/wood, /area/station/service/library) "olW" = ( @@ -46230,7 +46231,7 @@ /turf/open/misc/asteroid, /area/station/hallway/primary/starboard) "pVC" = ( -/obj/machinery/computer/station_alert/station_only, +/obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/yellow/half/contrasted, /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, @@ -49136,13 +49137,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/commons/vacant_room/commissary) -"qXf" = ( -/obj/machinery/bluespace_vendor/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "qXj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52272,6 +52266,7 @@ dir = 4 }, /obj/structure/cable, +/obj/machinery/holopad, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "rWZ" = ( @@ -52559,6 +52554,7 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/machinery/holopad, /turf/open/floor/carpet/black, /area/station/command/heads_quarters/hos) "sas" = ( @@ -56534,6 +56530,7 @@ /area/station/maintenance/department/cargo) "trz" = ( /obj/effect/turf_decal/box/corners, +/obj/machinery/holopad, /turf/open/floor/iron, /area/station/engineering/atmos) "trK" = ( @@ -59518,6 +59515,7 @@ /area/station/engineering/main) "urh" = ( /obj/effect/landmark/event_spawn, +/obj/machinery/holopad, /turf/open/floor/iron/white, /area/station/science/lab) "url" = ( @@ -64393,10 +64391,6 @@ /turf/open/floor/iron/large, /area/station/engineering/atmos/project) "wfN" = ( -/obj/machinery/atmospherics/components/unary/bluespace_sender{ - dir = 4; - initialize_directions = 4 - }, /turf/open/floor/iron/textured, /area/station/engineering/atmos) "wfW" = ( @@ -66013,7 +66007,6 @@ /turf/open/floor/iron, /area/station/engineering/lobby) "wHj" = ( -/obj/machinery/bluespace_vendor/directional/south, /obj/structure/closet, /turf/open/floor/iron/textured, /area/station/hallway/primary/central) @@ -66440,6 +66433,7 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, +/obj/machinery/holopad, /turf/open/floor/iron, /area/station/security/office) "wPP" = ( @@ -68239,6 +68233,7 @@ "xvU" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, /turf/open/floor/iron/white/smooth_half, /area/station/medical/pharmacy) "xvZ" = ( @@ -70481,6 +70476,7 @@ /turf/open/floor/iron, /area/station/cargo/storage) "ylj" = ( +/obj/machinery/holopad, /turf/open/floor/circuit, /area/station/science/robotics/lab) "ylm" = ( @@ -93079,7 +93075,7 @@ iNT maY pgd rjX -iQS +kmu tHF tCE pXp @@ -93623,7 +93619,7 @@ cxD sWn kAg veW -qXf +kmu tOm tCE tCE @@ -101827,7 +101823,7 @@ xQH xQH cWD uzH -haQ +bIJ ahE ahE laL @@ -115177,7 +115173,7 @@ tLh dlE soW wqB -rxn +lKN rRO mIa moe @@ -174013,7 +174009,7 @@ hhX hhX hhX fYe -mNZ +mgz vfJ riv vpK diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm index e42af97eb2e..7eda50eaaa3 100644 --- a/_maps/shuttles/emergency_luxury.dmm +++ b/_maps/shuttles/emergency_luxury.dmm @@ -105,10 +105,8 @@ dir = 4; id = "gimmemoney" }, -/turf/closed/indestructible/opsglass{ - desc = "A durable looking window made of an alloy of of plasma and titanium."; - name = "plastitanium window" - }, +/obj/effect/spawner/structure/window/reinforced/shuttle/indestructible, +/turf/open/floor/plating, /area/shuttle/escape/luxury) "gL" = ( /obj/effect/decal/cleanable/generic, @@ -905,7 +903,7 @@ dir = 4; id = "gimmemoney" }, -/turf/closed/indestructible/syndicate, +/turf/closed/indestructible/riveted/plastinum/nodiagonal, /area/shuttle/escape/luxury) "Ky" = ( /obj/structure/table/wood/fancy/black, @@ -965,10 +963,8 @@ /turf/open/floor/iron, /area/shuttle/escape) "Mn" = ( -/turf/closed/indestructible/opsglass{ - desc = "A durable looking window made of an alloy of of plasma and titanium."; - name = "plastitanium window" - }, +/obj/effect/spawner/structure/window/reinforced/shuttle/indestructible, +/turf/open/floor/plating, /area/shuttle/escape/luxury) "MX" = ( /obj/structure/closet/crate/freezer, @@ -1191,17 +1187,13 @@ /turf/open/floor/carpet/red, /area/shuttle/escape/luxury) "Xz" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape/luxury) +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/escape) "Yb" = ( /obj/effect/decal/cleanable/generic, /obj/item/shard, /turf/open/floor/iron, /area/shuttle/escape) -"Yj" = ( -/turf/closed/indestructible/syndicate, -/area/shuttle/escape/luxury) "Yo" = ( /obj/machinery/light/directional/north, /turf/open/floor/carpet/blue, @@ -1266,7 +1258,7 @@ WO fH "} (2,1,1) = {" -JV +Xz WO sC sC @@ -1285,10 +1277,10 @@ sC sC sC WO -JV +Xz "} (3,1,1) = {" -CQ +JV sH KA PN @@ -1307,10 +1299,10 @@ JV OK MX OC -CQ +JV "} (4,1,1) = {" -CQ +JV Tz Cf Bt @@ -1329,10 +1321,10 @@ oH kc JO et -CQ +JV "} (5,1,1) = {" -CQ +JV KS rN Za @@ -1351,10 +1343,10 @@ JV Sy EL Fq -CQ +JV "} (6,1,1) = {" -CQ +JV KS dM rN @@ -1373,7 +1365,7 @@ JV kG dN dN -CQ +JV "} (7,1,1) = {" JV @@ -1395,7 +1387,7 @@ Wp Br eb vj -CQ +JV "} (8,1,1) = {" JV @@ -1417,7 +1409,7 @@ yk kJ iS ur -CQ +JV "} (9,1,1) = {" jy @@ -1451,17 +1443,17 @@ Ex Ex Ex Ex -Yj +Ex gG gG gG gG -Yj +Ex gG gG gG Kw -Yj +Ex "} (11,1,1) = {" DE @@ -1696,8 +1688,8 @@ SN oP Ex kM -Xz -Xz +Mn +Mn kM Ex Ex @@ -1729,13 +1721,13 @@ Ex "} (23,1,1) = {" Ex -Xz +Mn KJ KJ -Xz +Mn Ex qm -Xz +Mn qm Ex Ex diff --git a/_maps/virtual_domains/meta_central.dmm b/_maps/virtual_domains/meta_central.dmm index 98ccb7a67e9..13744e53234 100644 --- a/_maps/virtual_domains/meta_central.dmm +++ b/_maps/virtual_domains/meta_central.dmm @@ -6007,7 +6007,6 @@ /area/virtual_domain) "YB" = ( /obj/effect/turf_decal/delivery, -/obj/machinery/bluespace_vendor/directional/east, /obj/structure/frame/machine/secured, /turf/open/floor/iron, /area/virtual_domain) diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm index 297ab5a98db..52178bbcb98 100644 --- a/code/__DEFINES/_flags.dm +++ b/code/__DEFINES/_flags.dm @@ -239,12 +239,14 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define ZAP_FUSION_FLAGS ZAP_OBJ_DAMAGE | ZAP_MOB_DAMAGE | ZAP_MOB_STUN #define ZAP_SUPERMATTER_FLAGS ZAP_GENERATES_POWER -///EMP will protect itself. +///Object will protect itself. #define EMP_PROTECT_SELF (1<<0) -///EMP will protect the contents from also being EMPed. +///Object will protect its contents from being EMPed. #define EMP_PROTECT_CONTENTS (1<<1) -///EMP will protect the wires. +///Object will protect its wiring from being EMPed. #define EMP_PROTECT_WIRES (1<<2) +///Don't indicate EMP protection in object examine text. +#define EMP_NO_EXAMINE (1<<3) ///Protects against all EMP types. #define EMP_PROTECT_ALL (EMP_PROTECT_SELF | EMP_PROTECT_CONTENTS | EMP_PROTECT_WIRES) diff --git a/code/__DEFINES/basic_mobs.dm b/code/__DEFINES/basic_mobs.dm index 3daae1d0d8e..a07997d40d2 100644 --- a/code/__DEFINES/basic_mobs.dm +++ b/code/__DEFINES/basic_mobs.dm @@ -20,6 +20,8 @@ #define IMMUNE_TO_GETTING_WET (1<<5) /// Disables the function of attacking random body zones #define PRECISE_ATTACK_ZONES (1<<6) +/// People would be sad to see this mob die +#define SENDS_DEATH_MOODLETS (1<<7) /// Temporary trait applied when an attack forecast animation has completed #define TRAIT_BASIC_ATTACK_FORECAST "trait_basic_attack_forecast" diff --git a/code/__DEFINES/dcs/signals/signals_material_container.dm b/code/__DEFINES/dcs/signals/signals_material_container.dm index 2c77be55c31..86056976bce 100644 --- a/code/__DEFINES/dcs/signals/signals_material_container.dm +++ b/code/__DEFINES/dcs/signals/signals_material_container.dm @@ -7,8 +7,8 @@ #define MATCONTAINER_BLOCK_INSERT (1<<1) /// Called from datum/component/material_container/proc/insert_item() : (item, primary_mat, mats_consumed, material_amount, context) #define COMSIG_MATCONTAINER_ITEM_CONSUMED "matcontainer_item_consumed" -/// Called from datum/component/material_container/proc/retrieve_sheets() : (new_sheets, context) -#define COMSIG_MATCONTAINER_SHEETS_RETRIEVED "matcontainer_sheets_retrieved" +/// Called from datum/component/material_container/proc/retrieve_stack() : (new_stack, context) +#define COMSIG_MATCONTAINER_STACK_RETRIEVED "matcontainer_stack_retrieved" //mat container signals but from the ore silo's perspective /// Called from /obj/machinery/ore_silo/on_item_consumed() : (container, item_inserted, last_inserted_id, mats_consumed, amount_inserted) 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 458ea924dca..914bc73a355 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm @@ -355,3 +355,8 @@ /// From /mob/living/update_offsets(animate) : (new_x, new_y, new_w, new_z, animate) #define COMSIG_LIVING_UPDATE_OFFSETS "living_update_offsets" + +/// From /datum/element/death_drops/on_death(mob/living/target, gibbed) : (list/loot, gibbed) +#define COMSIG_LIVING_DROP_LOOT "living_drop_loot" + /// Prevent loot from being dropped + #define COMPONENT_NO_LOOT_DROP (1<<0) 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 c9f9b283271..0b75f01a07d 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm @@ -82,6 +82,8 @@ ///signal sent when a mob has their holy role set. Sent to the mob having their role changed. #define COMSIG_MOB_MIND_SET_HOLY_ROLE "mob_mind_set_holy_role" +///signal sent when a mob has their job role set. Sent to the mob having their role changed. +#define COMSIG_MOB_MIND_SET_ROLE "mob_mind_set_role" ///from base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj #define COMSIG_MOB_TRIED_ACCESS "tried_access" diff --git a/code/__DEFINES/dcs/signals/signals_mod.dm b/code/__DEFINES/dcs/signals/signals_mod.dm index 6cc6832beb6..bc76dd3e87a 100644 --- a/code/__DEFINES/dcs/signals/signals_mod.dm +++ b/code/__DEFINES/dcs/signals/signals_mod.dm @@ -32,10 +32,14 @@ #define MOD_ABORT_USE (1<<0) /// Called when a module activates, after all checks have passed and cooldown started. #define COMSIG_MODULE_ACTIVATED "mod_module_activated" +/// Called when a module successfully activates on the MODsuit itself +#define COMSIG_MOD_MODULE_ACTIVATED "mod_core_module_activated" /// Called when a module starts a cooldown until its next activation. Passed the cooldown time. #define COMSIG_MODULE_COOLDOWN_STARTED "mod_module_cooldown_started" /// Called when a module deactivates, after all checks have passed. #define COMSIG_MODULE_DEACTIVATED "mod_module_deactivated" +/// Called when a module successfully deactivates on the mod itself +#define COMSIG_MOD_MODULE_DEACTIVATED "mod_core_module_deactivated" /// Called when a module is used, after all checks have passed and cooldown started. #define COMSIG_MODULE_USED "mod_module_used" /// Called when the MODsuit wearer is set. diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index 0f77bccca0f..525b87769fc 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -136,17 +136,6 @@ GLOBAL_LIST_INIT(food_quality_description, list( FOOD_QUALITY_TOP = "godlike", )) -/// Mood events for food quality -GLOBAL_LIST_INIT(food_quality_events, list( - FOOD_QUALITY_NORMAL = /datum/mood_event/food, - FOOD_QUALITY_NICE = /datum/mood_event/food/nice, - FOOD_QUALITY_GOOD = /datum/mood_event/food/good, - FOOD_QUALITY_VERYGOOD = /datum/mood_event/food/verygood, - FOOD_QUALITY_FANTASTIC = /datum/mood_event/food/fantastic, - FOOD_QUALITY_AMAZING = /datum/mood_event/food/amazing, - FOOD_QUALITY_TOP = /datum/mood_event/food/top, -)) - /// Weighted lists of crafted food buffs randomly given according to crafting_complexity unless the food has a specific buff GLOBAL_LIST_INIT(food_buffs, list( FOOD_COMPLEXITY_1 = list( diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index cc89ac67684..2655c5a90c3 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -271,7 +271,7 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( #define ispickedupmob(A) (istype(A, /obj/item/mob_holder)) // Checks if clothing item is actually a held mob -#define iscash(A) (istype(A, /obj/item/coin) || istype(A, /obj/item/stack/spacecash) || istype(A, /obj/item/holochip)) +#define iscash(A) (istype(A, /obj/item/coin) || istype(A, /obj/item/stack/spacecash) || istype(A, /obj/item/holochip) || istype(A, /obj/item/poker_chip)) #define isbodypart(A) (istype(A, /obj/item/bodypart)) diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 57d9711a182..51a0bc635f2 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -323,3 +323,5 @@ DEFINE_BITFIELD(job_flags, list( /// Mind traits that should be shared by every head of staff. has to be this way cause byond lists lol #define HEAD_OF_STAFF_MIND_TRAITS TRAIT_FAST_TYING, TRAIT_HIGH_VALUE_RANSOM +#define MEDICAL_MIND_TRAITS TRAIT_DESENSITIZED +#define SECURITY_MIND_TRAITS TRAIT_DESENSITIZED diff --git a/code/__DEFINES/keybinding.dm b/code/__DEFINES/keybinding.dm index 643485b9b32..fde4dbdf268 100644 --- a/code/__DEFINES/keybinding.dm +++ b/code/__DEFINES/keybinding.dm @@ -28,6 +28,7 @@ #define COMSIG_KB_CLIENT_SCREENSHOT_DOWN "keybinding_client_screenshot_down" #define COMSIG_KB_CLIENT_FULLSCREEN_DOWN "keybinding_client_fullscreen_down" #define COMSIG_KB_CLIENT_MINIMALHUD_DOWN "keybinding_client_minimalhud_down" +#define COMSIG_KB_CLIENT_CLOSEUI_DOWN "keybinding_client_closeui_down" //Communication diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 43edb92cf36..a969b264b21 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -157,3 +157,17 @@ #define SD_PICTURE 3 /// Shows whoever or whatever is on the green screen in the captain's office #define SD_GREENSCREEN 4 + +// Status display priority levels (higher number = higher priority) +/// Logo display - lowest priority, just the default NT logo +#define DISPLAY_PRIORITY_LOGO 0 +/// Manual message from bridge communications console +#define DISPLAY_PRIORITY_MESSAGE 10 +/// Security alert level (shows for 30 seconds then goes back to normal) +#define DISPLAY_PRIORITY_ALERT_TEMP 20 +/// Emergency stuff like radiation storms, lockdowns, biohazard alerts +#define DISPLAY_PRIORITY_EMERGENCY 30 +/// Shuttle countdown - highest priority because people need to know when to evacuate +#define DISPLAY_PRIORITY_SHUTTLE 40 +/// Emergency alerts that temporarily interrupt even shuttle displays (30 seconds then revert) +#define DISPLAY_PRIORITY_EMERGENCY_TEMP 50 diff --git a/code/__DEFINES/magic.dm b/code/__DEFINES/magic.dm index ecc470c04e9..a44f8d9a59f 100644 --- a/code/__DEFINES/magic.dm +++ b/code/__DEFINES/magic.dm @@ -90,6 +90,8 @@ DEFINE_BITFIELD(spell_requirements, list( /// Holy magic resistance that blocks unholy magic (revenant, vampire, voice of god) #define MAGIC_RESISTANCE_HOLY (1<<2) +#define ALL_MAGIC_RESISTANCE (MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND|MAGIC_RESISTANCE_HOLY) + DEFINE_BITFIELD(antimagic_flags, list( "MAGIC_RESISTANCE" = MAGIC_RESISTANCE, "MAGIC_RESISTANCE_HOLY" = MAGIC_RESISTANCE_HOLY, diff --git a/code/__DEFINES/mood.dm b/code/__DEFINES/mood.dm index 60fadb031c1..5ed6b32e834 100644 --- a/code/__DEFINES/mood.dm +++ b/code/__DEFINES/mood.dm @@ -75,3 +75,26 @@ #define PANIC_ATTACK_TERROR_AMOUNT 50 /// How much terror being hugged reduces, or increases if its done by a nightmare or someone you're afraid of #define HUG_TERROR_AMOUNT 90 + +/// Relates to fear or resisting fear +#define MOOD_EVENT_FEAR (1<<0) +/// Relates to art +#define MOOD_EVENT_ART (1<<1) +/// Relates to being a generally silly guy +#define MOOD_EVENT_WHIMSY (1<<2) +/// Playing games and goofing off +#define MOOD_EVENT_GAMING (1<<3) +/// Relates to food +#define MOOD_EVENT_FOOD (1<<4) +/// Relates to being in pain +#define MOOD_EVENT_PAIN (1<<5) +/// Relates to spirituality +#define MOOD_EVENT_SPIRITUAL (1<<6) + +/// Checks if the mob has the given personality typepath +#define HAS_PERSONALITY(mob, personality) (LAZYACCESS(mob.personalities, personality)) + +/// Return from /be_replaced or /be_refreshed to actually go prevent the new mood event from being added +#define BLOCK_NEW_MOOD FALSE +/// Return from /be_replaced or /be_refreshed to actually go through and allow the new mood event to be added +#define ALLOW_NEW_MOOD TRUE diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index 39316a6dffd..3e2dcc87c72 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -27,8 +27,8 @@ //Special properties ///If the holder is a sealed container - Used if you don't want reagent contents boiling out (plasma, specifically, in which case it only bursts out when at ignition temperatures) #define SEALED_CONTAINER (1<<10) -/// Prevents spilling and splashing but does prevent pouring and drinking reagents like the badly named spillable var. -#define SMART_CAP (1<<11) +/// Prevents splashing for open reagent containers +#define NO_SPLASH (1<<11) // Is an open container for all intents and purposes. #define OPENCONTAINER (REFILLABLE | DRAINABLE | TRANSPARENT) diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 7d06c06af53..4d197d51faa 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -250,6 +250,8 @@ 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" +/// Mobs with this trait do not apply a damage cap to their potential considered wounding damage, resulting in extremely high wounding effects. +#define TRAIT_BLOODY_MESS "bloody_mess" /// Species with this trait have 50% extra chance of bleeding from piercing and slashing wounds #define TRAIT_EASYBLEED "easybleed" /// Mob recovers from addictions at an accelerated rate @@ -431,7 +433,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_UNSTABLE "unstable" #define TRAIT_OIL_FRIED "oil_fried" #define TRAIT_MEDICAL_HUD "med_hud" +#define TRAIT_MEDICAL_HUD_SENSOR_ONLY "med_hud_lesser" #define TRAIT_SECURITY_HUD "sec_hud" +#define TRAIT_SECURITY_HUD_ID_ONLY "sec_hud_lesser" +#define TRAIT_ABDUCTOR_HUD "abductor_hud" +/// Stop the user from seeing the sechud. Only works for trait handled sechuds. +#define TRAIT_BLOCK_SECHUD "block_sechud" /// for something granting you a diagnostic hud #define TRAIT_DIAGNOSTIC_HUD "diag_hud" #define TRAIT_BOT_PATH_HUD "bot_path_hud" @@ -510,7 +517,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Prevents a mob from being unbuckled, currently only used to prevent people from falling over on the tram #define TRAIT_CANNOT_BE_UNBUCKLED "cannot_be_unbuckled" /// from heparin and nitrous oxide, makes open bleeding wounds rapidly spill more blood -#define TRAIT_BLOODY_MESS "bloody_mess" +#define TRAIT_BLOOD_FOUNTAIN "bloody_fountain" /// from coagulant reagents, this doesn't affect the bleeding itself but does affect the bleed warning messages #define TRAIT_COAGULATING "coagulating" /// From anti-convulsant medication against seizures. @@ -1176,8 +1183,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai ///generic atom traits /// Trait from [/datum/element/rust]. Its rusty and should be applying a special overlay to denote this. #define TRAIT_RUSTY "rust_trait" -/// Stops someone from splashing their reagent_container on an object with this trait -#define TRAIT_DO_NOT_SPLASH "do_not_splash" /// Marks an atom when the cleaning of it is first started, so that the cleaning overlay doesn't get removed prematurely #define TRAIT_CURRENTLY_CLEANING "currently_cleaning" /// Objects with this trait are deleted if they fall into chasms, rather than entering abstract storage @@ -1477,8 +1482,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai ///Trait given to atoms currently affected by projectile dampeners #define TRAIT_GOT_DAMPENED "got_dampened" -/// humans with this trait will have their health visible to AIs without suit -#define HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT "hmsensorsvisiblewithoutsuit" +/// Having this trait allows the basic health hud to show up for this mob +#define TRAIT_BASIC_HEALTH_HUD_VISIBLE "basic_health_hud_visible" /// Apply to movables to say "hey, this movable is technically flat on the floor, so it'd be mopped up by a mop" #define TRAIT_MOPABLE "mopable" @@ -1565,6 +1570,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait that allows an item to perform holy rites akin to a nullrod #define TRAIT_NULLROD_ITEM "nullrod_item" +/// Mob gets far less severe negative moodlets from seeing death / blood +#define TRAIT_DESENSITIZED "desensitized" + /// Trait specifying that an AI has a remote connection to an integrated circuit #define TRAIT_CONNECTED_TO_CIRCUIT "connected_to_circuit" diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm index edea6b63478..ae0a1e24145 100644 --- a/code/__DEFINES/traits/sources.dm +++ b/code/__DEFINES/traits/sources.dm @@ -26,6 +26,8 @@ #define JOB_TRAIT "job" /// Any traits granted by quirks. #define QUIRK_TRAIT "quirk_trait" +/// Trait source for personality traits +#define PERSONALITY_TRAIT "personality_trait" /// (B)admins only. #define ADMIN_TRAIT "admin" /// Any traits given through a smite. diff --git a/code/__DEFINES/wounds.dm b/code/__DEFINES/wounds.dm index c7b0ac1aa55..371d03a3d7a 100644 --- a/code/__DEFINES/wounds.dm +++ b/code/__DEFINES/wounds.dm @@ -1,7 +1,8 @@ // ~wound damage/rolling defines /// the cornerstone of the wound threshold system, your base wound roll for any attack is rand(1, damage^this), after armor reduces said damage. See [/obj/item/bodypart/proc/check_wounding] #define WOUND_DAMAGE_EXPONENT 1.4 -/// any damage dealt over this is ignored for damage rolls unless the target has the frail quirk (25^1.4=91, for reference) +/// any damage dealt over this is ignored for damage rolls unless the target has the frail quirk (25^1.4=91, for reference). Does not apply if the mob has TRAIT_BLOODY_MESS. +/// This is further affected by TRAIT_EASILY_WOUNDED increasing the max considered damage (before applying the exponent) by 50%, and TRAIT_HARDLY_WOUNDED reducing it by 50%. #define WOUND_MAX_CONSIDERED_DAMAGE 25 /// an attack must do this much damage after armor in order to roll for being a wound (so pressure damage/being on fire doesn't proc it) #define WOUND_MINIMUM_DAMAGE 5 @@ -256,7 +257,7 @@ GLOBAL_LIST_INIT(wounding_types_to_series, list( * severity_max to the highest wound you're willing to tolerate, and severity_pick_mode to WOUND_PICK_LOWEST_SEVERITY. * * Args: - * * list/wounding_types: A list of wounding_types. Only wounds that accept these wound types will be considered. + * * wounding_type: Wounding type wounds of which we should be searching for * * obj/item/bodypart/part: The limb we are considering. Extremely important for biostates. * * severity_min: The minimum wound severity we will search for. * * severity_max = severity_min: The maximum wound severity we will search for. @@ -268,12 +269,10 @@ GLOBAL_LIST_INIT(wounding_types_to_series, list( * Returns: * A randomly picked wound typepath meeting all the above criteria and being applicable to the part's biotype - or null if there were none. */ -/proc/get_corresponding_wound_type(list/wounding_types, obj/item/bodypart/part, severity_min, severity_max = severity_min, severity_pick_mode = WOUND_PICK_HIGHEST_SEVERITY, random_roll = TRUE, duplicates_allowed = FALSE, care_about_existing_wounds = TRUE) +/proc/get_corresponding_wound_type(wounding_type, obj/item/bodypart/part, severity_min, severity_max = severity_min, severity_pick_mode = WOUND_PICK_HIGHEST_SEVERITY, random_roll = TRUE, duplicates_allowed = FALSE, care_about_existing_wounds = TRUE) RETURN_TYPE(/datum/wound) // note that just because its set to return this doesnt mean its non-nullable - var/list/wounding_type_list = list() - for (var/wounding_type in wounding_types) - wounding_type_list += GLOB.wounding_types_to_series[wounding_type] + var/list/wounding_type_list = GLOB.wounding_types_to_series[wounding_type] if (!length(wounding_type_list)) return null @@ -298,7 +297,7 @@ GLOBAL_LIST_INIT(wounding_types_to_series, list( for (var/datum/wound/iterated_path as anything in wound_typepaths) var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[iterated_path] - if (pregen_data.can_be_applied_to(part, wounding_types, random_roll = random_roll, duplicates_allowed = duplicates_allowed, care_about_existing_wounds = care_about_existing_wounds)) + if (pregen_data.can_be_applied_to(part, wounding_type, random_roll = random_roll, duplicates_allowed = duplicates_allowed, care_about_existing_wounds = care_about_existing_wounds)) paths_to_pick_from[iterated_path] = wound_typepaths[iterated_path] return pick_weight(paths_to_pick_from) // we found our winners! diff --git a/code/__HELPERS/filters.dm b/code/__HELPERS/filters.dm index 3c73f1c7b4b..be41892c69f 100644 --- a/code/__HELPERS/filters.dm +++ b/code/__HELPERS/filters.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_INIT(master_filter_info, list( "y" = 0, "icon" = ICON_NOT_SET, "render_source" = "", - "flags" = 0 + "flags" = NONE ), "flags" = list( "MASK_INVERSE" = MASK_INVERSE, @@ -30,14 +30,20 @@ GLOBAL_LIST_INIT(master_filter_info, list( "alpha" = 255 ) ), - // Not implemented, but if this isn't uncommented some windows will just error + // Not fully implemented, but if this isn't uncommented some windows will just error // Needs either a proper matrix editor, or just a hook to our existing one - // Issue is filterrific assumes variables will have the same value type if they share the same name, which this violates - // Gotta refactor this sometime "color" = list( "defaults" = list( "color" = matrix(), "space" = FILTER_COLOR_RGB + ), + "options" = list( + "space" = list( + "FILTER_COLOR_RGB" = FILTER_COLOR_RGB, + "FILTER_COLOR_HSV" = FILTER_COLOR_HSV, + "FILTER_COLOR_HSL" = FILTER_COLOR_HSL, + "FILTER_COLOR_HCY" = FILTER_COLOR_HCY + ) ) ), "displace" = list( @@ -46,7 +52,11 @@ GLOBAL_LIST_INIT(master_filter_info, list( "y" = 0, "size" = null, "icon" = ICON_NOT_SET, - "render_source" = "" + "render_source" = "", + "flags" = NONE + ), + "flags" = list( + "FILTER_OVERLAY" = FILTER_OVERLAY ) ), "drop_shadow" = list( @@ -70,10 +80,24 @@ GLOBAL_LIST_INIT(master_filter_info, list( "icon" = ICON_NOT_SET, "render_source" = "", "flags" = FILTER_OVERLAY, - "color" = "", + "color" = COLOR_WHITE, "transform" = null, "blend_mode" = BLEND_DEFAULT + ), + "flags" = list( + "FILTER_OVERLAY" = FILTER_OVERLAY, + ), + "options" = list( + "blend_mode" = list( + "BLEND_DEFAULT" = BLEND_DEFAULT, + "BLEND_OVERLAY" = BLEND_OVERLAY, + "BLEND_ADD" = BLEND_ADD, + "BLEND_SUBTRACT" = BLEND_SUBTRACT, + "BLEND_MULTIPLY" = BLEND_MULTIPLY, + "BLEND_INSET_OVERLAY" = BLEND_INSET_OVERLAY + ) ) + ), "motion_blur" = list( "defaults" = list( diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index f61c4f844cf..1b89c5efeb5 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -173,7 +173,6 @@ GLOBAL_LIST_INIT(WALLITEMS_INTERIOR, typecacheof(list( /obj/item/radio/intercom, /obj/structure/secure_safe, /obj/machinery/airalarm, - /obj/machinery/bluespace_vendor, /obj/machinery/button, /obj/machinery/computer/security/telescreen, /obj/machinery/computer/security/telescreen/entertainment, diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 5b25afcb611..dd39af6f150 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1370,3 +1370,26 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) copy.underlays = underlays_to_keep return copy + +/// Returns the (isolated) security HUD icon for the given job. +/proc/get_job_hud_icon(datum/job/job) as /icon + var/static/alist/icon_cache = alist() + if(isnull(job)) + return + + if(!is_job(job)) + if(ispath(job, /datum/job)) + job = SSjob.get_job_type(job) + else if(istext(job)) + job = SSjob.get_job(job) + if(isnull(job)) + return null + + //add it to the cache if it isn't already + var/job_type = job.type + if(!icon_cache[job_type]) + var/icon/sechud_icon = job.get_lobby_icon() + sechud_icon.Crop(1, 17, 8, 24) + icon_cache[job_type] = sechud_icon + + return icon(icon_cache[job_type]) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 20b798ff123..241a4e48f2d 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -900,3 +900,20 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) else . = invoked_callback.Invoke() usr = temp + +/** + * Iterates over all mobs that can see the passed movable and adds specific mood events to them based on their personalities. + * + * * source: String source for the mood event + * * personality_to_mood: A list mapping personality types to mood event types. Example: list(/datum/personality/chill = /datum/mood_event/chill_guy) + * * range: The range in which to check for viewers. Default is view range. + * * additional args may be supplied to pass into the mood event constructor. + */ +/proc/add_personality_mood_to_viewers(atom/movable/source, mood_key, list/personality_to_mood, range, ...) + for(var/mob/living/nearby in viewers(range, source)) + if(nearby.stat >= UNCONSCIOUS || nearby.is_blind()) + continue + for(var/personality in personality_to_mood) + if(HAS_PERSONALITY(nearby, personality)) + nearby.add_mood_event(arglist( list("[mood_key]_[personality]", personality_to_mood[personality]) + args.Copy(4) )) + break diff --git a/code/__HELPERS/visual_effects.dm b/code/__HELPERS/visual_effects.dm index 5e93920ac75..c8720ba46ee 100644 --- a/code/__HELPERS/visual_effects.dm +++ b/code/__HELPERS/visual_effects.dm @@ -32,7 +32,7 @@ #define UPDATE_TRANSFORM_ANIMATION_TIME (0.2 SECONDS) ///Animates source spinning around itself. For docmentation on the args, check atom/proc/SpinAnimation() -/atom/proc/do_spin_animation(speed = 1 SECONDS, loops = -1, segments = 3, angle = 120, parallel = TRUE) +/atom/proc/do_spin_animation(speed = 1 SECONDS, loops = -1, segments = 3, angle = 120, parallel = TRUE, tag = null) var/list/matrices = list() for(var/i in 1 to segments-1) var/matrix/segment_matrix = matrix(transform) @@ -44,7 +44,7 @@ speed /= segments if(parallel) - animate(src, transform = matrices[1], time = speed, loop = loops, flags = ANIMATION_PARALLEL) + animate(src, transform = matrices[1], time = speed, loop = loops, flags = ANIMATION_PARALLEL, tag = tag) else animate(src, transform = matrices[1], time = speed, loop = loops) for(var/i in 2 to segments) //2 because 1 is covered above @@ -78,15 +78,16 @@ * * clockwise: whether the atom ought to spin clockwise or counter-clockwise * * segments: in how many animate calls the rotation is split. Probably unnecessary, but you shouldn't set it lower than 3 anyway. * * parallel: whether the animation calls have the ANIMATION_PARALLEL flag, necessary for it to run alongside concurrent animations. + * * tag: animation tag to use, for parralel animations only */ -/atom/proc/SpinAnimation(speed = 1 SECONDS, loops = -1, clockwise = TRUE, segments = 3, parallel = TRUE) +/atom/proc/SpinAnimation(speed = 1 SECONDS, loops = -1, clockwise = TRUE, segments = 3, parallel = TRUE, tag = null) if(!segments) return var/segment = 360/segments if(!clockwise) segment = -segment SEND_SIGNAL(src, COMSIG_ATOM_SPIN_ANIMATION, speed, loops, segments, segment) - do_spin_animation(speed, loops, segments, segment, parallel) + do_spin_animation(speed, loops, segments, segment, parallel, tag) /// Makes this atom look like a "hologram" /// So transparent, blue, with a scanline and an emissive glow diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 826f525d9fa..55d239af8d5 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -112,7 +112,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items /obj/item/stack/sheet/iron/twenty = 1, /obj/item/stack/sheet/mineral/plasma = 1, /obj/item/stock_parts/power_store/cell = 1, - + /obj/effect/spawner/random/engineering/vending_restock = 1, //assemblies /obj/item/assembly/health = 1, /obj/item/assembly/igniter = 1, diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 3ddb2854387..2ca43e8366b 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -7,25 +7,24 @@ GLOBAL_LIST_INIT(traits_by_type, list( /atom = list( - "TRAIT_AI_PAUSED" = TRAIT_AI_PAUSED, "TRAIT_AI_MOVEMENT_HALTED" = TRAIT_AI_MOVEMENT_HALTED, + "TRAIT_AI_PAUSED" = TRAIT_AI_PAUSED, "TRAIT_BANNED_FROM_CARGO_SHUTTLE" = TRAIT_BANNED_FROM_CARGO_SHUTTLE, "TRAIT_BEAUTY_APPLIED" = TRAIT_BEAUTY_APPLIED, "TRAIT_BEING_SHOCKED" = TRAIT_BEING_SHOCKED, "TRAIT_CATCH_AND_RELEASE" = TRAIT_CATCH_AND_RELEASE, - "TRAIT_COMMISSIONED" = TRAIT_COMMISSIONED, "TRAIT_CLIMBABLE" = TRAIT_CLIMBABLE, + "TRAIT_COMMISSIONED" = TRAIT_COMMISSIONED, "TRAIT_CURRENTLY_CLEANING" = TRAIT_CURRENTLY_CLEANING, - "TRAIT_DO_NOT_SPLASH" = TRAIT_DO_NOT_SPLASH, "TRAIT_DRIED" = TRAIT_DRIED, "TRAIT_DRYABLE" = TRAIT_DRYABLE, "TRAIT_ELEVATING_OBJECT" = TRAIT_ELEVATING_OBJECT, "TRAIT_FISHING_SPOT" = TRAIT_FISHING_SPOT, "TRAIT_FOOD_CHEF_MADE" = TRAIT_FOOD_CHEF_MADE, "TRAIT_FOOD_FRIED" = TRAIT_FOOD_FRIED, + "TRAIT_FOOD_SILVER" = TRAIT_FOOD_SILVER, "TRAIT_GOT_DAMPENED" = TRAIT_GOT_DAMPENED, "TRAIT_INGREDIENTS_HOLDER" = TRAIT_INGREDIENTS_HOLDER, - "TRAIT_FOOD_SILVER" = TRAIT_FOOD_SILVER, "TRAIT_KEEP_TOGETHER" = TRAIT_KEEP_TOGETHER, "TRAIT_LIGHTING_DEBUGGED" = TRAIT_LIGHTING_DEBUGGED, "TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION" = TRAIT_MESSAGE_IN_A_BOTTLE_LOCATION, @@ -158,6 +157,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_WALLMOUNTED" = TRAIT_WALLMOUNTED, ), /mob = list( + "TRAIT_ABDUCTOR_HUD" = TRAIT_ABDUCTOR_HUD, "TRAIT_ABDUCTOR_SCIENTIST_TRAINING" = TRAIT_ABDUCTOR_SCIENTIST_TRAINING, "TRAIT_ABDUCTOR_TRAINING" = TRAIT_ABDUCTOR_TRAINING, "TRAIT_ACT_AS_CULTIST" = TRAIT_ACT_AS_CULTIST, @@ -193,19 +193,21 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BLOB_ALLY" = TRAIT_BLOB_ALLY, "TRAIT_BLOCKING_PROJECTILES" = TRAIT_BLOCKING_PROJECTILES, "TRAIT_BLOCK_FORMALDEHYDE_METABOLISM" = TRAIT_BLOCK_FORMALDEHYDE_METABOLISM, + "TRAIT_BLOCK_SECHUD" = TRAIT_BLOCK_SECHUD, "TRAIT_BLOCK_SHUTTLE_MOVEMENT" = TRAIT_BLOCK_SHUTTLE_MOVEMENT, "TRAIT_BLOODSHOT_EYES" = TRAIT_BLOODSHOT_EYES, "TRAIT_BLOODY_MESS" = TRAIT_BLOODY_MESS, "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, + "TRAIT_BLOOD_FOUNTAIN" = TRAIT_BLOOD_FOUNTAIN, "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_BONSAI" = TRAIT_BONSAI, "TRAIT_BOOZE_SLIDER" = TRAIT_BOOZE_SLIDER, "TRAIT_BORN_MONKEY" = TRAIT_BORN_MONKEY, "TRAIT_BOT_PATH_HUD" = TRAIT_BOT_PATH_HUD, "TRAIT_BOXING_READY" = TRAIT_BOXING_READY, - "TRAIT_BUGKILLER_DEATH" = TRAIT_BUGKILLER_DEATH, "TRAIT_BRAINWASHING" = TRAIT_BRAINWASHING, "TRAIT_BRAWLING_KNOCKDOWN_BLOCKED" = TRAIT_BRAWLING_KNOCKDOWN_BLOCKED, + "TRAIT_BUGKILLER_DEATH" = TRAIT_BUGKILLER_DEATH, "TRAIT_BYPASS_EARLY_IRRADIATED_CHECK" = TRAIT_BYPASS_EARLY_IRRADIATED_CHECK, "TRAIT_BYPASS_MEASURES" = TRAIT_BYPASS_MEASURES, "TRAIT_CANNOT_BE_UNBUCKLED" = TRAIT_CANNOT_BE_UNBUCKLED, @@ -243,18 +245,19 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_DEAF" = TRAIT_DEAF, "TRAIT_DEATHCOMA" = TRAIT_DEATHCOMA, "TRAIT_DEFIB_BLACKLISTED" = TRAIT_DEFIB_BLACKLISTED, + "TRAIT_DESENSITIZED" = TRAIT_DESENSITIZED, "TRAIT_DESIGNATED_TARGET" = TRAIT_DESIGNATED_TARGET, "TRAIT_DETECTIVES_TASTE" = TRAIT_DETECTIVES_TASTE, "TRAIT_DETECT_STORM" = TRAIT_DETECT_STORM, "TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD, "TRAIT_DISCOORDINATED_TOOL_USER" = TRAIT_DISCOORDINATED_TOOL_USER, - "TRAIT_DISEASELIKE_SEVERITY_MEDIUM" = TRAIT_DISEASELIKE_SEVERITY_MEDIUM, + "TRAIT_DISCO_DANCER" = TRAIT_DISCO_DANCER, "TRAIT_DISEASELIKE_SEVERITY_HIGH" = TRAIT_DISEASELIKE_SEVERITY_HIGH, + "TRAIT_DISEASELIKE_SEVERITY_MEDIUM" = TRAIT_DISEASELIKE_SEVERITY_MEDIUM, "TRAIT_DISFIGURED" = TRAIT_DISFIGURED, "TRAIT_DISGUISED" = TRAIT_DISGUISED, - "TRAIT_DISPLAY_JOB_IN_BINARY" = TRAIT_DISPLAY_JOB_IN_BINARY, - "TRAIT_DISCO_DANCER" = TRAIT_DISCO_DANCER, "TRAIT_DISK_VERIFIER" = TRAIT_DISK_VERIFIER, + "TRAIT_DISPLAY_JOB_IN_BINARY" = TRAIT_DISPLAY_JOB_IN_BINARY, "TRAIT_DISSECTED" = TRAIT_DISSECTED, "TRAIT_DONT_WRITE_MEMORY" = TRAIT_DONT_WRITE_MEMORY, "TRAIT_DOUBLE_TAP" = TRAIT_DOUBLE_TAP, @@ -382,6 +385,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_MANSUS_TOUCHED" = TRAIT_MANSUS_TOUCHED, "TRAIT_MASQUERADE_FOOD" = TRAIT_MASQUERADE_FOOD, // BUBBER EDIT "TRAIT_MEDICAL_HUD" = TRAIT_MEDICAL_HUD, + "TRAIT_MEDICAL_HUD_SENSOR_ONLY" = TRAIT_MEDICAL_HUD_SENSOR_ONLY, "TRAIT_MESON_VISION" = TRAIT_MESON_VISION, "TRAIT_MIME_FAN" = TRAIT_MIME_FAN, "TRAIT_MIMING" = TRAIT_MIMING, @@ -522,6 +526,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_ROUGHRIDER" = TRAIT_ROUGHRIDER, "TRAIT_SABRAGE_PRO" = TRAIT_SABRAGE_PRO, "TRAIT_SECURITY_HUD" = TRAIT_SECURITY_HUD, + "TRAIT_SECURITY_HUD_ID_ONLY" = TRAIT_SECURITY_HUD_ID_ONLY, "TRAIT_SEE_WORN_COLOURS" = TRAIT_SEE_WORN_COLOURS, "TRAIT_SELF_AWARE" = TRAIT_SELF_AWARE, "TRAIT_SELF_SURGERY" = TRAIT_SELF_SURGERY, @@ -640,7 +645,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_INVISIBLE_TO_CAMERA" = TRAIT_INVISIBLE_TO_CAMERA, "TRAIT_LEFT_EYE_SCAR" = TRAIT_LEFT_EYE_SCAR, "TRAIT_RIGHT_EYE_SCAR" = TRAIT_RIGHT_EYE_SCAR, - "HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT" = HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT, + "TRAIT_BASIC_HEALTH_HUD_VISIBLE" = TRAIT_BASIC_HEALTH_HUD_VISIBLE, "TRAIT_PREVENT_BLINKING" = TRAIT_PREVENT_BLINKING, "TRAIT_PREVENT_BLINK_LOOPS" = TRAIT_PREVENT_BLINK_LOOPS, "TRAIT_NO_EYELIDS" = TRAIT_NO_EYELIDS, diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index c4ed2ca5a7f..972afde1fa8 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -32,6 +32,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_SPEED_POTIONED" = TRAIT_SPEED_POTIONED, ), /mob = list( + "TRAIT_ABDUCTOR_HUD" = TRAIT_ABDUCTOR_HUD, "TRAIT_ABDUCTOR_SCIENTIST_TRAINING" = TRAIT_ABDUCTOR_SCIENTIST_TRAINING, "TRAIT_ABDUCTOR_TRAINING" = TRAIT_ABDUCTOR_TRAINING, "TRAIT_ACT_AS_CULTIST" = TRAIT_ACT_AS_CULTIST, @@ -55,22 +56,23 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_BEAST_EMPATHY" = TRAIT_BEAST_EMPATHY, "TRAIT_BLOB_ALLY" = TRAIT_BLOB_ALLY, "TRAIT_BLOCK_SHUTTLE_MOVEMENT" = TRAIT_BLOCK_SHUTTLE_MOVEMENT, - "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, "TRAIT_BLOODSHOT_EYES" = TRAIT_BLOODSHOT_EYES, + "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_BONSAI" = TRAIT_BONSAI, "TRAIT_BOOZE_SLIDER" = TRAIT_BOOZE_SLIDER, + "TRAIT_BOT_PATH_HUD" = TRAIT_BOT_PATH_HUD, "TRAIT_BYPASS_MEASURES" = TRAIT_BYPASS_MEASURES, + "TRAIT_CANNOT_BE_UNBUCKLED" = TRAIT_CANNOT_BE_UNBUCKLED, + "TRAIT_CANNOT_OPEN_PRESENTS" = TRAIT_CANNOT_OPEN_PRESENTS, "TRAIT_CAN_HOLD_ITEMS" = TRAIT_CAN_HOLD_ITEMS, "TRAIT_CAN_STRIP" = TRAIT_CAN_STRIP, "TRAIT_CAN_THROW_ITEMS" = TRAIT_CAN_THROW_ITEMS, "TRAIT_CAN_USE_NUKE" = TRAIT_CAN_USE_NUKE, - "TRAIT_CANNOT_BE_UNBUCKLED" = TRAIT_CANNOT_BE_UNBUCKLED, - "TRAIT_CANNOT_OPEN_PRESENTS" = TRAIT_CANNOT_OPEN_PRESENTS, "TRAIT_CATLIKE_GRACE" = TRAIT_CATLIKE_GRACE, "TRAIT_CHASM_DESTROYED" = TRAIT_CHASM_DESTROYED, - "TRAIT_CHUNKYFINGERS_IGNORE_BATON" = TRAIT_CHUNKYFINGERS_IGNORE_BATON, "TRAIT_CHUNKYFINGERS" = TRAIT_CHUNKYFINGERS, + "TRAIT_CHUNKYFINGERS_IGNORE_BATON" = TRAIT_CHUNKYFINGERS_IGNORE_BATON, "TRAIT_CLEANBOT_WHISPERER" = TRAIT_CLEANBOT_WHISPERER, "TRAIT_CLIFF_WALKER" = TRAIT_CLIFF_WALKER, "TRAIT_CLOWN_ENJOYER" = TRAIT_CLOWN_ENJOYER, @@ -84,9 +86,9 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_DEAF" = TRAIT_DEAF, "TRAIT_DEATHCOMA" = TRAIT_DEATHCOMA, "TRAIT_DEFIB_BLACKLISTED" = TRAIT_DEFIB_BLACKLISTED, + "TRAIT_DESENSITIZED" = TRAIT_DESENSITIZED, "TRAIT_DETECT_STORM" = TRAIT_DETECT_STORM, "TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD, - "TRAIT_BOT_PATH_HUD" = TRAIT_BOT_PATH_HUD, "TRAIT_DISCOORDINATED_TOOL_USER" = TRAIT_DISCOORDINATED_TOOL_USER, "TRAIT_DISFIGURED" = TRAIT_DISFIGURED, "TRAIT_DISK_VERIFIER" = TRAIT_DISK_VERIFIER, @@ -99,12 +101,12 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_EMOTEMUTE" = TRAIT_EMOTEMUTE, "TRAIT_EMPATH" = TRAIT_EMPATH, "TRAIT_ENTRAILS_READER" = TRAIT_ENTRAILS_READER, + "TRAIT_EVIL" = TRAIT_EVIL, "TRAIT_EXAMINE_FISHING_SPOT" = TRAIT_EXAMINE_FISHING_SPOT, "TRAIT_EXAMINE_FITNESS" = TRAIT_EXAMINE_FITNESS, "TRAIT_EXPANDED_FOV" = TRAIT_EXPANDED_FOV, "TRAIT_EXPERT_FISHER" = TRAIT_EXPERT_FISHER, "TRAIT_EXTROVERT" = TRAIT_EXTROVERT, - "TRAIT_EVIL" = TRAIT_EVIL, "TRAIT_FACE_COVERED" = TRAIT_FACE_COVERED, "TRAIT_FAKEDEATH" = TRAIT_FAKEDEATH, "TRAIT_FASTMED" = TRAIT_FASTMED, @@ -173,6 +175,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_MARTIAL_ARTS_IMMUNE" = TRAIT_MARTIAL_ARTS_IMMUNE, "TRAIT_MASQUERADE_FOOD" = TRAIT_MASQUERADE_FOOD, //BUBBER EDIT "TRAIT_MEDICAL_HUD" = TRAIT_MEDICAL_HUD, + "TRAIT_MEDICAL_HUD_SENSOR_ONLY" = TRAIT_MEDICAL_HUD_SENSOR_ONLY, "TRAIT_MIME_FAN" = TRAIT_MIME_FAN, "TRAIT_MIMING" = TRAIT_MIMING, "TRAIT_MINDSHIELD" = TRAIT_MINDSHIELD, @@ -268,6 +271,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_ROUGHRIDER" = TRAIT_ROUGHRIDER, "TRAIT_SABRAGE_PRO" = TRAIT_SABRAGE_PRO, "TRAIT_SECURITY_HUD" = TRAIT_SECURITY_HUD, + "TRAIT_SECURITY_HUD_ID_ONLY" = TRAIT_SECURITY_HUD_ID_ONLY, "TRAIT_SELF_AWARE" = TRAIT_SELF_AWARE, "TRAIT_SETTLER" = TRAIT_SETTLER, "TRAIT_SHIFTY_EYES" = TRAIT_SHIFTY_EYES, diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 45b957b8d93..ba9edd34d38 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -73,7 +73,8 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list( var/list/always_visible_inventory = list() var/list/inv_slots[SLOTS_AMT] // /atom/movable/screen/inventory objects, ordered by their slot ID. var/list/hand_slots // /atom/movable/screen/inventory/hand objects, assoc list of "[held_index]" = object - + /// storages (and its content) currently open by mob + var/list/open_containers = list() /// Assoc list of key => "plane master groups" /// This is normally just the main window, but it'll occasionally contain things like spyglasses windows var/list/datum/plane_master_group/master_groups = list() @@ -269,6 +270,7 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list( throw_icon = null resist_icon = null QDEL_LIST(infodisplay) + open_containers = null healths = null stamina = null @@ -378,7 +380,8 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list( screenmob.client.screen += infodisplay if(always_visible_inventory.len) screenmob.client.screen += always_visible_inventory - + if(open_containers.len) + screenmob.client.screen += open_containers screenmob.client.screen += toggle_palette if(action_intent) diff --git a/code/_onclick/hud/new_player.dm b/code/_onclick/hud/new_player.dm index 447dac07c55..49883f38b69 100644 --- a/code/_onclick/hud/new_player.dm +++ b/code/_onclick/hud/new_player.dm @@ -688,30 +688,58 @@ ///Boolean on whether or not we should have our static overlay, so we 'turn' the TV off when collapsing. var/show_static = TRUE + ///Static mutable appearance of a job icon we're displaying on the TV for overflow job. + var/static/mutable_appearance/job_overlay /atom/movable/screen/lobby/new_player_info/Initialize(mapload, datum/hud/hud_owner) . = ..() START_PROCESSING(SSnewplayer_info, src) update_text() + + //only go if the station trait is selected, otherwise it'll show "Assistant" every round. + var/datum/station_trait/overflow_job_bureaucracy/overflow_job = locate() in SSstation.station_traits + if(overflow_job && isnull(job_overlay)) + var/icon/job_icon = get_job_hud_icon(SSjob.overflow_role) + if(isnull(job_icon)) + stack_trace("[SSjob.overflow_role::title] was selected as the Job Overflow but has no icon!") + else + job_icon.Scale(ICON_SIZE_X / 2, ICON_SIZE_X / 2) + job_overlay = mutable_appearance(job_icon, offset_spokesman = src, alpha = 120, layer = src.layer+0.02) + var/matrix/job_matrix = matrix() + job_matrix.Translate(6, 14) //this is completely arbitruary just what I thought looked good. + job_overlay.transform = job_matrix + update_appearance(UPDATE_ICON) /atom/movable/screen/lobby/new_player_info/Destroy() STOP_PROCESSING(SSnewplayer_info, src) return ..() +/atom/movable/screen/lobby/new_player_info/MouseEntered(location, control, params) + . = ..() + if(QDELETED(src) || isnull(job_overlay)) + return + openToolTip(usr, src, params, title = "[SSjob.overflow_role::title] overflow", content = "The overflow for the round has been set as [SSjob.overflow_role::title].") + +/atom/movable/screen/lobby/new_player_info/MouseExited() + closeToolTip(usr) + return ..() + /atom/movable/screen/lobby/new_player_info/update_icon_state() . = ..() icon_state = base_icon_state /atom/movable/screen/lobby/new_player_info/update_overlays() . = ..() - . += mutable_appearance(icon, "[base_icon_state]_overlay", layer = src.layer+0.03) + . += mutable_appearance(icon, "[base_icon_state]_overlay", layer = src.layer+0.01) if(!show_static) return . - . += mutable_appearance(icon, "static_base", alpha = 20, layer = src.layer+0.01) + if(job_overlay) + . += job_overlay + . += mutable_appearance(icon, "static_base", alpha = 20, layer = src.layer+0.03) //we have this in a separate file because `generate_icon_alpha_mask` puts lighting even on non-existent pixels, //giving the icon a weird background color. - var/mutable_appearance/scanline = mutable_appearance(generate_icon_alpha_mask('icons/hud/lobby/newplayer_scanline.dmi', "scanline"), alpha = 20, layer = src.layer+0.02) + var/mutable_appearance/scanline = mutable_appearance(generate_icon_alpha_mask('icons/hud/lobby/newplayer_scanline.dmi', "scanline"), alpha = 20, layer = src.layer+0.04) scanline.pixel_y = OVERLAY_X_DIFF scanline.pixel_x = OVERLAY_Y_DIFF . += scanline @@ -751,9 +779,6 @@ new_maptext = "[SSmapping.current_map.map_name]
\ [LAZYLEN(GLOB.clients)] player\s online
\ [ROUND_TIME()] in
" - var/datum/station_trait/overflow_job_bureaucracy/overflow = locate() in SSstation.station_traits - if(overflow) - new_maptext += "[overflow.chosen_job_name] overflow" new_maptext += "
" else var/time_remaining = SSticker.GetTimeLeft() diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 4fa1675445f..b5040ff48e5 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -235,7 +235,7 @@ GLOBAL_LIST_EMPTY(radial_menus) E.pixel_x = px if(anim_flag & BUTTON_FADE_IN) - animate(E, alpha = 255, time = 0.15 SECONDS, easing = EASE_OUT) + animate(E, alpha = 255, time = 0.15 SECONDS, easing = CUBIC_EASING|EASE_OUT) else E.alpha = 255 diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index e6f8a5e1908..e8494b9e812 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -485,6 +485,15 @@ default = 6 min_val = -1 +/// Freebie quirk points. Can't go negative because we have no way of enforcing a person has a quirk before they join. +/datum/config_entry/number/default_quirk_points + default = 2 + min_val = 0 + +/// Max personalities you can have at once +/datum/config_entry/number/max_personalities + default = 5 + /** * A config that skews with the random spawners weights * If the value is lower than 1, it'll tend to even out the odds diff --git a/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm b/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm index 2ca15349339..707c0220ca6 100644 --- a/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm +++ b/code/controllers/subsystem/dynamic/_dynamic_ruleset.dm @@ -77,6 +77,8 @@ var/minimum_required_age = 0 /// Templates necessary for this ruleset to be executed VAR_PROTECTED/list/ruleset_lazy_templates + /// Extra logging information can be set here, to be output into any admin messaging and dynamic logs. + VAR_FINAL/log_data /datum/dynamic_ruleset/New(list/dynamic_config) for(var/new_var in dynamic_config?[config_tag]) @@ -220,6 +222,7 @@ // This is (mostly) redundant, buuuut the (potential) sleep above makes it iffy, so let's just be safe if(!can_be_selected()) + log_data = "Reason: Ruleset cannot be selected." return FALSE var/max_candidates = get_antag_cap(population_size, max_antag_cap || min_antag_cap) @@ -227,6 +230,7 @@ var/list/selected_candidates = select_candidates(antag_candidates, max_candidates) if(length(selected_candidates) < min_candidates) + log_data = "Reason: Not enough eligible candidates. Have: [length(selected_candidates)], Need: [min_candidates]" return FALSE for(var/mob/candidate as anything in selected_candidates) diff --git a/code/controllers/subsystem/dynamic/dynamic.dm b/code/controllers/subsystem/dynamic/dynamic.dm index a54157e1f88..2b51b7fff6e 100644 --- a/code/controllers/subsystem/dynamic/dynamic.dm +++ b/code/controllers/subsystem/dynamic/dynamic.dm @@ -149,7 +149,7 @@ SUBSYSTEM_DEF(dynamic) for(var/datum/dynamic_ruleset/roundstart/ruleset in queued_rulesets) // NOTE: !! THIS CAN SLEEP !! if(!ruleset.prepare_execution( num_real_players, antag_candidates )) - log_dynamic("Roundstart: Selected ruleset [ruleset.config_tag], but preparation failed!") + log_dynamic("Roundstart: Selected ruleset [ruleset.config_tag], but preparation failed! [ruleset.log_data]") queued_rulesets -= ruleset qdel(ruleset) continue @@ -368,7 +368,7 @@ SUBSYSTEM_DEF(dynamic) // NOTE: !! THIS CAN SLEEP !! if(!picked_ruleset.prepare_execution(player_count, picked_ruleset.collect_candidates())) - log_dynamic("Midround ([range]): Selected ruleset [picked_ruleset.config_tag], but preparation failed!") + log_dynamic("Midround ([range]): Selected ruleset [picked_ruleset.config_tag], but preparation failed! [picked_ruleset.log_data]") QDEL_LIST(rulesets_weighted) return FALSE // Run the thing @@ -430,8 +430,8 @@ SUBSYSTEM_DEF(dynamic) // NOTE: !! THIS CAN SLEEP !! if(!running.prepare_execution(get_active_player_count(afk_check = TRUE), running.collect_candidates())) if(alert_admins_on_fail) - message_admins("Midround (forced): Forced ruleset [running.config_tag], but preparation failed!") - log_dynamic("Midround (forced): Forced ruleset [running.config_tag], but preparation failed!") + message_admins("Midround (forced): Forced ruleset [running.config_tag], but preparation failed! [running.log_data]") + log_dynamic("Midround (forced): Forced ruleset [running.config_tag], but preparation failed! [running.log_data]") qdel(running) return FALSE @@ -493,7 +493,7 @@ SUBSYSTEM_DEF(dynamic) return FALSE // NOTE: !! THIS CAN SLEEP !! if(!picked_ruleset.prepare_execution(player_count, list(latejoiner))) - log_dynamic("Latejoin: Selected ruleset [picked_ruleset.name] for [key_name(latejoiner)], but preparation failed! Latejoin chance has increased.") + log_dynamic("Latejoin: Selected ruleset [picked_ruleset.name] for [key_name(latejoiner)], but preparation failed! Latejoin chance has increased. [picked_ruleset.log_data]") QDEL_LIST(rulesets_weighted) failed_latejoins++ return FALSE diff --git a/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm b/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm index d9fbab9245a..b418f1ade42 100644 --- a/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm +++ b/code/controllers/subsystem/dynamic/dynamic_ruleset_midround.dm @@ -407,6 +407,9 @@ /datum/dynamic_ruleset/midround/from_ghosts/blob/false_alarm() priority_announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", ANNOUNCER_OUTBREAK5) + // Set status displays to biohazard alert even for false alarm + send_status_display_biohazard_alert() + /datum/dynamic_ruleset/midround/from_ghosts/xenomorph name = "Alien Infestation" config_tag = "Xenomorph" diff --git a/code/controllers/subsystem/explosions.dm b/code/controllers/subsystem/explosions.dm index c885c882628..9fb15c8087e 100644 --- a/code/controllers/subsystem/explosions.dm +++ b/code/controllers/subsystem/explosions.dm @@ -463,8 +463,9 @@ ADMIN_VERB(check_bomb_impacts, R_DEBUG, "Check Bomb Impact", "See what the effec throwingturf[1] = max_range - dist throwingturf[2] = epicenter throwingturf[3] = max_range + throwingturf[4] = severity else - explode.explosion_throw_details = list(max_range - dist, epicenter, max_range) + explode.explosion_throw_details = list(max_range - dist, epicenter, max_range, severity) held_throwturf += explode @@ -756,19 +757,28 @@ ADMIN_VERB(check_bomb_impacts, R_DEBUG, "Check Bomb Impact", "See what the effec var/turf/explode = thing var/list/details = explode.explosion_throw_details explode.explosion_throw_details = null - if (length(details) != 3) + if (length(details) != 4) continue var/throw_range = details[1] var/turf/center = details[2] var/max_range = details[3] - for(var/atom/movable/A in explode) - if(QDELETED(A)) + var/severity = details[4] + var/required_resist = 0 + switch(severity) + if(EXPLODE_DEVASTATE) // The jump from "very strong" to "overpowering" is intentional, more stuff should be thrown by point-blank explosions + required_resist = MOVE_FORCE_OVERPOWERING + if(EXPLODE_HEAVY) + required_resist = MOVE_FORCE_VERY_STRONG + if(EXPLODE_LIGHT) + required_resist = MOVE_FORCE_STRONG + for(var/atom/movable/movable as anything in explode) + if(QDELETED(movable)) continue - if(!A.anchored && A.move_resist != INFINITY) + if(!movable.anchored && movable.move_resist < required_resist) // We want to have our distance matter, but we do want to bias to a lot of throw, for the vibe var/atom_throw_range = rand(throw_range, max_range) + max_range * 0.3 - var/turf/throw_at = get_ranged_target_turf_direct(A, center, atom_throw_range, 180) // Throw 180 degrees away from the explosion source - A.throw_at(throw_at, atom_throw_range, EXPLOSION_THROW_SPEED, quickstart = FALSE) + var/turf/throw_at = get_ranged_target_turf_direct(movable, center, atom_throw_range, 180) // Throw 180 degrees away from the explosion source + movable.throw_at(throw_at, atom_throw_range, EXPLOSION_THROW_SPEED, quickstart = FALSE) cost_throwturf = MC_AVERAGE(cost_throwturf, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) currentpart = SSEXPLOSIONS_TURFS diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 4bba125a34d..c4d089402be 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -31,7 +31,7 @@ SUBSYSTEM_DEF(job) var/list/prioritized_jobs = list() var/list/latejoin_trackers = list() - var/overflow_role = /datum/job/assistant + var/datum/job/overflow_role = /datum/job/assistant var/list/level_order = list(JP_HIGH, JP_MEDIUM, JP_LOW) @@ -747,7 +747,12 @@ SUBSYSTEM_DEF(job) /atom/proc/JoinPlayerHere(mob/joining_mob, buckle) // By default, just place the mob on the same turf as the marker or whatever. - joining_mob.forceMove(get_turf(src)) + // Set joining_mob as the new mob so subtypes can use it as a proper mob. + if(ispath(joining_mob)) + joining_mob = new joining_mob(get_turf(src)) + else + joining_mob.forceMove(get_turf(src)) + return joining_mob /obj/structure/chair/JoinPlayerHere(mob/joining_mob, buckle) . = ..() diff --git a/code/controllers/subsystem/processing/personality.dm b/code/controllers/subsystem/processing/personality.dm new file mode 100644 index 00000000000..e38789a6127 --- /dev/null +++ b/code/controllers/subsystem/processing/personality.dm @@ -0,0 +1,80 @@ +PROCESSING_SUBSYSTEM_DEF(personalities) + name = "Personalities" + runlevels = RUNLEVEL_GAME + flags = SS_BACKGROUND|SS_POST_FIRE_TIMING + wait = 3 SECONDS + + /// All personality singletons indexed by their type + VAR_FINAL/list/datum/personality/personalities_by_type + /// All personality singletons indexed by their savefile key + VAR_FINAL/list/datum/personality/personalities_by_key + /// Assoc list of personality group to list of personality typepaths in that group + VAR_FINAL/list/incompatibilities_by_group + /// For personalities which process, this tracks all mobs we need to process for + VAR_FINAL/list/processing_personalities + +/datum/controller/subsystem/processing/personalities/Initialize() + init_personalities() + return SS_INIT_SUCCESS + +/// Initialized personality singletons +/datum/controller/subsystem/processing/personalities/proc/init_personalities() + personalities_by_type = list() + personalities_by_key = list() + incompatibilities_by_group = list() + processing_personalities = list() + for(var/datum/personality/personality_type as anything in subtypesof(/datum/personality)) + var/personality_key = personality_type::savefile_key + if(isnull(personality_key)) + // Abstract personality, ignore + continue + if(personalities_by_key[personality_key]) + stack_trace("Personality save key collision! \ + key: [personality_key] - \ + new: [personality_type::name] - \ + old: [personalities_by_key[personality_key].name]") + continue + + var/datum/personality/personality = new personality_type() + personalities_by_type[personality_type] = personality + personalities_by_key[personality.savefile_key] = personality + for(var/group in personality.groups) + incompatibilities_by_group[group] ||= list() + incompatibilities_by_group[group] += personality_type + +/// Helper to check if the new personality type is incompatible with the passed list of personality types +/datum/controller/subsystem/processing/personalities/proc/is_incompatible(list/personality_types, new_personality_type) + if(!length(incompatibilities_by_group)) + stack_trace("Checking personality incompatibilities before the incompatibility list was initialized?") + return FALSE + if(length(personality_types)) + // No incompatibilities possible with no personalities + return FALSE + var/datum/personality/new_personality = personalities_by_type[new_personality_type] + if(!length(new_personality.groups)) + // No groups, so no incompatibilities + return FALSE + + // Filters all incompatibily groups against the new personality's groups + for(var/group, incompatibility_list in incompatibilities_by_group & new_personality.groups) + // Then checks if any personality type in the list is also in the group + if(length(incompatibility_list & personality_types)) + return TRUE + return FALSE + +/// Helper to select a random list of personalities, respecting incompatibilities. REturns a list of typepaths +/datum/controller/subsystem/processing/personalities/proc/select_random_personalities(lower_end = 1, upper_end = CONFIG_GET(number/max_personalities)) + var/list/personality_pool = personalities_by_type.Copy() + var/list/selected_personalities = list() + var/num = rand(lower_end, upper_end) + var/i = 1 + while(i <= num) + if(!length(personality_pool)) + break + var/picked_type = pick(personality_pool) + if(is_incompatible(selected_personalities, picked_type)) + continue + selected_personalities += picked_type + personality_pool -= picked_type + i += 1 + return selected_personalities diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 96b37612b95..44f583ade10 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -8,13 +8,11 @@ GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list( list(/datum/quirk/item_quirk/blindness, /datum/quirk/item_quirk/scarred_eye), list(/datum/quirk/item_quirk/blindness, /datum/quirk/item_quirk/fluoride_stare), list(/datum/quirk/item_quirk/blindness, /datum/quirk/touchy), - list(/datum/quirk/jolly, /datum/quirk/depression, /datum/quirk/apathetic, /datum/quirk/hypersensitive), + list(/datum/quirk/jolly, /datum/quirk/depression, /datum/quirk/hypersensitive), list(/datum/quirk/no_taste, /datum/quirk/vegetarian, /datum/quirk/deviant_tastes, /datum/quirk/gamer), list(/datum/quirk/pineapple_liker, /datum/quirk/pineapple_hater, /datum/quirk/gamer), list(/datum/quirk/alcohol_tolerance, /datum/quirk/light_drinker), list(/datum/quirk/item_quirk/clown_enjoyer, /datum/quirk/item_quirk/mime_fan), - list(/datum/quirk/bad_touch, /datum/quirk/friendly), - list(/datum/quirk/extrovert, /datum/quirk/introvert), list(/datum/quirk/prosthetic_limb, /datum/quirk/quadruple_amputee, /datum/quirk/body_purist), list(/datum/quirk/transhumanist, /datum/quirk/body_purist), list(/datum/quirk/prosthetic_organ, /datum/quirk/tin_man, /datum/quirk/body_purist), @@ -140,7 +138,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) *Randomises the quirks for a specified mob */ /datum/controller/subsystem/processing/quirks/proc/randomise_quirks(mob/living/user) - var/bonus_quirks = max((length(user.quirks) + rand(-RANDOM_QUIRK_BONUS, RANDOM_QUIRK_BONUS)), MINIMUM_RANDOM_QUIRKS) + var/bonus_quirks = max((LAZYLEN(user.quirks) + rand(-RANDOM_QUIRK_BONUS, RANDOM_QUIRK_BONUS)), MINIMUM_RANDOM_QUIRKS) var/added_quirk_count = 0 //How many we've added var/list/quirks_to_add = list() //Quirks we're adding var/good_count = 0 @@ -214,7 +212,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) var/list/positive_quirks = list() var/points_enabled = !CONFIG_GET(flag/disable_quirk_points) var/max_positive_quirks = CONFIG_GET(number/max_positive_quirks) - var/balance = 0 + var/balance = -CONFIG_GET(number/default_quirk_points) var/list/all_quirks = get_quirks() diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index f52ace03ec3..3a62a6ec527 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -589,10 +589,15 @@ SUBSYSTEM_DEF(ticker) var/acting_captain = !is_captain_job(player_assigned_role) SSjob.promote_to_captain(new_player_living, acting_captain) OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(minor_announce), player_assigned_role.get_captaincy_announcement(new_player_living))) - if((player_assigned_role.job_flags & JOB_ASSIGN_QUIRKS) && ishuman(new_player_living) && CONFIG_GET(flag/roundstart_traits)) - if(new_player_mob.client?.prefs?.should_be_random_hardcore(player_assigned_role, new_player_living.mind)) - new_player_mob.client.prefs.hardcore_random_setup(new_player_living) - SSquirks.AssignQuirks(new_player_living, new_player_mob.client) + if(ishuman(new_player_living)) + if(player_assigned_role.job_flags & JOB_ASSIGN_QUIRKS) + if(CONFIG_GET(flag/roundstart_traits)) + if(new_player_mob.client?.prefs?.should_be_random_hardcore(player_assigned_role, new_player_living.mind)) + new_player_mob.client.prefs.hardcore_random_setup(new_player_living) + SSquirks.AssignQuirks(new_player_living, new_player_mob.client) + else // clear any personalities the prefs added since our job clearly does not want them + new_player_living.clear_personalities() + if(ishuman(new_player_living)) SEND_SIGNAL(new_player_living, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED) CHECK_TICK diff --git a/code/datums/brain_damage/creepy_trauma.dm b/code/datums/brain_damage/creepy_trauma.dm index e726ad23a62..4ee9e0ee369 100644 --- a/code/datums/brain_damage/creepy_trauma.dm +++ b/code/datums/brain_damage/creepy_trauma.dm @@ -38,6 +38,7 @@ antagonist.greet() log_game("[key_name(antagonist)] has developed an obsession with [key_name(obsession)].") RegisterSignal(owner, COMSIG_CARBON_HELPED, PROC_REF(on_hug)) + ADD_TRAIT(owner, TRAIT_DESENSITIZED, REF(src)) /datum/brain_trauma/special/obsessed/on_life(seconds_per_tick, times_fired) if(!obsession || obsession.stat == DEAD) @@ -75,6 +76,7 @@ if(obsession) log_game("[key_name(owner)] is no longer obsessed with [key_name(obsession)].") UnregisterSignal(obsession, COMSIG_MOB_EYECONTACT) + REMOVE_TRAIT(owner, TRAIT_DESENSITIZED, REF(src)) /datum/brain_trauma/special/obsessed/handle_speech(datum/source, list/speech_args) if(!viewing) diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 42779b5c81a..2c99da7c6f0 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -392,7 +392,7 @@ var/obj/visual = image('icons/hud/screen_gen.dmi', our_tile, "arrow", FLY_LAYER) INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay_global), visual, group_clients(), 2.5 SECONDS) - animate(visual, pixel_x = (tile.x - our_tile.x) * ICON_SIZE_X + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * ICON_SIZE_Y + pointed_atom.pixel_y, time = 1.7, easing = EASE_OUT) + animate(visual, pixel_x = (tile.x - our_tile.x) * ICON_SIZE_X + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * ICON_SIZE_Y + pointed_atom.pixel_y, time = 1.7, easing = SINE_EASING|EASE_OUT) /mob/eye/imaginary_friend/create_thinking_indicator() if(active_thinking_indicator || active_typing_indicator || !HAS_TRAIT(src, TRAIT_THINKING_IN_CHARACTER)) diff --git a/code/datums/brain_damage/special.dm b/code/datums/brain_damage/special.dm index b27335ce3fb..43cfd006fd1 100644 --- a/code/datums/brain_damage/special.dm +++ b/code/datums/brain_damage/special.dm @@ -463,12 +463,14 @@ owner.add_mood_event("combat_ptsd", /datum/mood_event/desentized) owner.mob_mood?.mood_modifier -= 1 //Basically nothing can change your mood owner.mob_mood?.sanity_level = SANITY_DISTURBED //Makes sanity on a unstable level unless cured + ADD_TRAIT(owner, TRAIT_DESENSITIZED, REF(src)) . = ..() /datum/brain_trauma/special/ptsd/on_lose() owner.clear_mood_event("combat_ptsd") owner.mob_mood?.mood_modifier += 1 owner.mob_mood?.sanity_level = SANITY_GREAT + REMOVE_TRAIT(owner, TRAIT_DESENSITIZED, REF(src)) return ..() /datum/brain_trauma/special/primal_instincts diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm index 29855ac6c47..014a89cf6c7 100644 --- a/code/datums/components/anti_magic.dm +++ b/code/datums/components/anti_magic.dm @@ -45,7 +45,6 @@ datum/callback/check_blocking, ) - var/atom/movable/movable = parent if(!istype(movable)) return COMPONENT_INCOMPATIBLE @@ -54,6 +53,7 @@ if(isitem(movable)) RegisterSignal(movable, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) RegisterSignal(movable, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(movable, COMSIG_ATOM_EXAMINE_TAGS, PROC_REF(get_examine_tags)) RegisterSignals(movable, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_ATOM), PROC_REF(on_attack)) compatible = TRUE else if(ismob(movable)) @@ -95,6 +95,20 @@ SIGNAL_HANDLER unregister_antimagic_signals(bucklee) +/datum/component/anti_magic/proc/get_examine_tags(atom/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(antimagic_flags == ALL_MAGIC_RESISTANCE) + examine_list["magic-proof"] = "It is thoroughly shielded against all known forms of magic." + return + + if(antimagic_flags & MAGIC_RESISTANCE) + examine_list["warded"] = "It possesses a general resistance to regular spells and magic." + if(antimagic_flags & MAGIC_RESISTANCE_MIND) + examine_list["telepathy-proof"] = "It appears to be insulated against telepathic or mental influence." + if(antimagic_flags & MAGIC_RESISTANCE_HOLY) + examine_list["blessed"] = "It is protected by a divine shield against unholy and dark forms of magic." + /datum/component/anti_magic/proc/on_equip(atom/movable/source, mob/equipper, slot) SIGNAL_HANDLER diff --git a/code/datums/components/area_sound_manager.dm b/code/datums/components/area_sound_manager.dm index 0155f548ec6..8dfb7895699 100644 --- a/code/datums/components/area_sound_manager.dm +++ b/code/datums/components/area_sound_manager.dm @@ -7,8 +7,8 @@ var/datum/looping_sound/our_loop ///A list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves var/list/accepted_zs - ///The timer id of our current start delay, if it exists - var/timerid + /// World.time when we are allowed to start another sound loop + VAR_PRIVATE/next_loop_time /datum/component/area_sound_manager/Initialize(area_loop_pairs, change_on, remove_on, acceptable_zs) if(!ismovable(parent)) @@ -56,15 +56,12 @@ change_the_track() /datum/component/area_sound_manager/proc/change_the_track(skip_start = FALSE) - var/time_remaining = 0 + var/existing_loop_id = our_loop?.timer_id + if(existing_loop_id) + // Time left will sometimes return negative values, just ignore them and start a new sound loop now + next_loop_time = world.time + max(timeleft(existing_loop_id, SSsound_loops) || 0, 0) - if(our_loop) - var/our_id = our_loop.timer_id || timerid - if(our_id) - time_remaining = timeleft(our_id, SSsound_loops) || 0 - //Time left will sometimes return negative values, just ignore them and start a new sound loop now - time_remaining = max(time_remaining, 0) - QDEL_NULL(our_loop) + QDEL_NULL(our_loop) var/area/our_area = get_area(parent) var/new_loop_type = area_to_looping_type[our_area] @@ -73,14 +70,12 @@ our_loop = new new_loop_type(parent, FALSE, TRUE, skip_start) - //If we're still playing, wait a bit before changing the sound so we don't double up - if(time_remaining) - timerid = addtimer(CALLBACK(src, PROC_REF(start_looping_sound)), time_remaining, TIMER_UNIQUE | TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_NO_HASH_WAIT | TIMER_DELETE_ME, SSsound_loops) + // We're not ready to start another loop, wait before changing the sound so we don't double up + if(next_loop_time > world.time) + addtimer(CALLBACK(src, PROC_REF(start_looping_sound)), next_loop_time - world.time, TIMER_UNIQUE | TIMER_CLIENT_TIME | TIMER_NO_HASH_WAIT | TIMER_DELETE_ME, SSsound_loops) return - timerid = null - our_loop.start() + + start_looping_sound() /datum/component/area_sound_manager/proc/start_looping_sound() - timerid = null - if(our_loop) - our_loop.start() + our_loop?.start() diff --git a/code/datums/components/callouts.dm b/code/datums/components/callouts.dm index c6b27bf17dc..7c4ff3934b9 100644 --- a/code/datums/components/callouts.dm +++ b/code/datums/components/callouts.dm @@ -142,7 +142,7 @@ color = colorize_string(creator.get_voice(), 2, 0.9) update_appearance() var/turf/target_loc = get_turf(target) - animate(src, pixel_x = (target_loc.x - loc.x) * ICON_SIZE_X + target.pixel_x, pixel_y = (target_loc.y - loc.y) * ICON_SIZE_Y + target.pixel_y, time = 0.2 SECONDS, easing = EASE_OUT) + animate(src, pixel_x = (target_loc.x - loc.x) * ICON_SIZE_X + target.pixel_x, pixel_y = (target_loc.y - loc.y) * ICON_SIZE_Y + target.pixel_y, time = 0.2 SECONDS, easing = SINE_EASING|EASE_OUT) /datum/callout_option var/name = "ERROR" diff --git a/code/datums/components/crafting/atmospheric.dm b/code/datums/components/crafting/atmospheric.dm index 0e59d00a714..c422b524593 100644 --- a/code/datums/components/crafting/atmospheric.dm +++ b/code/datums/components/crafting/atmospheric.dm @@ -1,14 +1,3 @@ -/datum/crafting_recipe/bluespace_vendor_mount - name = "Bluespace Vendor Wall Mount" - result = /obj/item/wallframe/bluespace_vendor_mount - time = 6 SECONDS - reqs = list( - /obj/item/stack/sheet/iron = 15, - /obj/item/stack/sheet/glass = 10, - /obj/item/stack/cable_coil = 10, - ) - category = CAT_ATMOSPHERIC - /datum/crafting_recipe/pipe name = "Smart pipe fitting" tool_behaviors = list(TOOL_WRENCH) diff --git a/code/datums/components/fearful/fearful.dm b/code/datums/components/fearful/fearful.dm index e75d739c2a5..7b7e9953e54 100644 --- a/code/datums/components/fearful/fearful.dm +++ b/code/datums/components/fearful/fearful.dm @@ -84,7 +84,19 @@ overriden_handlers[override_type] = list() overriden_handlers[override_type][handler_type] = TRUE +/datum/component/fearful/proc/get_fear_multiplier() + var/multiplier = 1 + var/mob/living/parent_mob = parent + if(HAS_PERSONALITY(parent_mob, /datum/personality/cowardly)) + multiplier *= 1.25 + if(HAS_PERSONALITY(parent_mob, /datum/personality/paranoid)) + multiplier *= 1.10 + if(HAS_PERSONALITY(parent_mob, /datum/personality/brave)) + multiplier *= 0.75 + return multiplier + /datum/component/fearful/process(seconds_per_tick) + var/fear_modifier = get_fear_multiplier() var/terror_adjustment = 0 var/list/tick_later = list() for (var/datum/terror_handler/handler as anything in terror_handlers) @@ -94,12 +106,12 @@ tick_later += handler continue var/adjustment = handler.tick(seconds_per_tick, terror_buildup) - terror_buildup = clamp(terror_buildup + adjustment, 0, TERROR_BUILDUP_MAXIMUM) + terror_buildup = clamp(terror_buildup + (adjustment * fear_modifier), 0, TERROR_BUILDUP_MAXIMUM) terror_adjustment += adjustment for (var/datum/terror_handler/handler as anything in tick_later) var/adjustment = handler.tick(seconds_per_tick, terror_buildup) - terror_buildup = clamp(terror_buildup + adjustment, 0, TERROR_BUILDUP_MAXIMUM) + terror_buildup = clamp(terror_buildup + (adjustment * fear_modifier), 0, TERROR_BUILDUP_MAXIMUM) terror_adjustment += adjustment // If we gained terror in any way, don't tick it down @@ -109,7 +121,7 @@ // Tick terror down while we're not being actively spooked if (terror_buildup > 0) - terror_buildup = max(terror_buildup - TERROR_BUILDUP_PASSIVE_DECREASE, 0) + terror_buildup = max(terror_buildup - (TERROR_BUILDUP_PASSIVE_DECREASE * (1 / fear_modifier)) * seconds_per_tick, 0) last_tick_buildup = terror_buildup /datum/component/fearful/proc/on_examine(mob/living/source, mob/user, list/examine_list) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index ca14db4c8cd..9da3001015f 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -512,6 +512,8 @@ Behavior that's still missing from this component that original food items had t checkLiked(fraction, eater) + check_materials(eater, fraction) + if(!owner.reagents.total_volume) On_Consume(eater, feeder) @@ -527,6 +529,29 @@ Behavior that's still missing from this component that original food items had t return TRUE +///Perform operations based on materials and/or if the parent object is a stack. +/datum/component/edible/proc/check_materials(mob/living/carbon/eater, fraction) + var/atom/owner = parent + var/is_stack = isstack(owner) + + //food may also apply golem buffs if it contains certain materials and the mob has the required trait + if(owner.custom_materials && HAS_TRAIT(eater, TRAIT_ROCK_EATER)) + for(var/datum/material/material as anything in owner.custom_materials) + var/effect_stack_amount = (owner.custom_materials[material] * fraction) / SHEET_MATERIAL_AMOUNT + var/datum/golem_food_buff/effect + effect = GLOB.golem_stack_food_directory[material.sheet_type || material.ore_type] + if(effect?.can_consume(eater)) + effect.on_consumption(eater, owner, effect_stack_amount) + + if(fraction >= 1) //don't bother if the item is about to be deleted anyway... + return + + if(is_stack) //stacks use up sheets, which recalulates the materials already. + var/obj/item/stack/stack = owner + stack.use(CEILING(stack.amount * fraction, 1)) + else if(owner.custom_materials) + owner.set_custom_materials(owner.custom_materials, 1 - fraction) + ///Checks whether or not the eater can actually consume the food /datum/component/edible/proc/CanConsume(mob/living/carbon/eater, mob/living/feeder) if(!iscarbon(eater)) @@ -607,10 +632,7 @@ Behavior that's still missing from this component that original food items had t var/atom/owner = parent var/timeout_mod = owner.reagents.get_average_purity(/datum/reagent/consumable) * 2 // mood event duration is 100% at average purity of 50% - var/datum/mood_event/event = GLOB.food_quality_events[food_quality] - event = new event.type - event.timeout *= timeout_mod - gourmand.add_mood_event("quality_food", event) + gourmand.add_mood_event("quality_food", /datum/mood_event/food, food_quality, timeout_mod) gourmand.adjust_disgust(-5 + -2 * food_quality * fraction) var/quality_label = GLOB.food_quality_description[food_quality] to_chat(gourmand, span_notice("That's \an [quality_label] meal.")) diff --git a/code/datums/components/material/material_container.dm b/code/datums/components/material/material_container.dm index 6b1cda73099..d29e5a59385 100644 --- a/code/datums/components/material/material_container.dm +++ b/code/datums/components/material/material_container.dm @@ -673,16 +673,16 @@ //===========================================HIGH LEVEL======================================= /** - * For spawning mineral sheets at a specific location. Used by machines to output sheets. + * For spawning stacks (mineral sheets or ore) at a specific location. Used by machines to output sheets. * * Arguments: - * sheet_amt: number of sheets to extract + * stack_amt: number of sheets to extract * [material][datum/material]: type of sheets present in this container to extract * [target][atom]: drop location - * [atom][context]: context - the atom performing the operation, this is the last argument sent in COMSIG_MATCONTAINER_SHEETS_RETRIEVED and is used mostly for silo logging + * [atom][context]: context - the atom performing the operation, this is the last argument sent in COMSIG_MATCONTAINER_STACK_RETRIEVED and is used mostly for silo logging * user_data - in the form rendered by ID_DATA(user), for material logging (and if this component is connected to a silo, also for permission checking) */ -/datum/component/material_container/proc/retrieve_sheets(sheet_amt, datum/material/material, atom/target = null, atom/context = parent, alist/user_data) +/datum/component/material_container/proc/retrieve_stack(stack_amt, datum/material/material, atom/target = null, atom/context = parent, alist/user_data) //do we support sheets of this material if(!material.sheet_type) return 0 //Add greyscale sheet handling here later @@ -690,8 +690,8 @@ return 0 //requested amount greater than available amount or just an invalid value - sheet_amt = min(round(materials[material] / SHEET_MATERIAL_AMOUNT), sheet_amt) - if(sheet_amt <= 0) + stack_amt = min(round(materials[material] / SHEET_MATERIAL_AMOUNT), stack_amt) + if(stack_amt <= 0) return 0 //auto drop location if(!target) @@ -702,27 +702,30 @@ //eject sheets based on available amount after each iteration var/count = 0 - while(sheet_amt > 0) + while(stack_amt > 0) + var/type_to_retrieve = material.sheet_type || material.ore_type //don't merge yet. we need to do stuff with it first - var/obj/item/stack/sheet/new_sheets = new material.sheet_type(target, min(sheet_amt, MAX_STACK_SIZE), FALSE) - new_sheets.manufactured = TRUE - count += new_sheets.amount + var/obj/item/stack/new_stack = new type_to_retrieve(target, min(stack_amt, MAX_STACK_SIZE), FALSE) + if(istype(new_stack, /obj/item/stack/sheet)) + var/obj/item/stack/sheet/new_sheets = new_stack + new_sheets.manufactured = TRUE + count += new_stack.amount //use material & deduct work needed - use_amount_mat(new_sheets.amount * SHEET_MATERIAL_AMOUNT, material) - sheet_amt -= new_sheets.amount + use_amount_mat(new_stack.amount * SHEET_MATERIAL_AMOUNT, material) + stack_amt -= new_stack.amount //send signal - SEND_SIGNAL(src, COMSIG_MATCONTAINER_SHEETS_RETRIEVED, new_sheets, context, user_data) + SEND_SIGNAL(src, COMSIG_MATCONTAINER_STACK_RETRIEVED, new_stack, context, user_data) //no point merging anything into an already full stack - if(new_sheets.amount == new_sheets.max_amount) + if(new_stack.amount == new_stack.max_amount) continue //now we can merge since we are done with it for(var/obj/item/stack/item_stack in target) - if(item_stack == new_sheets || item_stack.type != material.sheet_type) //don't merge with self or different type + if(item_stack == new_stack || new_stack.type != type_to_retrieve) //don't merge with self or different type continue //speed merge - var/merge_amount = min(item_stack.amount, new_sheets.max_amount - new_sheets.get_amount()) + var/merge_amount = min(item_stack.amount, new_stack.max_amount - new_stack.get_amount()) item_stack.use(merge_amount) - new_sheets.add(merge_amount) + new_stack.add(merge_amount) break return count @@ -736,7 +739,7 @@ /datum/component/material_container/proc/retrieve_all(target = null, atom/context = parent) var/result = 0 for(var/MAT in materials) - result += retrieve_sheets(amount2sheet(materials[MAT]), MAT, target, context, user_data = ID_DATA(null)) + result += retrieve_stack(amount2sheet(materials[MAT]), MAT, target, context, user_data = ID_DATA(null)) return result //============================================================================================ diff --git a/code/datums/components/material/remote_materials.dm b/code/datums/components/material/remote_materials.dm index f122bfb908b..1a930e48e70 100644 --- a/code/datums/components/material/remote_materials.dm +++ b/code/datums/components/material/remote_materials.dm @@ -271,7 +271,7 @@ handles linking back and forth. if(isnull(drop_target)) drop_target = movable_parent.drop_location() - return mat_container.retrieve_sheets(eject_amount, material_ref, target = drop_target, context = parent, user_data = user_data) + return mat_container.retrieve_stack(eject_amount, material_ref, target = drop_target, context = parent, user_data = user_data) /** * Insert an item into the mat container, helper proc to insert items with the correct context diff --git a/code/datums/components/omen.dm b/code/datums/components/omen.dm index 7a696cefe87..fff7ec76d56 100644 --- a/code/datums/components/omen.dm +++ b/code/datums/components/omen.dm @@ -46,7 +46,7 @@ if(src.luck_mod > luck_mod) src.luck_mod += luck_mod * 0.5 if(src.damage_mod > damage_mod) - src.luck_mod += luck_mod * 0.5 + src.damage_mod += damage_mod * 0.5 // This means that if you had a strong temporary omen and it was replaced by a weaker but permanent omen, the latter is made worse. // Feature! diff --git a/code/datums/components/proficient_miner.dm b/code/datums/components/proficient_miner.dm new file mode 100644 index 00000000000..cdc3b65871b --- /dev/null +++ b/code/datums/components/proficient_miner.dm @@ -0,0 +1,37 @@ +/// Component given to mobs that can mine when moving +/datum/component/proficient_miner + /// Last tick when we bumpmined. Prevents diagonal bumpnining being thrice as fast as normal + var/last_bumpmine_tick = -1 + +/datum/component/proficient_miner/Initialize() + if (!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + +/datum/component/proficient_miner/RegisterWithParent() + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(on_bump)) + +/datum/component/proficient_miner/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_MOVABLE_BUMP) + +/datum/component/proficient_miner/proc/on_bump(atom/movable/source, atom/target) + SIGNAL_HANDLER + + if(!ismineralturf(target) || last_bumpmine_tick == world.time) + return + + var/mob/living/user = null + if(isliving(parent)) + user = parent + if(user.stat != CONSCIOUS) + return + + var/turf/closed/mineral/mineral_wall = target + if(!istype(mineral_wall, /turf/closed/mineral/gibtonite)) + last_bumpmine_tick = world.time + mineral_wall.gets_drilled(source) + return + + var/turf/closed/mineral/gibtonite/gibtonite_wall = mineral_wall + if(gibtonite_wall.stage == GIBTONITE_UNSTRUCK) + last_bumpmine_tick = world.time + mineral_wall.gets_drilled(source) diff --git a/code/datums/components/weatherannouncer.dm b/code/datums/components/weatherannouncer.dm index 70105875d8d..35c51f0c343 100644 --- a/code/datums/components/weatherannouncer.dm +++ b/code/datums/components/weatherannouncer.dm @@ -81,7 +81,7 @@ return // No change var/atom/movable/speaker = parent var/msg = get_warning_message() - var/obj/machinery/announcement_system/aas = get_announcement_system(/datum/aas_config_entry/weather, speaker) + var/obj/machinery/announcement_system/aas = get_announcement_system(/datum/aas_config_entry/weather, speaker, list(RADIO_CHANNEL_SUPPLY)) // Active AAS will override default announcement lines if (aas) msg = aas.compile_config_message(/datum/aas_config_entry/weather, list(), !is_weather_dangerous ? 4 : warning_level + 1) @@ -188,6 +188,14 @@ "Safe" = "No risk expected from incoming weather front.", ) +/datum/aas_config_entry/weather/act_up() + . = ..() + if (.) + return + + // 10% chance to turn off weather broadcast entirely + if (prob(10)) + enabled = FALSE #undef WEATHER_ALERT_CLEAR #undef WEATHER_ALERT_INCOMING diff --git a/code/datums/datum.dm b/code/datums/datum.dm index fe69f6d6cc3..3820002c48b 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -334,11 +334,13 @@ var/list/copied_parameters = params.Copy() copied_parameters["name"] = name copied_parameters["priority"] = priority - for (var/list/filter_info as anything in filter_data) - if (filter_info["name"] == name) - filter_data -= filter_info - filter_cache -= name - break + for (var/index in 1 to length(filter_data)) + var/list/filter_info = filter_data[index] + if (filter_info["name"] != name) + continue + filter_data -= filter_info + filter_cache -= filter_cache[index] + break BINARY_INSERT_DEFINE(list(copied_parameters), filter_data, SORT_VAR_NO_TYPE, copied_parameters, SORT_PRIORITY_INDEX, COMPARE_KEY) @@ -486,6 +488,12 @@ var/atom/atom_cast = src // filters only work with images or atoms. return atom_cast.filters[name] +/// Returns filter data associated with the passed key +/datum/proc/get_filter_data(name) + for (var/list/filter_info as anything in filter_data) + if (filter_info["name"] == name) + return filter_info.Copy() + /// Removes the passed filter, or multiple filters, if supplied with a list. /datum/proc/remove_filter(name_or_names, update = TRUE) ASSERT(isatom(src) || isimage(src)) diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm index 0f4df037593..3c67898ce82 100644 --- a/code/datums/diseases/advance/symptoms/genetics.dm +++ b/code/datums/diseases/advance/symptoms/genetics.dm @@ -57,7 +57,9 @@ var/datum/mutation/mutation = carbon.get_random_mutation_path((NEGATIVE|MINOR_NEGATIVE|POSITIVE) & ~excludemuts) if(!mutation) return - carbon.dna.add_mutation((mutation.quality & mutadone_proof) ? MUTATION_SOURCE_GENE_SYMPTOM : MUTATION_SOURCE_ACTIVATED) + carbon.dna.add_mutation(mutation, (mutation.quality & mutadone_proof) ? MUTATION_SOURCE_GENE_SYMPTOM : MUTATION_SOURCE_ACTIVATED) + var/datum/mutation/given_mutation = carbon.dna.get_mutation(mutation) + given_mutation?.scrambled = TRUE /datum/symptom/genetic_mutation/End(datum/disease/advance/A) . = ..() diff --git a/code/datums/elements/climbable.dm b/code/datums/elements/climbable.dm index 2a928900b8e..8eaf86e2a3f 100644 --- a/code/datums/elements/climbable.dm +++ b/code/datums/elements/climbable.dm @@ -21,18 +21,20 @@ src.climb_stun = climb_stun RegisterSignal(target, COMSIG_ATOM_ATTACK_HAND, PROC_REF(attack_hand)) - RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(target, COMSIG_ATOM_EXAMINE_TAGS, PROC_REF(get_examine_tags)) RegisterSignal(target, COMSIG_MOUSEDROPPED_ONTO, PROC_REF(mousedrop_receive)) ADD_TRAIT(target, TRAIT_CLIMBABLE, ELEMENT_TRAIT(type)) /datum/element/climbable/Detach(datum/target) - UnregisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_EXAMINE, COMSIG_MOUSEDROPPED_ONTO, COMSIG_ATOM_BUMPED)) + UnregisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_EXAMINE_TAGS, COMSIG_MOUSEDROPPED_ONTO, COMSIG_ATOM_BUMPED)) REMOVE_TRAIT(target, TRAIT_CLIMBABLE, ELEMENT_TRAIT(type)) return ..() -/datum/element/climbable/proc/on_examine(atom/source, mob/user, list/examine_texts) +///Someone inspected our embeddable item +/datum/element/climbable/proc/get_examine_tags(atom/source, mob/user, list/examine_list) SIGNAL_HANDLER - examine_texts += span_notice("[source] looks climbable.") + + examine_list["climbable"] = "It looks like it can be climbed on." /datum/element/climbable/proc/can_climb(atom/source, mob/user) if (!user.CanReach(source)) diff --git a/code/datums/elements/corrupted_organ.dm b/code/datums/elements/corrupted_organ.dm index 792ee2fc25a..ccf56b17c30 100644 --- a/code/datums/elements/corrupted_organ.dm +++ b/code/datums/elements/corrupted_organ.dm @@ -60,7 +60,7 @@ /obj/effect/temp_visual/curse_blast/Initialize(mapload) . = ..() animate(src, transform = matrix() * 0.2, time = 0, flags = ANIMATION_PARALLEL) - animate(transform = matrix() * 2, time = duration, easing = EASE_IN) + animate(transform = matrix() * 2, time = duration, easing = QUAD_EASING|EASE_IN) animate(src, alpha = 255, time = 0, flags = ANIMATION_PARALLEL) animate(alpha = 255, time = 0.2 SECONDS) diff --git a/code/datums/elements/crusher_loot.dm b/code/datums/elements/crusher_loot.dm index bc2c23d130c..ac70fe70a4d 100644 --- a/code/datums/elements/crusher_loot.dm +++ b/code/datums/elements/crusher_loot.dm @@ -8,16 +8,19 @@ argument_hash_start_idx = 2 /// Path of the trophy dropped (or list of trophies) var/trophy_type - /// chance to drop the trophy, lowered by the mob only taking partial crusher damage instead of full - /// for example, 25% would mean ~4 mobs need to die before you find one. - /// but it would be more if you didn't deal full crusher damage to them. + /// Chance to drop the trophy, lowered by the mob only taking partial crusher damage instead of full + /// For example, 25% would mean ~4 mobs need to die before you find one. + /// But it would be more if you didn't deal full crusher damage to them. var/drop_mod /// If true, will immediately spawn the item instead of putting it in butcher loot. var/drop_immediately + /// Crusher damage percentage at which the drop is guaranteed, if any + var/guaranteed_drop + /// Should crusher drops replace *all* spawned loot? + var/replace_all -/datum/element/crusher_loot/Attach(datum/target, trophy_type, drop_mod = 25, drop_immediately = FALSE) +/datum/element/crusher_loot/Attach(datum/target, trophy_type, drop_mod = 25, drop_immediately = FALSE, guaranteed_drop = null, replace_all = FALSE) . = ..() - if(!isliving(target)) return ELEMENT_INCOMPATIBLE @@ -25,27 +28,54 @@ src.trophy_type = trophy_type src.drop_mod = drop_mod + src.guaranteed_drop = guaranteed_drop src.drop_immediately = drop_immediately + src.replace_all = replace_all + if (replace_all) + RegisterSignal(target, COMSIG_LIVING_DROP_LOOT, PROC_REF(on_loot_drop)) /datum/element/crusher_loot/Detach(datum/target) - UnregisterSignal(target, COMSIG_LIVING_DEATH) + UnregisterSignal(target, list(COMSIG_LIVING_DEATH, COMSIG_LIVING_DROP_LOOT)) return ..() +/datum/element/crusher_loot/proc/on_loot_drop(mob/living/target, list/spawn_loot, gibbed) + SIGNAL_HANDLER + // Prevent normal loot from being dropped if we have replace_all enabled + return COMPONENT_NO_LOOT_DROP + /datum/element/crusher_loot/proc/on_death(mob/living/target, gibbed) SIGNAL_HANDLER var/datum/status_effect/crusher_damage/damage = target.has_status_effect(/datum/status_effect/crusher_damage) - // SKYRAT EDIT START - ASHWALKER TROPHIES - var/datum/status_effect/ashwalker_damage/ashie_damage = target.has_status_effect(/datum/status_effect/ashwalker_damage) // SKYRAT EDIT ADDITION - var/damage_total = damage?.total_damage + ashie_damage?.total_damage // SKYRAT EDIT ADDITION - if(damage && prob((damage_total/target.maxHealth) * drop_mod)) //on average, you'll need to kill 4 creatures before getting the item. by default. - // SKYRAT EDIT END - ASHWALKER TROPHIES - if(!islist(trophy_type)) - make_path(target, trophy_type) + if (!damage) + return + + if (guaranteed_drop) + if (damage.total_damage / target.maxHealth < guaranteed_drop) + return + else if (!prob((damage.total_damage / target.maxHealth) * drop_mod)) // On average, you'll need to kill 4 creatures before getting the item. by default. + return + + if (replace_all && isanimal(target)) + var/mob/living/simple_animal/expiring_code = target + if (!islist(trophy_type)) + expiring_code.loot = list(trophy_type) return - for(var/trophypath in trophy_type) - make_path(target, trophypath) + var/list/trophies = trophy_type + expiring_code.loot = trophies.Copy() + return + + if(!islist(trophy_type)) + make_path(target, trophy_type) + return + + if (replace_all) + target.butcher_results?.Cut() + target.guaranteed_butcher_results?.Cut() + + for(var/trophypath in trophy_type) + make_path(target, trophypath) /datum/element/crusher_loot/proc/make_path(mob/living/target, path) if(drop_immediately) @@ -54,4 +84,5 @@ if (!target.guaranteed_butcher_results) target.guaranteed_butcher_results = list() + target.guaranteed_butcher_results[path] = 1 diff --git a/code/datums/elements/death_drops.dm b/code/datums/elements/death_drops.dm index cc6af9ab4d5..70543260707 100644 --- a/code/datums/elements/death_drops.dm +++ b/code/datums/elements/death_drops.dm @@ -6,16 +6,19 @@ /datum/element/death_drops element_flags = ELEMENT_BESPOKE argument_hash_start_idx = 2 - ///what items the target drops when killed + /// What items the target drops when killed var/list/loot + /// Should the items not be dropped when gibbed? + var/no_gib_drops -/datum/element/death_drops/Attach(datum/target, list/loot) +/datum/element/death_drops/Attach(datum/target, list/loot, no_gib_drops = FALSE) . = ..() if(!isliving(target)) return ELEMENT_INCOMPATIBLE if(!loot) stack_trace("[type] added to [target] with NO LOOT.") src.loot = loot + src.no_gib_drops = no_gib_drops RegisterSignal(target, COMSIG_LIVING_DEATH, PROC_REF(on_death)) /datum/element/death_drops/Detach(datum/target) @@ -25,10 +28,22 @@ ///signal called by the stat of the target changing /datum/element/death_drops/proc/on_death(mob/living/target, gibbed) SIGNAL_HANDLER + if (no_gib_drops && gibbed) + return + + var/list/spawn_loot = null + if (islist(loot)) + spawn_loot = loot.Copy() + else + spawn_loot = list(loot) + var/atom/loot_loc = target.drop_location() - for(var/thing_to_spawn in loot) - for(var/i in 1 to (loot[thing_to_spawn] || 1)) - create_loot(thing_to_spawn, loot_loc, target, gibbed, spread_px = loot.len * 3) + if (SEND_SIGNAL(target, COMSIG_LIVING_DROP_LOOT, spawn_loot, gibbed) & COMPONENT_NO_LOOT_DROP) + return + + for(var/thing_to_spawn in spawn_loot) + for(var/i in 1 to (spawn_loot[thing_to_spawn] || 1)) + create_loot(thing_to_spawn, loot_loc, target, gibbed, spread_px = spawn_loot.len * 3) /// Handles creating the loots /datum/element/death_drops/proc/create_loot(typepath, atom/loot_loc, mob/living/dead, gibbed, spread_px = 4) diff --git a/code/datums/elements/digitalcamo.dm b/code/datums/elements/digitalcamo.dm index 1061131f88b..30038f2a55d 100644 --- a/code/datums/elements/digitalcamo.dm +++ b/code/datums/elements/digitalcamo.dm @@ -27,14 +27,14 @@ /datum/element/digitalcamo/proc/HideFromAIHuds(mob/living/target) for(var/mob/living/silicon/ai/AI in GLOB.ai_list) - for (var/hud_type in AI.silicon_huds) - var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] + for (var/hud_trait in AI.silicon_huds) + var/datum/atom_hud/silicon_hud = GLOB.huds[GLOB.trait_to_hud[hud_trait]] silicon_hud.hide_single_atomhud_from(AI,target) /datum/element/digitalcamo/proc/UnhideFromAIHuds(mob/living/target) for(var/mob/living/silicon/ai/AI in GLOB.ai_list) - for (var/hud_type in AI.silicon_huds) - var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] + for (var/hud_trait in AI.silicon_huds) + var/datum/atom_hud/silicon_hud = GLOB.huds[GLOB.trait_to_hud[hud_trait]] silicon_hud.unhide_single_atomhud_from(AI,target) /datum/element/digitalcamo/proc/on_examine(datum/source, mob/M, list/examine_list) diff --git a/code/datums/elements/empprotection.dm b/code/datums/elements/empprotection.dm index 2955551fd6d..c0dacc7bf1f 100644 --- a/code/datums/elements/empprotection.dm +++ b/code/datums/elements/empprotection.dm @@ -9,12 +9,35 @@ return ELEMENT_INCOMPATIBLE flags = _flags RegisterSignal(target, COMSIG_ATOM_PRE_EMP_ACT, PROC_REF(getEmpFlags)) + RegisterSignal(target, COMSIG_ATOM_EXAMINE_TAGS, PROC_REF(get_examine_tags)) /datum/element/empprotection/Detach(atom/target) - UnregisterSignal(target, COMSIG_ATOM_PRE_EMP_ACT) + UnregisterSignal(target, list(COMSIG_ATOM_PRE_EMP_ACT, COMSIG_ATOM_EXAMINE_TAGS)) return ..() /datum/element/empprotection/proc/getEmpFlags(datum/source, severity) SIGNAL_HANDLER - return flags + return (flags & EMP_PROTECT_ALL) + +/datum/element/empprotection/proc/get_examine_tags(atom/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(flags & EMP_NO_EXAMINE) + return + + if(flags & EMP_PROTECT_ALL == EMP_PROTECT_ALL) + examine_list["EMP proof"] = "[source.p_They()] [source.p_are()] unaffected by electromagnetic pulses, and shields [source.p_their()] contents and wiring from them." + return + + if(flags & EMP_PROTECT_SELF) + examine_list["EMP resilient"] = "[source.p_They()] [source.p_are()] unaffected by electromagnetic pulses." + + if(flags & (EMP_PROTECT_CONTENTS|EMP_PROTECT_WIRES) == (EMP_PROTECT_CONTENTS|EMP_PROTECT_WIRES)) + examine_list["EMP blocking"] = "[source.p_They()] protects [source.p_their()] wiring and contents from electromagnetic pulses." + + else if(flags & EMP_PROTECT_CONTENTS) + examine_list["EMP blocking"] = "[source.p_They()] protects [source.p_their()] contents from electromagnetic pulses." + + else if(flags & EMP_PROTECT_WIRES) + examine_list["EMP blocking"] = "[source.p_They()] protects [source.p_their()] wiring from electromagnetic pulses." diff --git a/code/datums/elements/envenomable_casing.dm b/code/datums/elements/envenomable_casing.dm index bb4890bfa9e..0d09953b30b 100644 --- a/code/datums/elements/envenomable_casing.dm +++ b/code/datums/elements/envenomable_casing.dm @@ -25,23 +25,21 @@ ///signal called on the parent attacking an item /datum/element/envenomable_casing/proc/handle_interaction(obj/item/ammo_casing/casing, mob/user, atom/target, list/modifiers) SIGNAL_HANDLER - if(!is_reagent_container(target)) + + if(!target.is_open_container()) return NONE - var/obj/item/reagent_containers/venom_container = target if(!casing.loaded_projectile) user.balloon_alert(user, "casing is already spent!") return ITEM_INTERACT_BLOCKING - if(!(venom_container.reagent_flags & OPENCONTAINER)) - user.balloon_alert(user, "open the container!") - return ITEM_INTERACT_BLOCKING - var/datum/reagent/venom_applied = venom_container.reagents.get_master_reagent() + + var/datum/reagent/venom_applied = target.reagents.get_master_reagent() if(!venom_applied) return ITEM_INTERACT_BLOCKING var/amount_applied = min(venom_applied.volume, amount_allowed) casing.loaded_projectile.AddElement(/datum/element/venomous, venom_applied.type, amount_applied) to_chat(user, span_notice("You coat [casing] in [venom_applied].")) - venom_container.reagents.remove_reagent(venom_applied.type, amount_applied) + target.reagents.remove_reagent(venom_applied.type, amount_applied) ///stops further poison application UnregisterSignal(casing, COMSIG_ITEM_INTERACTING_WITH_ATOM) RegisterSignal(casing, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine_after_dip), override = TRUE) diff --git a/code/datums/elements/food/dunkable.dm b/code/datums/elements/food/dunkable.dm index baf4be2a813..fa2a9cbbc1c 100644 --- a/code/datums/elements/food/dunkable.dm +++ b/code/datums/elements/food/dunkable.dm @@ -16,21 +16,19 @@ . = ..() UnregisterSignal(target, COMSIG_ITEM_INTERACTING_WITH_ATOM) -/datum/element/dunkable/proc/get_dunked(datum/source, mob/user, atom/target, params) +/datum/element/dunkable/proc/get_dunked(obj/item/source, mob/user, atom/target, params) SIGNAL_HANDLER - var/obj/item/reagent_containers/container = target // the container we're trying to dunk into - if(istype(container) && (container.reagent_flags & DUNKABLE)) // container should be a valid target for dunking - if(!container.is_drainable()) - to_chat(user, span_warning("[container] is unable to be dunked in!")) + if(target.reagents?.flags & DUNKABLE) // container should be a valid target for dunking + if(!target.is_drainable()) + to_chat(user, span_warning("[target] is unable to be dunked in!")) return ITEM_INTERACT_BLOCKING - var/obj/item/I = source // the item that has the dunkable element - if(container.reagents.trans_to(I, dunk_amount, transferred_by = user)) //if reagents were transferred, show the message - to_chat(user, span_notice("You dunk \the [I] into \the [container].")) + if(target.reagents.trans_to(source, dunk_amount, transferred_by = user)) //if reagents were transferred, show the message + to_chat(user, span_notice("You dunk \the [target] into \the [target].")) return ITEM_INTERACT_SUCCESS - if(!container.reagents.total_volume) - to_chat(user, span_warning("[container] is empty!")) + if(!target.reagents.total_volume) + to_chat(user, span_warning("[target] is empty!")) else - to_chat(user, span_warning("[I] is full!")) + to_chat(user, span_warning("[source] is full!")) return ITEM_INTERACT_BLOCKING return NONE diff --git a/code/datums/elements/immerse.dm b/code/datums/elements/immerse.dm index 3e28bbb7ea7..e1e1d60a86b 100644 --- a/code/datums/elements/immerse.dm +++ b/code/datums/elements/immerse.dm @@ -269,10 +269,12 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list( /// A band-aid to keep the (unique) visual overlay from scaling and rotating along with its owner. I'm sorry. /datum/element/immerse/proc/on_update_transform(mob/living/source, resize, new_lying_angle, is_opposite_angle) SIGNAL_HANDLER + var/atom/movable/immerse_mask/effect_relay = generated_visual_overlays[source] + if (!effect_relay) + return var/matrix/new_transform = matrix() new_transform.Scale(1 / source.current_size) new_transform.Turn(-new_lying_angle) - var/atom/movable/immerse_mask/effect_relay = generated_visual_overlays[source] var/mutable_appearance/relay_appearance = new(effect_relay.appearance) relay_appearance.transform = new_transform effect_relay.appearance = relay_appearance @@ -281,10 +283,13 @@ GLOBAL_LIST_INIT(immerse_ignored_movable, typecacheof(list( /datum/element/immerse/proc/on_spin_animation(atom/source, speed, loops, segments, segment) SIGNAL_HANDLER var/atom/movable/immerse_mask/immerse_mask = generated_visual_overlays[source] - immerse_mask.do_spin_animation(speed, loops, segments, -segment) + if (immerse_mask) + immerse_mask.do_spin_animation(speed, loops, segments, -segment) /datum/element/immerse/proc/on_update_offsets(mob/living/source, new_x, new_y, new_w, new_z, animate) SIGNAL_HANDLER + if (!generated_visual_overlays[source]) + return var/old_height = ceil(max(ICON_SIZE_Y - source.pixel_z, ICON_SIZE_Y) / ICON_SIZE_Y) var/new_height = ceil(max(ICON_SIZE_Y - new_z, ICON_SIZE_Y) / ICON_SIZE_Y) if (old_height != new_height) diff --git a/code/datums/elements/kill_achievement.dm b/code/datums/elements/kill_achievement.dm new file mode 100644 index 00000000000..ccd2e827c50 --- /dev/null +++ b/code/datums/elements/kill_achievement.dm @@ -0,0 +1,62 @@ +/// Element that grants an achievement to all mobs who killed the owner when it dies +/datum/element/kill_achievement + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + /// Achievements to grant when killed + var/list/achievement_types = null + /// Achievement to grant when killed with a crusher + var/crusher_achievement_type = null + /// A memory to grant to killers, if any + var/kill_memory_type = null + /// Range in which to grant the achievement + var/achievement_range = 7 + /// Threshold for damage dealt with a crusher to count it as a crusher kill + /// If null, then no kill counts as a crusher kill + var/crusher_kill_threshold = 0.6 + /// Blackbox tally string to record kills into + var/tally_string = "megafauna_kills" + +/datum/element/kill_achievement/Attach(datum/target, list/achievement_types, crusher_achievement_type, kill_memory_type, achievement_range = 7, crusher_kill_threshold = 0.6, tally_string = "megafauna_kills") + . = ..() + if (!isliving(target) || !length(achievement_types)) + return ELEMENT_INCOMPATIBLE + src.achievement_types = achievement_types + src.crusher_achievement_type = crusher_achievement_type + src.kill_memory_type = kill_memory_type + src.achievement_range = achievement_range + src.crusher_kill_threshold = crusher_kill_threshold + src.tally_string = tally_string + RegisterSignal(target, COMSIG_LIVING_DEATH, PROC_REF(on_death)) + +/datum/element/kill_achievement/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_LIVING_DEATH) + +/datum/element/kill_achievement/proc/on_death(mob/living/source, gibbed) + SIGNAL_HANDLER + + if ((source.flags_1 & ADMIN_SPAWNED_1) || !SSachievements.achievements_enabled) + return + + // Check whether we killed the megafauna with primarily crusher damage or not + var/datum/status_effect/crusher_damage/crusher_dmg = source.has_status_effect(/datum/status_effect/crusher_damage) + var/crusher_kill = (!isnull(crusher_kill_threshold) && crusher_dmg && (crusher_dmg.total_damage >= floor(source.maxHealth * 0.6))) + var/turf/our_loc = get_turf(source) + if (!our_loc) + return + + for (var/mob/living/player in SSmobs.clients_by_zlevel[our_loc.z]) + var/turf/player_turf = get_turf(player) + if (player.stat || get_dist(player_turf, source) > achievement_range) + continue + + for (var/achievement_type in achievement_types) + player.client.give_award(achievement_type, player) + + if (kill_memory_type) + player.add_mob_memory(kill_memory_type, antagonist = source) + + if(crusher_kill && crusher_achievement_type && istype(player.get_active_held_item(), /obj/item/kinetic_crusher)) + player.client.give_award(crusher_achievement_type, player) + + SSblackbox.record_feedback("tally", "[tally_string][crusher_kill ? "_crusher" : ""]", 1, "[initial(source.name)]") diff --git a/code/datums/elements/proficient_miner.dm b/code/datums/elements/proficient_miner.dm deleted file mode 100644 index a35b3951d44..00000000000 --- a/code/datums/elements/proficient_miner.dm +++ /dev/null @@ -1,28 +0,0 @@ -///element given to mobs that can mine when moving -/datum/element/proficient_miner - -/datum/element/proficient_miner/Attach(datum/target) - . = ..() - if(!ismovable(target)) - return - RegisterSignal(target, COMSIG_MOVABLE_BUMP, PROC_REF(on_bump)) - -/datum/element/proficient_miner/proc/on_bump(mob/living/source, atom/target) - SIGNAL_HANDLER - - if(!ismineralturf(target) || (istype(source) && source.stat != CONSCIOUS)) - return - - var/turf/closed/mineral/mineral_wall = target - - if(!istype(mineral_wall, /turf/closed/mineral/gibtonite)) - mineral_wall.gets_drilled(source) - return - - var/turf/closed/mineral/gibtonite/gibtonite_wall = mineral_wall - if(gibtonite_wall.stage == GIBTONITE_UNSTRUCK) - mineral_wall.gets_drilled(source) - -/datum/element/proficient_miner/Detach(datum/source, ...) - UnregisterSignal(source, COMSIG_MOVABLE_BUMP) - return ..() diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index 6a61fe5abfb..2fe4b4b0680 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -384,8 +384,8 @@ result["name"] = item.name result["alternate"] = item_data.get_alternate_actions(owner, user) var/static/list/already_cried = list() - if(length(result["alternate"]) > 2 && !(type in already_cried)) - stack_trace("Too many alternate actions for [type]! Only two are supported at the moment! This will look bad!") + if(length(result["alternate"]) > 3 && !(type in already_cried)) + stack_trace("Too many alternate actions for [type]! Only three are supported at the moment! This will look bad!") already_cried += type items[strippable_key] = result diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 050bcb0dce2..e5e7ed307a3 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -21,13 +21,23 @@ GLOBAL_LIST_INIT(huds, list( DATA_HUD_PERMIT = new /datum/atom_hud/data/human/permit(), // SKYRAT EDIT ADDITION )) +/// Assoc list of traits to the huds they give. GLOBAL_LIST_INIT(trait_to_hud, list( - TRAIT_SECURITY_HUD = DATA_HUD_SECURITY_ADVANCED, - TRAIT_MEDICAL_HUD = DATA_HUD_MEDICAL_ADVANCED, - TRAIT_DIAGNOSTIC_HUD = DATA_HUD_DIAGNOSTIC, + TRAIT_ABDUCTOR_HUD = DATA_HUD_ABDUCTOR, TRAIT_BOT_PATH_HUD = DATA_HUD_BOT_PATH, + TRAIT_CLOWN_ENJOYER = DATA_HUD_FAN, + TRAIT_DIAGNOSTIC_HUD = DATA_HUD_DIAGNOSTIC, + TRAIT_MEDICAL_HUD = DATA_HUD_MEDICAL_ADVANCED, + TRAIT_MEDICAL_HUD_SENSOR_ONLY = DATA_HUD_MEDICAL_BASIC, + TRAIT_MIME_FAN = DATA_HUD_FAN, + TRAIT_SECURITY_HUD = DATA_HUD_SECURITY_ADVANCED, + TRAIT_SECURITY_HUD_ID_ONLY = DATA_HUD_SECURITY_BASIC, TRAIT_PERMIT_HUD = DATA_HUD_PERMIT, // SKYRAT EDIT ADDITION - TRAIT_BASIC_SECURITY_HUD = DATA_HUD_SECURITY_BASIC // BUBBER EDIT ADDITION +)) + +/// Assoc list of traits that block other traits' huds to list of hud (traits) that they block +GLOBAL_LIST_INIT(trait_blockers_to_hud, list( + TRAIT_BLOCK_SECHUD = list(TRAIT_SECURITY_HUD, TRAIT_SECURITY_HUD_ID_ONLY), )) /datum/atom_hud diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index 1669dd94a41..1f6f61eda0a 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -467,6 +467,8 @@ ACCESS_HOP, ) job = /datum/job/clown + honorifics = list("the Clown") + honorific_positions = HONORIFIC_POSITION_LAST_FULL | HONORIFIC_POSITION_NONE /datum/id_trim/job/cook assignment = JOB_COOK @@ -823,6 +825,8 @@ ACCESS_HOP, ) job = /datum/job/mime + honorifics = list("the Mime") + honorific_positions = HONORIFIC_POSITION_LAST_FULL | HONORIFIC_POSITION_NONE /datum/id_trim/job/paramedic assignment = JOB_PARAMEDIC diff --git a/code/datums/keybinding/client.dm b/code/datums/keybinding/client.dm index 49133f2f51c..85d10add309 100644 --- a/code/datums/keybinding/client.dm +++ b/code/datums/keybinding/client.dm @@ -59,3 +59,17 @@ return user.mob.button_pressed_F12() return TRUE + +/datum/keybinding/client/close_every_ui + hotkey_keys = list("Northwest") // HOME key + name = "close_every_ui" + full_name = "Close Open UIs" + description = "Closes all UI windows you have open." + keybind_signal = COMSIG_KB_CLIENT_CLOSEUI_DOWN + +/datum/keybinding/client/close_every_ui/down(client/user, turf/target) + . = ..() + if(.) + return + SStgui.close_user_uis(user.mob) + return TRUE diff --git a/code/datums/materials/basemats.dm b/code/datums/materials/basemats.dm index 86e1d6d88b5..4a447f3c02f 100644 --- a/code/datums/materials/basemats.dm +++ b/code/datums/materials/basemats.dm @@ -23,8 +23,9 @@ fishing_gravity_mult = 1.1 /datum/material/iron/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) + return TRUE ///Breaks extremely easily but is transparent. /datum/material/glass @@ -62,8 +63,9 @@ fishing_gravity_mult = 0.9 /datum/material/glass/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5, sharpness = TRUE) //cronch - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5, sharpness = TRUE) //cronch + return TRUE /datum/material/glass/on_main_applied(atom/source, mat_amount, multiplier) . = ..() @@ -110,8 +112,9 @@ Unless you know what you're doing, only use the first three numbers. They're in fishing_gravity_mult = 1.1 /datum/material/silver/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) + return TRUE ///Slight force increase /datum/material/gold @@ -186,8 +189,9 @@ Unless you know what you're doing, only use the first three numbers. They're in fishing_gravity_mult = 1.1 /datum/material/diamond/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) + return TRUE ///Is slightly radioactive /datum/material/uranium @@ -444,8 +448,9 @@ Unless you know what you're doing, only use the first three numbers. They're in fishing_gravity_mult = 1.1 /datum/material/titanium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) + return TRUE /datum/material/runite name = "runite" @@ -484,8 +489,9 @@ Unless you know what you're doing, only use the first three numbers. They're in REMOVE_TRAIT(source, TRAIT_ROD_REMOVE_FISHING_DUD, REF(src)) //light-absorbing, environment-cancelling fishing rod. /datum/material/runite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) + return TRUE ///Force decrease /datum/material/plastic @@ -568,7 +574,8 @@ Unless you know what you're doing, only use the first three numbers. They're in wooden.resistance_flags &= ~FLAMMABLE /datum/material/wood/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(5, BRUTE, BODY_ZONE_HEAD) + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(5, BRUTE, BODY_ZONE_HEAD) victim.reagents.add_reagent(/datum/reagent/cellulose, rand(8, 12)) source_item?.reagents?.add_reagent(/datum/reagent/cellulose, source_item.reagents.total_volume*(2/5)) @@ -613,8 +620,9 @@ Unless you know what you're doing, only use the first three numbers. They're in REMOVE_TRAIT(source, TRAIT_ROD_REMOVE_FISHING_DUD, REF(src)) //light-absorbing, environment-cancelling fishing rod. /datum/material/adamantine/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) + return TRUE ///RPG Magic. /datum/material/mythril @@ -657,8 +665,9 @@ Unless you know what you're doing, only use the first three numbers. They're in qdel(source.GetComponent(/datum/component/fantasy)) /datum/material/mythril/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) + return TRUE //formed when freon react with o2, emits a lot of plasma when heated /datum/material/hot_ice @@ -728,8 +737,9 @@ Unless you know what you're doing, only use the first three numbers. They're in fishing_gravity_mult = 0.7 /datum/material/metalhydrogen/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) - return TRUE + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) + return TRUE //I don't like sand. It's coarse, and rough, and irritating, and it gets everywhere. /datum/material/sand @@ -847,7 +857,8 @@ Unless you know what you're doing, only use the first three numbers. They're in /datum/material/runedmetal/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.reagents.add_reagent(/datum/reagent/fuel/unholywater, rand(8, 12)) - victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) return TRUE /datum/material/bronze @@ -1079,6 +1090,7 @@ Unless you know what you're doing, only use the first three numbers. They're in REMOVE_TRAIT(source, TRAIT_ROD_IGNORE_ENVIRONMENT, REF(src)) //light-absorbing, environment-cancelling fishing rod. /datum/material/zaukerite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) - victim.apply_damage(30, BURN, BODY_ZONE_HEAD, wound_bonus = 5) + if(!HAS_TRAIT(victim, TRAIT_ROCK_EATER)) + victim.apply_damage(30, BURN, BODY_ZONE_HEAD, wound_bonus = 5) source_item?.reagents?.add_reagent(/datum/reagent/toxin/plasma, source_item.reagents.total_volume*5) return TRUE diff --git a/code/datums/mind/_mind.dm b/code/datums/mind/_mind.dm index 5bbc69f6101..44eac8ae6c7 100644 --- a/code/datums/mind/_mind.dm +++ b/code/datums/mind/_mind.dm @@ -500,6 +500,8 @@ CRASH("set_assigned_role called with invalid role: [isnull(new_role) ? "null" : new_role]") . = assigned_role assigned_role = new_role + if(!isnull(current)) + SEND_SIGNAL(current, COMSIG_MOB_MIND_SET_ROLE, new_role) ///Sets your holy role, giving/taking away traits related to if you're gaining/losing it. /datum/mind/proc/set_holy_role(new_holy_role) @@ -538,3 +540,13 @@ /mob/dead/observer/sync_mind() return + +/// Iterates over this mind's assigned role's departments and returns a list of their primary work areas. +/datum/mind/proc/get_work_areas() + var/list/work_areas = list() + for(var/department in assigned_role.departments_list) + var/datum/job_department/dep = SSjob.joinable_departments_by_type[department] + if(dep.primary_work_area) + work_areas += dep.primary_work_area + + return work_areas diff --git a/code/datums/mood.dm b/code/datums/mood.dm index 2cffcfbddee..efb84f5ef08 100644 --- a/code/datums/mood.dm +++ b/code/datums/mood.dm @@ -18,8 +18,18 @@ var/sanity = SANITY_NEUTRAL /// the total combined value of all visible moodlets for the mob var/shown_mood - /// Moodlet value modifier + /// Multiplier to the sum total of mood the mob is experiencing var/mood_modifier = 1 + /// Multiplier to positive moodlet values. Stacks with mood_modifier + var/positive_mood_modifier = 1 + /// Multiplier to negative moodlet values. Stacks with mood_modifier + var/negative_mood_modifier = 1 + /// Multiplier to the length of positive moodlets. + /// Please don't set this to 0 + var/positive_moodlet_length_modifier = 1 + /// Multiplier to the length of negative moodlets. + /// Please don't set this to 0 + var/negative_moodlet_length_modifier = 1 /// Used to track what stage of moodies they're on (1-9) var/mood_level = MOOD_LEVEL_NEUTRAL /// To track what stage of sanity they're on (1-6) @@ -144,48 +154,46 @@ * * category - (text) category of the mood event - see /datum/mood_event for category explanation * * type - (path) any /datum/mood_event */ -/datum/mood/proc/add_mood_event(category, type, ...) - // we may be passed an instantiated mood datum with a modified timeout - // it is to be used as a vehicle to copy data from and then cleaned up afterwards. - // why do it this way? because the params list may contain numbers, and we may not necessarily want those to be interpreted as a timeout modifier. - // this is only used by the food quality system currently - var/datum/mood_event/mood_to_copy_from - if (istype(type, /datum/mood_event)) - mood_to_copy_from = type - type = mood_to_copy_from.type - if (!ispath(type, /datum/mood_event)) - CRASH("A non path ([type]), was used to add a mood event. This shouldn't be happening.") +/datum/mood/proc/add_mood_event(category, new_type, ...) + if (!ispath(new_type, /datum/mood_event)) + CRASH("A non path ([new_type]), was used to add a mood event. This shouldn't be happening.") if (!istext(category)) category = REF(category) - var/datum/mood_event/the_event - if (mood_events[category]) - the_event = mood_events[category] - if (the_event.type == type) - if (the_event.timeout) - if (!isnull(mood_to_copy_from)) - the_event.timeout = mood_to_copy_from.timeout - addtimer(CALLBACK(src, PROC_REF(clear_mood_event), category), the_event.timeout, (TIMER_UNIQUE|TIMER_OVERRIDE)) - qdel(mood_to_copy_from) - return // Don't need to update the event. - - clear_mood_event(category) var/list/params = args.Copy(3) - - params.Insert(1, mob_parent) - the_event = new type(arglist(params)) - if (QDELETED(the_event)) // the mood event has been deleted for whatever reason (requires a job, etc) + var/datum/mood_event/new_event = new new_type(category) + if(!new_event.can_effect_mob(arglist(list(src, mob_parent) + params))) + qdel(new_event) return - the_event.category = category - if (!isnull(mood_to_copy_from)) - the_event.timeout = mood_to_copy_from.timeout - qdel(mood_to_copy_from) - mood_events[category] = the_event - update_mood() + var/datum/mood_event/existing_event = mood_events[category] + if(existing_event) + var/continue_adding = FALSE + if(existing_event.type == new_event.type) + continue_adding = existing_event.be_refreshed(arglist(list(src) + params)) + else + continue_adding = existing_event.be_replaced(arglist(list(src, new_event) + params)) + if(!continue_adding) + update_mood() + qdel(new_event) + return + clear_mood_event(category) - if (the_event.timeout) - addtimer(CALLBACK(src, PROC_REF(clear_mood_event), category), the_event.timeout, (TIMER_UNIQUE|TIMER_OVERRIDE)) + new_event.on_add(src, mob_parent, params) + mood_events[category] = new_event + update_mood() + if(new_event.mood_change == 0 || new_event.hidden) + return + if(new_event.mood_change > 0) + add_personality_mood_to_viewers(mob_parent, "other_good_moodlet", list( + /datum/personality/empathetic = /datum/mood_event/empathetic_happy, + /datum/personality/misanthropic = /datum/mood_event/misanthropic_sad + ), range = 4) + else + add_personality_mood_to_viewers(mob_parent, "other_bad_moodlet", list( + /datum/personality/empathetic = /datum/mood_event/empathetic_sad, + /datum/personality/misanthropic = /datum/mood_event/misanthropic_happy + ), range = 4) /** * Removes a mood event from the mob @@ -218,12 +226,14 @@ for(var/category in mood_events) var/datum/mood_event/the_event = mood_events[category] - mood += the_event.mood_change + var/event_mood = the_event.mood_change + event_mood *= max((event_mood > 0) ? positive_mood_modifier : negative_mood_modifier, 0) + mood += event_mood if (!the_event.hidden) - shown_mood += the_event.mood_change + shown_mood += event_mood - mood *= mood_modifier - shown_mood *= mood_modifier + mood *= max(mood_modifier, 0) + shown_mood *= max(mood_modifier, 0) switch(mood) if (-INFINITY to MOOD_SAD4) diff --git a/code/datums/mood_events/_mood_event.dm b/code/datums/mood_events/_mood_event.dm index 499b5f892e6..5e7d1f51044 100644 --- a/code/datums/mood_events/_mood_event.dm +++ b/code/datums/mood_events/_mood_event.dm @@ -12,7 +12,10 @@ * is active while another mood event (from the same category) is triggered it will remove * the effects of the current mood event and replace it with the new one */ - var/category + VAR_FINAL/category + /// Flags that determine what kind of event this is + /// For example, you might have a "EVENT_FEAR" flag that denotes this mood event relates to being afraid of something + var/event_flags = NONE /// Icon state of the unique mood event icon, if applicable var/special_screen_obj /// if false, it will be an overlay instead @@ -22,21 +25,117 @@ /// List of required jobs for this mood event var/list/required_job -/datum/mood_event/New(mob/living/emotional_mob, ...) - owner = emotional_mob - var/list/params = args.Copy(2) - if (LAZYLEN(required_job) && !is_type_in_list(owner.mind?.assigned_role, required_job)) - qdel(src) - return - add_effects(arglist(params)) +/datum/mood_event/New(category) + src.category = category /datum/mood_event/Destroy() - remove_effects() - owner = null + if(owner) + remove_effects() + owner = null return ..() -/datum/mood_event/proc/add_effects(param) +/** + * Called when this datum is created, checks if the passed mob can experience this mood event + * + * * who - the mob to check + * + * Return TRUE if the mob can experience this mood event + * Return FALSE if the mob should be unaffected + */ +/datum/mood_event/proc/can_effect_mob(datum/mood/home, mob/living/who, ...) + SHOULD_CALL_PARENT(TRUE) + if(LAZYLEN(required_job) && !is_type_in_list(who.mind?.assigned_role, required_job)) + return FALSE + + if((event_flags & MOOD_EVENT_WHIMSY)) + // Whimsical people get positive whimsical moodlets + // Non-whimsical people get negative whimsical moodlets + var/is_whimsical = HAS_PERSONALITY(who, /datum/personality/whimsical) + if(mood_change >= 0 && !is_whimsical) + return FALSE + if(mood_change < 0 && is_whimsical) + return FALSE + + if((event_flags & MOOD_EVENT_ART) && HAS_PERSONALITY(who, /datum/personality/unimaginative)) + return FALSE + + if((event_flags & MOOD_EVENT_PAIN) && HAS_TRAIT(who, TRAIT_ANALGESIA)) + return FALSE + + return TRUE + +/** + * Wrapper for the mood event being added to a mob + */ +/datum/mood_event/proc/on_add(datum/mood/home, mob/living/who, list/mood_args) + SHOULD_NOT_OVERRIDE(TRUE) + + owner = who + + if((event_flags & MOOD_EVENT_ART) && HAS_PERSONALITY(who, /datum/personality/creative)) + mood_change *= 1.2 + + if((event_flags & MOOD_EVENT_SPIRITUAL) && !HAS_TRAIT(who, TRAIT_SPIRITUAL)) + mood_change *= 0.2 + + if(event_flags & MOOD_EVENT_FOOD) + if(HAS_PERSONALITY(owner, /datum/personality/ascetic)) + mood_change *= 0.75 + if(HAS_PERSONALITY(owner, /datum/personality/gourmand)) + mood_change *= 1.25 + + if(event_flags & MOOD_EVENT_FEAR) + if(HAS_PERSONALITY(owner, /datum/personality/cowardly)) + mood_change *= 1.25 + if(HAS_PERSONALITY(owner, /datum/personality/brave)) + mood_change *= 0.75 + + add_effects(arglist(mood_args)) + + mood_change = floor(mood_change) + + timeout *= max((mood_change > 0) ? home.positive_moodlet_length_modifier : home.negative_moodlet_length_modifier, 0.1) + if(timeout) + addtimer(CALLBACK(home, TYPE_PROC_REF(/datum/mood, clear_mood_event), category), timeout, (TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)) + +/** + * Called when added to a mob + * + * * ... - Any arguments passed to add_mood_event after the typepath are passed here + */ +/datum/mood_event/proc/add_effects(...) return +/** + * Called when the event is cleared from a mob + */ /datum/mood_event/proc/remove_effects() return + +/** + * Called when we get added to a mood datum, but a mood of our type in our category already + * + * * home - the mood datum we are being added to + * * ... - any other arguments that are passed to the mood event + * + * Return BLOCK_NEW_MOOD to stop the new mood event from being added + * Return ALLOW_NEW_MOOD to allow the new mood event to be added - note this implicitly deletes [src] + */ +/datum/mood_event/proc/be_refreshed(datum/mood/home, ...) + // Base behavior is refresh the timer + if(timeout) + addtimer(CALLBACK(home, TYPE_PROC_REF(/datum/mood, clear_mood_event), category), timeout, (TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)) + return BLOCK_NEW_MOOD + +/** + * Called when we get added to a mood datum, but a mood of a different type is in our category + * + * * home - the mood datum we are being added to + * * new_event - the new mood event that is being added + * * ... - any other arguments that are passed to the mood event + * + * Return BLOCK_NEW_MOOD to stop the new mood event from being added + * Return ALLOW_NEW_MOOD to allow the new mood event to be added - note this implicitly deletes [src] + */ +/datum/mood_event/proc/be_replaced(datum/mood/home, datum/mood_event/new_event, ...) + return ALLOW_NEW_MOOD diff --git a/code/datums/mood_events/dna_infuser_events.dm b/code/datums/mood_events/dna_infuser_events.dm index 26c07d76b11..be937d087a8 100644 --- a/code/datums/mood_events/dna_infuser_events.dm +++ b/code/datums/mood_events/dna_infuser_events.dm @@ -2,6 +2,7 @@ description = "Heh heh. \"It's on the mouse\". What a play on words." mood_change = 1 timeout = 2 MINUTES + event_flags = MOOD_EVENT_WHIMSY /datum/mood_event/gondola_serenity description = "There's a lot that could be on your mind right now. But this feeling of contentedness, a universal calling to simply sit back and observe is washing over you..." diff --git a/code/datums/mood_events/drink_events.dm b/code/datums/mood_events/drink_events.dm index 8ecc19b6fc2..6c87a0626f2 100644 --- a/code/datums/mood_events/drink_events.dm +++ b/code/datums/mood_events/drink_events.dm @@ -31,12 +31,22 @@ if(90 to INFINITY) mood_change = 3 // crash out description = "You're my BESSST frien'... You and me agains' th' world, buddy. Le's get another drink." + if(HAS_PERSONALITY(owner, /datum/personality/teetotal)) + mood_change *= -1.5 + description = "I don't like drinking... It makes me feel horrible." + if(HAS_PERSONALITY(owner, /datum/personality/bibulous)) + mood_change *= 1.5 if(old_mood != mood_change) owner.mob_mood.update_mood() /datum/mood_event/drunk/remove_effects() QDEL_NULL(blush_overlay) +/datum/mood_event/drunk_after + mood_change = 2 + description = "The buzz might be gone, but I still feel good." + timeout = 5 MINUTES + /datum/mood_event/wrong_brandy description = "I hate that type of drink." mood_change = -2 diff --git a/code/datums/mood_events/food_events.dm b/code/datums/mood_events/food_events.dm index e64d975902e..239e4b77293 100644 --- a/code/datums/mood_events/food_events.dm +++ b/code/datums/mood_events/food_events.dm @@ -2,55 +2,62 @@ description = "I really enjoyed eating that." mood_change = 5 timeout = 4 MINUTES + event_flags = MOOD_EVENT_FOOD /datum/mood_event/gross_food description = "I really didn't like that food." mood_change = -2 timeout = 4 MINUTES + event_flags = MOOD_EVENT_FOOD /datum/mood_event/disgusting_food description = "That food was disgusting!" mood_change = -6 timeout = 4 MINUTES + event_flags = MOOD_EVENT_FOOD /datum/mood_event/allergic_food description = "My throat itches." mood_change = -2 timeout = 4 MINUTES + event_flags = MOOD_EVENT_FOOD /datum/mood_event/breakfast description = "Nothing like a hearty breakfast to start the shift." mood_change = 2 timeout = 10 MINUTES + event_flags = MOOD_EVENT_FOOD /datum/mood_event/food timeout = 5 MINUTES - var/quality = FOOD_QUALITY_NORMAL + event_flags = MOOD_EVENT_FOOD -/datum/mood_event/food/New(mob/M, ...) - . = ..() - mood_change = 2 + 2 * quality +/datum/mood_event/food/add_effects(quality = FOOD_QUALITY_NORMAL, timeout_mod = 1) + mood_change = calculate_mood_change(quality) + timeout *= timeout_mod description = "That food was [GLOB.food_quality_description[quality]]." -/datum/mood_event/food/nice - quality = FOOD_QUALITY_NICE +/datum/mood_event/food/be_refreshed(datum/mood/home, quality, timeout_mod) + var/old_mood = mood_change + // updates timeout (which is handled in parent call) and mood + timeout = max(timeout, initial(timeout) * timeout_mod) + mood_change = max(mood_change, calculate_mood_change(quality)) + // if mood_change is the same, we don't need to update the description + if(old_mood != mood_change) + description = "That food was [GLOB.food_quality_description[quality]]." + return ..() -/datum/mood_event/food/good - quality = FOOD_QUALITY_GOOD - -/datum/mood_event/food/verygood - quality = FOOD_QUALITY_VERYGOOD - -/datum/mood_event/food/fantastic - quality = FOOD_QUALITY_FANTASTIC - -/datum/mood_event/food/amazing - quality = FOOD_QUALITY_AMAZING - -/datum/mood_event/food/top - quality = FOOD_QUALITY_TOP +/datum/mood_event/food/proc/calculate_mood_change(base_quality) + var/quality = 1 + 1.5 * base_quality + if(HAS_PERSONALITY(owner, /datum/personality/ascetic)) + quality *= 0.5 + if(HAS_PERSONALITY(owner, /datum/personality/gourmand)) + if(quality <= FOOD_QUALITY_GOOD) + quality = FOOD_QUALITY_NORMAL + return ceil(quality) /datum/mood_event/pacifist_eating_fish_item description = "I shouldn't be eating living creatures..." mood_change = -1 //The disgusting food moodlet already has a pretty big negative value, this is just for context. timeout = 4 MINUTES + event_flags = MOOD_EVENT_FOOD diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 2c5a9749550..56bb17a1b86 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -10,10 +10,12 @@ /datum/mood_event/on_fire description = "I'M ON FIRE!!!" mood_change = -12 + event_flags = MOOD_EVENT_FEAR /datum/mood_event/suffocation description = "CAN'T... BREATHE..." mood_change = -12 + event_flags = MOOD_EVENT_FEAR /datum/mood_event/burnt_thumb description = "I shouldn't play with lighters..." @@ -32,6 +34,7 @@ description = "I've been creamed. Tastes like pie flavor." mood_change = -2 timeout = 3 MINUTES + event_flags = MOOD_EVENT_WHIMSY // if whimsical, no penalty /datum/mood_event/inked description = "I've been splashed with squid ink. Tastes like salt." @@ -42,6 +45,7 @@ description = "I slipped. I should be more careful next time..." mood_change = -2 timeout = 3 MINUTES + event_flags = MOOD_EVENT_WHIMSY // if whimsical, no penalty /datum/mood_event/eye_stab description = "I used to be an adventurer like you, until I took a screwdriver to the eye." @@ -81,12 +85,7 @@ description = "Ouch! My limb feels like I fell asleep on it." mood_change = -3 timeout = 2 MINUTES - -/datum/mood_event/reattachment/New(mob/M, ...) - if(HAS_TRAIT(M, TRAIT_ANALGESIA)) - qdel(src) - return - return ..() + event_flags = MOOD_EVENT_PAIN /datum/mood_event/reattachment/add_effects(obj/item/bodypart/limb) if(limb) @@ -117,12 +116,7 @@ description = "That fucking table, man that hurts..." mood_change = -3 timeout = 3 MINUTES - -/datum/mood_event/table_limbsmash/New(mob/M, ...) - if(HAS_TRAIT(M, TRAIT_ANALGESIA)) - qdel(src) - return - return ..() + event_flags = MOOD_EVENT_PAIN /datum/mood_event/table_limbsmash/add_effects(obj/item/bodypart/banged_limb) if(banged_limb) @@ -147,15 +141,18 @@ /datum/mood_event/photophobia description = "The lights are too bright..." mood_change = -3 + event_flags = MOOD_EVENT_FEAR /datum/mood_event/nyctophobia description = "It sure is dark around here..." mood_change = -3 + event_flags = MOOD_EVENT_FEAR /datum/mood_event/claustrophobia description = "Why do I feel trapped?! Let me out!!!" mood_change = -7 timeout = 1 MINUTES + event_flags = MOOD_EVENT_FEAR /datum/mood_event/bright_light description = "I hate it in the light... I need to find a darker place..." @@ -177,9 +174,14 @@ description = "I'm nervous and on edge and I can't stand still!!" mood_change = -2 +/datum/mood_event/jittery/add_effects(...) + if(HAS_PERSONALITY(owner, /datum/personality/paranoid)) + mood_change -= 1 + /datum/mood_event/choke description = "I CAN'T BREATHE!!!" mood_change = -10 + event_flags = MOOD_EVENT_FEAR /datum/mood_event/vomit description = "I just threw up. Gross." @@ -195,27 +197,25 @@ description = "Medicine may be good for me but right now it stings like hell." mood_change = -5 timeout = 60 SECONDS - -/datum/mood_event/painful_medicine/New(mob/M, ...) - if(HAS_TRAIT(M, TRAIT_ANALGESIA)) - qdel(src) - return - return ..() + event_flags = MOOD_EVENT_PAIN /datum/mood_event/startled description = "Hearing that word made me think about something scary." mood_change = -1 timeout = 1 MINUTES + event_flags = MOOD_EVENT_FEAR /datum/mood_event/phobia - description = "I saw something very frightening." + description = "I saw something very frightening!" mood_change = -4 timeout = 4 MINUTES + event_flags = MOOD_EVENT_FEAR /datum/mood_event/spooked description = "The rattling of those bones... It still haunts me." mood_change = -4 timeout = 4 MINUTES + event_flags = MOOD_EVENT_FEAR /datum/mood_event/notcreeping description = "The voices are not happy, and they painfully contort my thoughts into getting back on task." @@ -243,12 +243,7 @@ /datum/mood_event/back_pain description = "Bags never sit right on my back, this hurts like hell!" mood_change = -15 - -/datum/mood_event/back_pain/New(mob/M, ...) - if(HAS_TRAIT(M, TRAIT_ANALGESIA)) - qdel(src) - return - return ..() + event_flags = MOOD_EVENT_PAIN /datum/mood_event/sad_empath description = "Someone seems upset..." @@ -262,11 +257,18 @@ description = "Those darn savages!" mood_change = -5 timeout = 2 MINUTES + event_flags = MOOD_EVENT_SPIRITUAL /datum/mood_event/artbad description = "I've produced better art than that from my ass." mood_change = -2 timeout = 2 MINUTES + event_flags = MOOD_EVENT_ART + +/datum/mood_event/artbad/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/creative)) + mood_change = 0 + description = "Everyone has to start their art journey somewhere!" /datum/mood_event/graverobbing description = "I just desecrated someone's grave... I can't believe I did that..." @@ -280,6 +282,7 @@ /datum/mood_event/gunpoint description = "This guy is insane! I better be careful..." mood_change = -10 + event_flags = MOOD_EVENT_FEAR /datum/mood_event/tripped description = "I can't believe I fell for the oldest trick in the book!" @@ -295,6 +298,7 @@ description = "I HAD A GLIMPSE OF THE HORROR BEYOND THIS WORLD. REALITY UNCOILED BEFORE MY EYES!" mood_change = -25 timeout = 4 MINUTES + event_flags = MOOD_EVENT_FEAR /datum/mood_event/high_five_full_hand description = "Oh god, I don't even know how to high-five correctly..." @@ -320,6 +324,7 @@ /datum/mood_event/surgery description = "THEY'RE CUTTING ME OPEN!!" mood_change = -8 + event_flags = MOOD_EVENT_FEAR var/surgery_completed = FALSE /datum/mood_event/surgery/success @@ -423,16 +428,19 @@ /datum/mood_event/gamer_withdrawal description = "I wish I was gaming right now..." mood_change = -5 + event_flags = MOOD_EVENT_GAMING /datum/mood_event/gamer_lost description = "If I'm not good at video games, can I truly call myself a gamer?" - mood_change = -10 + mood_change = -6 timeout = 10 MINUTES + event_flags = MOOD_EVENT_GAMING /datum/mood_event/lost_52_card_pickup description = "This is really embarrassing! I'm ashamed to pick up all these cards off the floor..." mood_change = -3 timeout = 3 MINUTES + event_flags = MOOD_EVENT_WHIMSY | MOOD_EVENT_GAMING /datum/mood_event/russian_roulette_lose_cheater description = "I gambled and lost! Good thing I wasn't aiming for my head..." @@ -444,6 +452,12 @@ mood_change = -20 timeout = 10 MINUTES +/datum/mood_event/russian_roulette_lose/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/gambler)) + mood_change *= 0.5 + description = "I gambled my life and lost! Truth is, the game was rigged from the start..." + return + /datum/mood_event/bad_touch_bear_hug description = "I just got squeezed way too hard." mood_change = -1 @@ -473,11 +487,17 @@ description = "THE MOON JUDGES AND FINDS ME WANTING!!!" mood_change = -3 timeout = 5 MINUTES + event_flags = MOOD_EVENT_FEAR + +/datum/mood_event/moon_insanity/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/spiritual)) + mood_change *= 2 /datum/mood_event/amulet_insanity - description = "I sEe THe LiGHt, It mUsT BE stOPPed" + description = "I sEe THe LiGHt, It mUsT BE stOPPed!" mood_change = -6 timeout = 5 MINUTES + event_flags = MOOD_EVENT_FEAR /datum/mood_event/mallet_humiliation description = "Getting hit by such a stupid weapon feels rather humiliating..." @@ -535,7 +555,183 @@ description = "Blowing smoke in my face, really?" mood_change = 0 +/datum/mood_event/see_death + description = "I just saw someone die. How horrible..." + mood_change = -8 + timeout = 5 MINUTES + /// Message variant for callous people + var/dont_care_message = "Oh, %DEAD_MOB% died. Shame, I guess." + /// Message variant for people who care about animals + var/pet_message = "%DEAD_MOB% just died!!" + /// Message variant for desensitized people (security, medical, cult with halo, etc) + var/desensitized_message = "I saw %DEAD_MOB% die." + var/normal_message = "I just saw %DEAD_MOB% die. How horrible..." + +/datum/mood_event/see_death/add_effects(mob/dead_mob) + if(isnull(dead_mob)) + return + if(HAS_TRAIT(owner, TRAIT_CULT_HALO) && !HAS_TRAIT(dead_mob, TRAIT_CULT_HALO)) + // When cultists get halos, they stop caring about death + mood_change = 4 + description = "More souls for the Geometer!" + return + + var/ispet = istype(dead_mob, /mob/living/basic/pet) || ismonkey(dead_mob) + if(HAS_PERSONALITY(owner, /datum/personality/callous) || (ispet && HAS_PERSONALITY(owner, /datum/personality/animal_disliker))) + description = replacetext(dont_care_message, "%DEAD_MOB%", get_descriptor(dead_mob)) + mood_change = 0 + timeout *= 0.5 + return + // future todo : make the hop care about ian, cmo runtime, etc. + if(ispet) + description = replacetext(pet_message, "%DEAD_MOB%", capitalize(dead_mob.name)) // doesn't use a descriptor, so it says "Ian died" + if(HAS_PERSONALITY(owner, /datum/personality/animal_friend)) + mood_change *= 1.5 + timeout *= 1.25 + else if(!HAS_PERSONALITY(owner, /datum/personality/compassionate)) + mood_change *= 0.25 + timeout *= 0.5 + return + if(HAS_PERSONALITY(owner, /datum/personality/compassionate)) + mood_change *= 1.5 + timeout *= 1.5 + if(HAS_TRAIT(owner, TRAIT_DESENSITIZED)) + mood_change *= 0.5 + timeout *= 0.5 + description = replacetext(desensitized_message, "%DEAD_MOB%", get_descriptor(dead_mob)) + return + + description = replacetext(normal_message, "%DEAD_MOB%", get_descriptor(dead_mob)) + +/datum/mood_event/see_death/be_refreshed(datum/mood/home, ...) + // Every time we get refreshed we get worse if not desensitized + if(!HAS_TRAIT(owner, TRAIT_DESENSITIZED)) + mood_change *= 1.5 + return ..() + +/datum/mood_event/see_death/be_replaced(datum/mood/home, datum/mood_event/new_event, ...) + // Only be replaced if the incoming event's base mood is worse than our base mood + // (IE: replace normal death events with gib events, but not the other way around) + if(initial(new_event.mood_change) > initial(mood_change)) + new_event.mood_change = max(new_event.mood_change, mood_change * 1.5) + return ..() + // Otherwise if it's equivalent or worse, refresh it instead + return be_refreshed(home) + +/// Changes "I saw Joe x" to "I saw the engineer x" +/datum/mood_event/see_death/proc/get_descriptor(mob/dead_mob) + if(isnull(dead_mob)) + return "something" + if(dead_mob.name != "Unknown" && dead_mob.mind?.assigned_role?.job_flags & JOB_CREW_MEMBER) + return "the [LOWER_TEXT(dead_mob.mind?.assigned_role.title)]" + return "someone" + +/datum/mood_event/see_death/gibbed + description = "Someone just exploded in front of me!!" + mood_change = -12 + timeout = 10 MINUTES + dont_care_message = "Oh, %DEAD_MOB% exploded. Now I have to get the mop." + pet_message = "%DEAD_MOB% just exploded!!" + desensitized_message = "I saw %DEAD_MOB% explode." + normal_message = "%DEAD_MOB% just exploded in front of me!!" + +/datum/mood_event/see_death/dusted + description = "Someone was just vaporized in front of me!! I don't feel so good..." + mood_change = -12 + timeout = 10 MINUTES + dont_care_message = "Oh, %DEAD_MOB% was vaporized. Now I have to get the dustpan." + pet_message = "%DEAD_MOB% just vaporized!!" + desensitized_message = "I saw %DEAD_MOB% get vaporized." + normal_message = "%DEAD_MOB% was just vaporized in front of me!!" + +/datum/mood_event/slots/loss + description = "Aww dang it!" + mood_change = -2 + timeout = 5 MINUTES + event_flags = MOOD_EVENT_GAMING + +/datum/mood_event/slots/loss/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/gambler)) + mood_change = 0 + description = "Aww dang it." + if(HAS_PERSONALITY(owner, /datum/personality/industrious) || HAS_PERSONALITY(owner, /datum/personality/slacking/diligent)) + mood_change *= 1.5 + /datum/mood_event/lost_control_of_life description = "I've lost control of my life." mood_change = -5 timeout = 5 MINUTES + +/datum/mood_event/empathetic_sad + description = "Seeing sad people makes me sad." + mood_change = -2 + timeout = 3 MINUTES + +/datum/mood_event/misanthropic_sad + description = "Seeing happy people makes me uneasy." + mood_change = -2 + timeout = 3 MINUTES + +/datum/mood_event/paranoid/one_on_one + description = "I'm alone with someone - what if they want to kill me?" + mood_change = -3 + event_flags = MOOD_EVENT_FEAR + +/datum/mood_event/paranoid/large_group + description = "There are so many people around - any one of them could be out to get me!" + mood_change = -3 + event_flags = MOOD_EVENT_FEAR + +/datum/mood_event/nt_disillusioned + description = "I hate the company, and everything it stands for." + mood_change = -2 + +/datum/mood_event/disillusioned_revs_lost + description = "The revolution was defeated... greaaaat." + mood_change = -2 + timeout = 10 MINUTES + +/datum/mood_event/loyalist_revs_win + description = "The revolution was a success... This will hurt quarterly profits." + mood_change = -2 + timeout = 10 MINUTES + +/datum/mood_event/slacking_off_diligent + description = "I should get back to work." + mood_change = -1 + +/datum/mood_event/unimaginative_patronage + description = "That felt like a waste of money." + mood_change = -2 + timeout = 5 MINUTES + +/datum/mood_event/unimaginative_framing + description = "I could've hung something more useful there." + mood_change = -2 + timeout = 5 MINUTES + +/datum/mood_event/unimaginative_sculpting + description = "That felt like a waste of materials." + mood_change = -2 + timeout = 5 MINUTES + +/datum/mood_event/splattered_with_blood + description = "Eugh, I just got coated in blood!" + mood_change = -4 + timeout = 4 MINUTES + +/datum/mood_event/splattered_with_blood/can_effect_mob(datum/mood/home, mob/living/who, ...) + if(isvampire(who)) + return FALSE + + return ..() + +/datum/mood_event/splattered_with_blood/add_effects(...) + if(HAS_TRAIT(owner, TRAIT_CULT_HALO)) + mood_change = 2 + description = "Blood, blood! The Geometer will be pleased." + return + if(HAS_TRAIT(owner, TRAIT_MORBID) || HAS_TRAIT(owner, TRAIT_EVIL)) + mood_change = 0 + description = "I just got coated in blood. Fascinating!" + return diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 2c4ac282c64..52924d86f7f 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -3,17 +3,53 @@ mood_change = 1 timeout = 2 MINUTES +/datum/mood_event/hug/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/aromantic)) + mood_change = -1 + description = "A hug? Call HR!" + return + if(HAS_PERSONALITY(owner, /datum/personality/aloof)) + mood_change = -1 + description = "I would prefer not to be touched." + return + if(HAS_PERSONALITY(owner, /datum/personality/callous)) + mood_change = 0 + description = "I hate hugs." + return + /datum/mood_event/bear_hug description = "I got squeezed very tightly, but it was quite nice." mood_change = 1 timeout = 2 MINUTES +/datum/mood_event/bear_hug/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/aromantic) \ + || HAS_PERSONALITY(owner, /datum/personality/aloof) \ + || HAS_PERSONALITY(owner, /datum/personality/callous) \ + ) + mood_change = -2 + description = "They're squeezing me too tightly!" + return + /datum/mood_event/betterhug description = "Someone was very nice to me." mood_change = 3 timeout = 4 MINUTES /datum/mood_event/betterhug/add_effects(mob/friend) + if(HAS_PERSONALITY(owner, /datum/personality/aromantic)) + mood_change = 1 + description = "[friend.name] is nice, but that's it." + return + if(HAS_PERSONALITY(owner, /datum/personality/aloof)) + mood_change = 1 + description = "[friend.name] is nice, but I wish they'd stop touching me." + return + if(HAS_PERSONALITY(owner, /datum/personality/callous)) + mood_change = 0 + description = "[friend.name] is way too nice for this station." + return + description = "[friend.name] was very nice to me." /datum/mood_event/besthug @@ -22,6 +58,19 @@ timeout = 4 MINUTES /datum/mood_event/besthug/add_effects(mob/friend) + if(HAS_PERSONALITY(owner, /datum/personality/aromantic)) + mood_change = 2 + description = "[friend.name] is great to be around, but that's it." + return + if(HAS_PERSONALITY(owner, /datum/personality/aloof)) + mood_change = 2 + description = "[friend.name] is great to be around, but I wish they'd stop touching me." + return + if(HAS_PERSONALITY(owner, /datum/personality/callous)) + mood_change = 0 + description = "[friend.name] is way too nice for this station." + return + description = "[friend.name] is great to be around, [friend.p_they()] makes me feel so happy!" /datum/mood_event/warmhug @@ -29,20 +78,49 @@ mood_change = 1 timeout = 2 MINUTES +/datum/mood_event/warmhug/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/aromantic)) + mood_change = 0 + description = "I don't like hugs, but the warmth is nice...." + return + if(HAS_PERSONALITY(owner, /datum/personality/aloof)) + mood_change = 0 + description = "I would prefer not to be touched, but the warmth is nice...." + return + if(HAS_PERSONALITY(owner, /datum/personality/callous)) + mood_change = 0 + description = "I hate hugs. I can warm myself up." + return + /datum/mood_event/tailpulled description = "I love getting my tail pulled!" mood_change = 1 timeout = 2 MINUTES +/datum/mood_event/tailpulled/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/aloof) \ + || HAS_PERSONALITY(owner, /datum/personality/aromantic) \ + || HAS_PERSONALITY(owner, /datum/personality/callous) \ + ) + mood_change = -2 + description = "Who the hell is touching my tail?" + /datum/mood_event/arcade description = "I beat the arcade game!" mood_change = 3 timeout = 8 MINUTES + event_flags = MOOD_EVENT_GAMING + +/datum/mood_event/arcade/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/industrious) || HAS_PERSONALITY(owner, /datum/personality/slacking/diligent)) + mood_change = -1 + description = "Wow, I beat the game. I could've been doing anything productive instead." /datum/mood_event/blessing description = "I've been blessed." - mood_change = 3 + mood_change = 1 timeout = 8 MINUTES + event_flags = MOOD_EVENT_SPIRITUAL /datum/mood_event/maintenance_adaptation mood_change = 8 @@ -55,21 +133,67 @@ mood_change = 1 timeout = 5 MINUTES +/datum/mood_event/book_nerd/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/erudite)) + mood_change = 2 + description = "I love reading books!" + if(HAS_PERSONALITY(owner, /datum/personality/uneducated)) + mood_change = -1 + description = "Who cares about books?" + /datum/mood_event/exercise description = "Working out releases those endorphins!" mood_change = 1 /datum/mood_event/exercise/add_effects(fitness_level) mood_change = fitness_level // the more fit you are, the more you like to work out - return ..() + if(HAS_PERSONALITY(owner, /datum/personality/slacking/lazy)) + mood_change *= -0.5 + description = "Working out, what a chore!" + else if(!HAS_PERSONALITY(owner, /datum/personality/athletic)) + mood_change *= 0.5 + description = "Working out is a bit of a chore, but it is pretty fulfilling." /datum/mood_event/pet_animal description = "Animals are adorable! I can't stop petting them!" - mood_change = 2 timeout = 5 MINUTES + /// Tracks the typepath of animal we last petted + var/animal_type /datum/mood_event/pet_animal/add_effects(mob/animal) - description = "\The [animal.name] is adorable! I can't stop petting [animal.p_them()]!" + animal_type = animal?.type + + if(HAS_PERSONALITY(owner, /datum/personality/animal_disliker)) + mood_change = -1 + description = "Ewww, [animal.name] is so dirty! I don't want to touch it!" + return + + var/dog_fan = HAS_PERSONALITY(owner, /datum/personality/dog_fan) + var/isdog = istype(animal, /mob/living/basic/pet/dog) + var/cat_fan = HAS_PERSONALITY(owner, /datum/personality/cat_fan) + var/iscat = istype(animal, /mob/living/basic/pet/cat) + if((dog_fan && isdog) || (cat_fan && iscat) || HAS_PERSONALITY(owner, /datum/personality/animal_friend)) + mood_change = 3 + description = "I love [animal.name] so much, [animal.p_theyre()] so adorable! I can't stop petting [animal.p_them()]!" + return + if(dog_fan && iscat) + mood_change = -1 + description = "I don't like [animal.name]! I prefer dogs!" + return + if(cat_fan && isdog) + mood_change = -1 + description = "I don't like [animal.name]! I prefer cats!" + return + + mood_change = 1 + description = "[animal.name] is adorable!" + +// Change the moodlet if we get refreshed (we may have pet another type of animal) +/datum/mood_event/pet_animal/be_refreshed(datum/mood/home, mob/animal) + . = ..() + if(animal_type == animal?.type) + return + add_effects(animal) /datum/mood_event/honk description = "I've been honked!" @@ -77,12 +201,21 @@ timeout = 4 MINUTES special_screen_obj = "honked_nose" special_screen_replace = FALSE + event_flags = MOOD_EVENT_WHIMSY /datum/mood_event/saved_life description = "It feels good to save a life." mood_change = 6 timeout = 8 MINUTES +/datum/mood_event/saved_life/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/callous)) + mood_change = 0 + description = "I don't care much for saving lives." + if(HAS_PERSONALITY(owner, /datum/personality/misanthropic)) + mood_change = -1 + description = "Saving lives is a waste of time." + /datum/mood_event/oblivious description = "What a lovely day." mood_change = 3 @@ -94,16 +227,21 @@ /datum/mood_event/focused description = "I have a goal, and I will reach it, whatever it takes!" //Used for syndies, nukeops etc so they can focus on their goals - mood_change = 4 + mood_change = 8 hidden = TRUE /datum/mood_event/badass_antag description = "I'm a fucking badass and everyone around me knows it. Just look at them; they're all fucking shaking at the mere thought of having me around." - mood_change = 7 + mood_change = 8 hidden = TRUE special_screen_obj = "badass_sun" special_screen_replace = FALSE +/datum/mood_event/ling + description = "We have a goal, and we will reach it, whatever it takes!" + mood_change = 12 + hidden = TRUE + /datum/mood_event/creeping description = "The voices have released their hooks on my mind! I feel free again!" //creeps get it when they are around their obsession mood_change = 18 @@ -117,17 +255,17 @@ /datum/mood_event/cult description = "I have seen the truth, praise the almighty one!" - mood_change = 10 //maybe being a cultist isn't that bad after all + mood_change = 12 //maybe being a cultist isn't that bad after all hidden = TRUE /datum/mood_event/heretics description = "THE HIGHER I RISE, THE MORE I SEE." - mood_change = 10 //maybe being a heretic isnt that bad after all + mood_change = 12 //maybe being a heretic isnt that bad after all hidden = TRUE /datum/mood_event/rift_fishing description = "THE MORE I FISH, THE HIGHER I RISE." - mood_change = 7 + mood_change = 6 timeout = 5 MINUTES /datum/mood_event/family_heirloom @@ -146,6 +284,7 @@ description = "There is something soothing about this music." mood_change = 3 timeout = 60 SECONDS + event_flags = MOOD_EVENT_ART /datum/mood_event/chemical_euphoria description = "Heh...hehehe...hehe..." @@ -165,30 +304,35 @@ description = "I feel comforted by the presence of a holy person." mood_change = 3 timeout = 5 MINUTES + event_flags = MOOD_EVENT_SPIRITUAL /datum/mood_event/clownshoes description = "The shoes are a clown's legacy, I never want to take them off!" - mood_change = 5 + mood_change = 3 /datum/mood_event/sacrifice_good description = "The gods are pleased with this offering!" mood_change = 5 timeout = 3 MINUTES + event_flags = MOOD_EVENT_SPIRITUAL /datum/mood_event/artok description = "It's nice to see people are making art around here." mood_change = 2 timeout = 5 MINUTES + event_flags = MOOD_EVENT_ART /datum/mood_event/artgood description = "What a thought-provoking piece of art. I'll remember that for a while." mood_change = 4 timeout = 5 MINUTES + event_flags = MOOD_EVENT_ART /datum/mood_event/artgreat description = "That work of art was so great it made me believe in the goodness of humanity. Says a lot in a place like this." mood_change = 6 timeout = 5 MINUTES + event_flags = MOOD_EVENT_ART /datum/mood_event/bottle_flip description = "The bottle landing like that was satisfying." @@ -199,6 +343,12 @@ description = "What a peculiar emblem. It makes me feel hopeful for my future." mood_change = 6 +/datum/mood_event/hope_lavaland/add_effects(...) + if(HAS_PERSONALITY(owner, /datum/personality/pessimistic)) + mood_change = 0 + description = "This emblem is a lie. There is no hope for me." + return + /datum/mood_event/confident_mane description = "I'm feeling confident with a head full of hair." mood_change = 2 @@ -215,27 +365,45 @@ /datum/mood_event/helped_up description = "Helping them up felt good!" - mood_change = 2 timeout = 45 SECONDS +/datum/mood_event/helped_up/can_effect_mob(datum/mood/home, mob/living/who, ...) + if(!HAS_PERSONALITY(owner, /datum/personality/compassionate) \ + && !HAS_PERSONALITY(owner, /datum/personality/callous) \ + && !HAS_PERSONALITY(owner, /datum/personality/misanthropic)) + return FALSE + + return ..() + /datum/mood_event/helped_up/add_effects(mob/other_person, helper) if(!other_person) return - if(helper) - description = "Helping [other_person] up felt good!" - else - description = "[other_person] helped me up, how nice of [other_person.p_them()]!" + if(HAS_PERSONALITY(owner, /datum/personality/callous) || HAS_PERSONALITY(owner, /datum/personality/misanthropic)) + mood_change = -2 + if(helper) + description = "They should have helped themselves." + else + description = "I could've gotten up myself." + + else if(HAS_PERSONALITY(owner, /datum/personality/compassionate)) + mood_change = 2 + if(helper) + description = "Helping [other_person] up felt good!" + else + description = "[other_person] helped me up, how nice of [other_person.p_them()]!" /datum/mood_event/high_ten description = "AMAZING! A HIGH-TEN!" mood_change = 3 timeout = 45 SECONDS + event_flags = MOOD_EVENT_WHIMSY /datum/mood_event/down_low description = "HA! What a rube, they never stood a chance..." mood_change = 4 timeout = 90 SECONDS + event_flags = MOOD_EVENT_WHIMSY /datum/mood_event/aquarium_positive description = "Watching fish in an aquarium is calming." @@ -252,6 +420,10 @@ timeout = 2 MINUTES /datum/mood_event/kiss/add_effects(mob/beau, direct) + if(HAS_PERSONALITY(owner, /datum/personality/aromantic)) + mood_change = -2 + description = "A kiss? Call HR!" + return if(!beau) return if(direct) @@ -277,6 +449,7 @@ description = "Ahaha! It's always funny to see someone get sprayed by a can of soda." mood_change = 2 timeout = 30 SECONDS + event_flags = MOOD_EVENT_WHIMSY /datum/mood_event/observed_soda_spill/add_effects(mob/spilled_mob, atom/soda_can) if(!spilled_mob) @@ -288,17 +461,29 @@ description = "I'm enjoying a nice gaming session!" mood_change = 2 timeout = 30 SECONDS + event_flags = MOOD_EVENT_GAMING + +/datum/mood_event/gaming/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/industrious) || HAS_PERSONALITY(owner, /datum/personality/slacking/diligent)) + mood_change = -1 + description = "Is now really the time to be playing games? I should be working." /datum/mood_event/gamer_won description = "I love winning video games!" - mood_change = 10 + mood_change = 6 timeout = 5 MINUTES + event_flags = MOOD_EVENT_GAMING /datum/mood_event/love_reagent description = "This food reminds me of the good ol' days." mood_change = 5 /datum/mood_event/love_reagent/add_effects(duration) + if(HAS_PERSONALITY(owner, /datum/personality/pessimistic)) + mood_change = 0 + description = "This food is okay, I guess." + return + if(isnum(duration)) timeout = duration @@ -306,11 +491,13 @@ description = "HA! That loser will be picking cards up for a long time!" mood_change = 3 timeout = 3 MINUTES + event_flags = MOOD_EVENT_WHIMSY | MOOD_EVENT_GAMING /datum/mood_event/playing_cards description = "I'm enjoying playing cards with other people!" mood_change = 2 timeout = 3 MINUTES + event_flags = MOOD_EVENT_GAMING /datum/mood_event/playing_cards/add_effects(param) var/card_players = 1 @@ -334,7 +521,8 @@ timeout = 5 MINUTES /datum/mood_event/russian_roulette_win/add_effects(loaded_rounds) - mood_change = 2 ** loaded_rounds + var/base = HAS_PERSONALITY(owner, /datum/personality/gambler) ? 2 : 1.8 + mood_change = round(base ** loaded_rounds, 1) /datum/mood_event/fishing description = "Fishing is relaxing." @@ -359,6 +547,7 @@ description = "It felt nice to pet the fish." mood_change = 2 timeout = 2 MINUTES + event_flags = MOOD_EVENT_WHIMSY /datum/mood_event/fish_petting/add_effects(obj/item/fish/fish, morbid) if(!morbid) @@ -391,11 +580,13 @@ description = "Swish! Nothing but net." mood_change = 2 timeout = 5 MINUTES + event_flags = MOOD_EVENT_WHIMSY | MOOD_EVENT_GAMING /datum/mood_event/basketball_dunk description = "Slam dunk! Boom, shakalaka!" mood_change = 2 timeout = 5 MINUTES + event_flags = MOOD_EVENT_WHIMSY | MOOD_EVENT_GAMING /datum/mood_event/moon_smile description = "THE MOON SHOWS ME THE TRUTH AND ITS SMILE IS FACED TOWARDS ME!!!" @@ -410,3 +601,103 @@ /datum/mood_event/prophat description = "This hat fills me with whimsical joy!" mood_change = 2 + event_flags = MOOD_EVENT_WHIMSY + +/datum/mood_event/slots + description = "Let's go gambling!" + mood_change = 1 + timeout = 1 MINUTES + event_flags = MOOD_EVENT_GAMING + +/datum/mood_event/slots/add_effects() + if(HAS_PERSONALITY(owner, /datum/personality/gambler)) + mood_change *= 2 + else if(HAS_PERSONALITY(owner, /datum/personality/industrious) || HAS_PERSONALITY(owner, /datum/personality/slacking/diligent)) + mood_change *= -1 + description = "Why am I gambling my time and money away?" + + +/datum/mood_event/slots/win + description = "Aw yeah I won!" + mood_change = 2 + timeout = 5 MINUTES + event_flags = MOOD_EVENT_GAMING + +/datum/mood_event/slots/win/be_replaced(datum/mood/home, datum/mood_event/new_event, ...) + if(new_event.mood_change < mood_change) + return BLOCK_NEW_MOOD + return ..() + +/datum/mood_event/slots/win/big + mood_change = 3 + timeout = 10 MINUTES + +/datum/mood_event/slots/win/jackpot + description = "JACKPOT! AW YEAH!" + mood_change = 6 + timeout = 30 MINUTES + +/datum/mood_event/empathetic_happy + description = "Seeing happy people makes me happy." + mood_change = 2 + timeout = 2 MINUTES + +/datum/mood_event/misanthropic_happy + description = "Seeing sad people makes me glad." + mood_change = 2 + timeout = 2 MINUTES + +/datum/mood_event/paranoid/alone + description = "Peace and quiet, no one around to threaten me." + mood_change = 1 + +/datum/mood_event/paranoid/small_group + description = "I feel safer in this small group. We've got each other's backs." + mood_change = 2 + +/datum/mood_event/nt_loyalist + description = "I feel proud to be part of the NT™ family!" + mood_change = 2 + +/datum/mood_event/loyalist_revs_lost + description = "The revolution was defeated! Long live the Nanotrasen!" + mood_change = 4 + timeout = 10 MINUTES + +/datum/mood_event/disillusioned_revs_win + description = "The revolution was a success! Viva la revolution!" + mood_change = 4 + timeout = 10 MINUTES + +/datum/mood_event/enjoying_department_area + description = "I love my job." + mood_change = 1 + +/datum/mood_event/slacking_off_lazy + description = "Boss makes a dollar, I make a dime. That's why I slack on job time." + mood_change = 1 + +/datum/mood_event/working_diligent + description = "Working hard is its own reward." + mood_change = 1 + +/datum/mood_event/creative_patronage + description = "Support artists!" + mood_change = 2 + timeout = 5 MINUTES + +/datum/mood_event/creative_framing + description = "Hanging up art really ties the room together." + mood_change = 2 + timeout = 5 MINUTES + +/datum/mood_event/creative_sculpting + description = "Sculpting is a great creative outlet." + mood_change = 2 + timeout = 5 MINUTES + +/datum/mood_event/whimsical_slip + description = "Haha! That guy fell over!" + mood_change = 3 + timeout = 2 MINUTES + event_flags = MOOD_EVENT_WHIMSY diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 96f35708a36..6d4560215d4 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -74,6 +74,14 @@ mood_change = -6 timeout = 4 MINUTES +/datum/mood_event/disgust/dirty_food/add_effects(...) + if(HAS_PERSONALITY(owner, /datum/personality/ascetic)) + mood_change *= 0.25 + description = "That food was dirty, but edible." + if(HAS_PERSONALITY(owner, /datum/personality/gourmand)) + mood_change *= 1.5 + description = "That food was filthy, was it made in a dumpster?!" + //Generic needs events /datum/mood_event/shower description = "I have recently had a nice shower." diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 8910144e1b0..6e47dc6bcce 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -348,7 +348,7 @@ desc = "The user's muscles slightly expand. Commonly seen in top-ranking boxers." quality = POSITIVE text_gain_indication = span_notice("You feel strong.") - instability = POSITIVE_INSTABILITY_MINI + instability = POSITIVE_INSTABILITY_MINOR difficulty = 16 mutation_traits = list(TRAIT_STRENGTH) diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 7345e87e798..61ee5e52977 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -204,7 +204,7 @@ text_gain_indication = span_notice("You feel pretty good, honeydoll.") text_lose_indication = span_notice("You feel a little less conversation would be great.") -/datum/mutation/chav/New(datum/mutation/copymut) +/datum/mutation/elvis/New(datum/mutation/copymut) . = ..() AddComponent(/datum/component/speechmod, replacements = strings("elvis_replacement.json", "elvis")) diff --git a/code/datums/personality/_personality.dm b/code/datums/personality/_personality.dm new file mode 100644 index 00000000000..e5dc2da5056 --- /dev/null +++ b/code/datums/personality/_personality.dm @@ -0,0 +1,100 @@ +/** + * ## Personality Singleton + * + * Contains information about a personaility. + * + * A personality is designed to be a small modifier to the way a mob reacts to moodlets or world events. + * + * For example, a mob with the Callous personality would not receive a positive moodlet for saving someone's life. + * + * They're not meant to be full blown quirks that hold state and such. + * If you NEED state, consider making a quirk, or moving your behavior into a component the personality applies. + */ +/datum/personality + /// Required: Name of the personality + var/name + /// Required: Description of the personality. + /// Phrased to be "In character" - i.e. "I like to help people!" + /// Rather than OOC 0 i.e. "When helping people, I get a positive moodlet." + var/desc + /// Optional: Short blurb on what positive effects this personality has on gameplay, for ui + var/pos_gameplay_desc + /// Optional: Short blurb on what negative effects this personality has on gameplay, for ui + var/neg_gameplay_desc + /// Optional: Short blurb on what neutral effects this personality has on gameplay, for ui + var/neut_gameplay_desc + /// Easy way to apply a trait as a part of a personality. + var/personality_trait + /// Required: The key to use when saving this personality to a savefile. + /// Don't change it once it's set unless you want to write migration code + var/savefile_key + /// What groups does this personality belong to? + /// Personalities in the same group are mutually exclusive. + var/list/groups + /// Does this personality need to process every tick? + /// If true, you'll need to override on_tick() with logic + var/processes = FALSE + +/datum/personality/New() + . = ..() + if(processes) + SSpersonalities.processing_personalities[src] = list() + START_PROCESSING(SSpersonalities, src) + +/datum/personality/Destroy(force) + if(force) + STOP_PROCESSING(SSpersonalities, src) + SSpersonalities.processing_personalities -= src + SSpersonalities.personalities_by_type -= type + SSpersonalities.personalities_by_key -= savefile_key + return ..() + + stack_trace("qdel called on a personality singleton!") + return QDEL_HINT_LETMELIVE + +/** + * Called when applying this personality to a mob. + * + * * who - The mob to apply this personality to. + * This mob is asserted to have `mob_mood`. + */ +/datum/personality/proc/apply_to_mob(mob/living/who) + SHOULD_CALL_PARENT(TRUE) + if(personality_trait) + ADD_TRAIT(who, personality_trait, PERSONALITY_TRAIT) + LAZYSET(who.personalities, type, TRUE) + if(processes) + SSpersonalities.processing_personalities[src] += who + +/** + * Called when removing this personality from a mob. + * + * This is not called as a part of the mob being deleted. + * + * * who - The mob to remove this personality from. + * This mob is asserted to have `mob_mood`. + */ +/datum/personality/proc/remove_from_mob(mob/living/who) + SHOULD_CALL_PARENT(TRUE) + if(personality_trait) + REMOVE_TRAIT(who, personality_trait, PERSONALITY_TRAIT) + LAZYREMOVE(who.personalities, type) + if(processes) + SSpersonalities.processing_personalities[src] -= who + +/datum/personality/process(seconds_per_tick) + for(var/mob/living/subject as anything in SSpersonalities.processing_personalities[src]) + if(subject.stat >= UNCONSCIOUS || HAS_TRAIT(subject, TRAIT_NO_TRANSFORM)) + continue + if(on_tick(subject, seconds_per_tick) != PROCESS_KILL) + continue + stack_trace("Personality [type] processed but did not override on_tick().") + SSpersonalities.processing_personalities -= src // stop tracking if we're done processing + return PROCESS_KILL + + return null + +/// Called every SSpersonality tick if `processes` is TRUE. +/// Don't call parent if you override this, that's for error checking +/datum/personality/proc/on_tick(mob/living/subject, seconds_per_tick) + return PROCESS_KILL diff --git a/code/datums/personality/_personality_groups.dm b/code/datums/personality/_personality_groups.dm new file mode 100644 index 00000000000..efc5b1bab7c --- /dev/null +++ b/code/datums/personality/_personality_groups.dm @@ -0,0 +1,41 @@ +// These defines are for indicating incompatible personalities by group + +/// General Modification to moodlet length +#define PERSONALITY_GROUP_MOOD_LENGTH "reaction_to_thought" +/// General modification to moodlet power +#define PERSONALITY_GROUP_MOOD_POWER "general_reaction" + +/// Changes how the person views death +#define PERSONALITY_GROUP_DEATH "reaction_to_death" +/// Changes how the person feels when generally afraid +#define PERSONALITY_GROUP_GENERAL_FEAR "reaction_to_fear" +/// Are we afraid of other people specifically +#define PERSONALITY_GROUP_PEOPLE_FEAR "reaction_to_fear_others" +/// Preferred department / job location +#define PERSONALITY_GROUP_DEPARTMENT "reaction_to_department" +/// Changes how the person views animals, specific or general +#define PERSONALITY_GROUP_ANIMALS "reaction_to_animals" +/// How they view Nanotrasen itself +#define PERSONALITY_GROUP_NT "reaction_to_nt" +/// Opinion of other crewmembers +#define PERSONALITY_GROUP_OTHERS "reaction_to_others" +/// What type of interactions they prefer +#define PERSONALITY_GROUP_INTERACTION "reaction_to_interaction" +/// How they feel about slacking off +#define PERSONALITY_GROUP_RECREATION "reaction_to_recreation" +/// How they feel about the opposite of slacking off +#define PERSONALITY_GROUP_WORK "reaction_to_work" +/// Changes how they react to imbibing alcohol +#define PERSONALITY_GROUP_ALCOHOL "reaction_to_alcohol" +/// Modifies moodlets from food +#define PERSONALITY_GROUP_FOOD "reaction_to_food" +/// How hopeful vs pessimistic they are +#define PERSONALITY_GROUP_HOPE "reaction_to_hope" +/// Specifically how they feel about humanity +#define PERSONALITY_GROUP_MISANTHROPY "reaction_to_misanthropy" +/// Whether they enjoy working out or not +#define PERSONALITY_GROUP_ATHLETICS "reaction_to_athletics" +/// Whether they enjoy art out or not +#define PERSONALITY_GROUP_ART "reaction_to_art" +/// Whether they enjoy reading out or not +#define PERSONALITY_GROUP_READING "reaction_to_reading" diff --git a/code/datums/personality/personality_preference.dm b/code/datums/personality/personality_preference.dm new file mode 100644 index 00000000000..c0965251d34 --- /dev/null +++ b/code/datums/personality/personality_preference.dm @@ -0,0 +1,43 @@ +/datum/preference/personality + savefile_key = "personalities" + savefile_identifier = PREFERENCE_CHARACTER + can_randomize = TRUE + randomize_by_default = FALSE + +/datum/preference/personality/apply_to_human(mob/living/carbon/human/target, value) + if(isdummy(target) || !ishuman(target) || isnull(target.mob_mood)) + return + if(CONFIG_GET(flag/disable_human_mood) || !CONFIG_GET(flag/roundstart_traits)) + return + for(var/personality_key in value) + var/datum/personality/personality = SSpersonalities.personalities_by_key[personality_key] + personality.apply_to_mob(target) + +/datum/preference/personality/is_valid(value) + return islist(value) || isnull(value) + +/datum/preference/personality/deserialize(input, datum/preferences/preferences) + if(!LAZYLEN(input)) + return null + + var/list/input_sanitized + for(var/personality_key in input) + var/datum/personality/personality = SSpersonalities.personalities_by_key[personality_key] + if(!istype(personality)) + continue + if(SSpersonalities.is_incompatible(input_sanitized, personality.type)) + continue + if(LAZYLEN(input_sanitized) >= CONFIG_GET(number/max_personalities)) + break + LAZYADD(input_sanitized, personality_key) + + return input_sanitized + +/datum/preference/personality/create_default_value() + return null + +/datum/preference/personality/create_random_value(datum/preferences/preferences) + var/list/random_personalities + for(var/datum/personality/personality_type as anything in SSpersonalities.select_random_personalities()) + LAZYADD(random_personalities, initial(personality_type.savefile_key)) + return random_personalities diff --git a/code/datums/personality/reaction_generic.dm b/code/datums/personality/reaction_generic.dm new file mode 100644 index 00000000000..e0dd27abdeb --- /dev/null +++ b/code/datums/personality/reaction_generic.dm @@ -0,0 +1,102 @@ +/datum/personality/apathetic + savefile_key = "apathetic" + name = "Apathetic" + desc = "I don't care about much. Not the good, nor the bad, and certainly not the ugly." + neut_gameplay_desc = "All moodlets affect you less" + groups = list(PERSONALITY_GROUP_MOOD_POWER) + +/datum/personality/apathetic/apply_to_mob(mob/living/who) + . = ..() + who.mob_mood?.mood_modifier -= 0.2 + +/datum/personality/apathetic/remove_from_mob(mob/living/who) + . = ..() + who.mob_mood?.mood_modifier += 0.2 + +/datum/personality/sensitive + savefile_key = "sensitive" + name = "Sensitive" + desc = "I am easily influenced by the world around me." + neut_gameplay_desc = "All moodlets affect you more" + groups = list(PERSONALITY_GROUP_MOOD_POWER) + +/datum/personality/sensitive/apply_to_mob(mob/living/who) + . = ..() + who.mob_mood?.mood_modifier += 0.2 + +/datum/personality/sensitive/remove_from_mob(mob/living/who) + . = ..() + who.mob_mood?.mood_modifier -= 0.2 + +/datum/personality/resilient + savefile_key = "resilient" + name = "Resilient" + desc = "It's whatever. I can take it!" + pos_gameplay_desc = "Negative moodlets expire faster" + groups = list(PERSONALITY_GROUP_MOOD_LENGTH) + +/datum/personality/resilient/apply_to_mob(mob/living/who) + . = ..() + who.mob_mood?.negative_moodlet_length_modifier -= 0.2 + +/datum/personality/resilient/remove_from_mob(mob/living/who) + . = ..() + who.mob_mood?.negative_moodlet_length_modifier += 0.2 + +/datum/personality/brooding + savefile_key = "brooding" + name = "Brooding" + desc = "Everything gets to me and I can't help but think about it." + neg_gameplay_desc = "Negative moodlets last longer" + groups = list(PERSONALITY_GROUP_MOOD_LENGTH) + +/datum/personality/brooding/apply_to_mob(mob/living/who) + . = ..() + who.mob_mood?.negative_moodlet_length_modifier += 0.2 + +/datum/personality/brooding/remove_from_mob(mob/living/who) + . = ..() + who.mob_mood?.negative_moodlet_length_modifier -= 0.2 + +/datum/personality/hopeful + savefile_key = "hopeful" + name = "Hopeful" + desc = "I believe things will always get better." + pos_gameplay_desc = "Positive moodlets last longer" + groups = list(PERSONALITY_GROUP_HOPE) + +/datum/personality/hopeful/apply_to_mob(mob/living/who) + . = ..() + who.mob_mood?.positive_moodlet_length_modifier += 0.2 + +/datum/personality/hopeful/remove_from_mob(mob/living/who) + . = ..() + who.mob_mood?.positive_moodlet_length_modifier -= 0.2 + +/datum/personality/pessimistic + savefile_key = "pessimistic" + name = "Pessimistic" + desc = "I believe our best days are behind us." + neg_gameplay_desc = "Positive moodlets last shorter" + groups = list(PERSONALITY_GROUP_HOPE) + +/datum/personality/pessimistic/apply_to_mob(mob/living/who) + . = ..() + who.mob_mood?.positive_moodlet_length_modifier -= 0.2 + +/datum/personality/pessimistic/remove_from_mob(mob/living/who) + . = ..() + who.mob_mood?.positive_moodlet_length_modifier += 0.2 + +/datum/personality/whimsical + savefile_key = "whimsical" + name = "Whimsical" + desc = "This station is too serious sometimes, lighten up!" + pos_gameplay_desc = "Likes ostensibly pointless but silly things, and does not mind clownish pranks" + +/datum/personality/snob + savefile_key = "snob" + name = "Snobbish" + desc = "I expect only the best out of this station - anything less is unacceptable!" + neut_gameplay_desc = "Room quality affects your mood" + personality_trait = TRAIT_SNOB diff --git a/code/datums/personality/reaction_to_animals.dm b/code/datums/personality/reaction_to_animals.dm new file mode 100644 index 00000000000..2d3589c50a7 --- /dev/null +++ b/code/datums/personality/reaction_to_animals.dm @@ -0,0 +1,30 @@ +/datum/personality/animal_friend + savefile_key = "animal_friend" + name = "Animal Friend" + desc = "I love animals! They'll never leave my side." + pos_gameplay_desc = "Likes being around pets" + neg_gameplay_desc = "Seeing a pet's death affects your mood more" + groups = list(PERSONALITY_GROUP_ANIMALS) + +/datum/personality/cat_fan + savefile_key = "cat_fan" + name = "Cat Person" + desc = "Cats are so cute!" + pos_gameplay_desc = "Likes being around cats" + neg_gameplay_desc = "Dislikes being around dogs" + groups = list(PERSONALITY_GROUP_ANIMALS) + +/datum/personality/dog_fan + savefile_key = "dog_fan" + name = "Dog Person" + desc = "Dogs are the best!" + pos_gameplay_desc = "Likes being around dogs" + neg_gameplay_desc = "Dislikes being around cats" + groups = list(PERSONALITY_GROUP_ANIMALS) + +/datum/personality/animal_disliker + savefile_key = "animal_disliker" + name = "Animal Averse" + desc = "We can barely survive on this station, and you want to keep a pet?" + neg_gameplay_desc = "Dislikes being around pets" + groups = list(PERSONALITY_GROUP_ANIMALS) diff --git a/code/datums/personality/reaction_to_art.dm b/code/datums/personality/reaction_to_art.dm new file mode 100644 index 00000000000..ed4fb8ecd04 --- /dev/null +++ b/code/datums/personality/reaction_to_art.dm @@ -0,0 +1,13 @@ +/datum/personality/creative + savefile_key = "creative" + name = "Creative" + desc = "I like expressing myself, especially in a chaotic place like this." + pos_gameplay_desc = "Likes making and seeing art or playing music" + groups = list(PERSONALITY_GROUP_ART) + +/datum/personality/unimaginative + savefile_key = "unimaginative" + name = "Unimaginative" + desc = "I'm not good at thinking outside the box. The box is there for a reason." + neg_gameplay_desc = "Ignores art or music and dislikes making new art" + groups = list(PERSONALITY_GROUP_ART) diff --git a/code/datums/personality/reaction_to_fear.dm b/code/datums/personality/reaction_to_fear.dm new file mode 100644 index 00000000000..c9eeed5f8b3 --- /dev/null +++ b/code/datums/personality/reaction_to_fear.dm @@ -0,0 +1,13 @@ +/datum/personality/brave + savefile_key = "brave" + name = "Brave" + desc = "It'll take a lot more than a little blood to scare me." + pos_gameplay_desc = "Accumulate fear slower, and moodlets related to fear are weaker" + groups = list(PERSONALITY_GROUP_GENERAL_FEAR, PERSONALITY_GROUP_PEOPLE_FEAR) + +/datum/personality/cowardly + savefile_key = "cowardly" + name = "Cowardly" + desc = "Everything is a danger around here! Even the air!" + neg_gameplay_desc = "Accumulate fear faster, and moodlets related to fear are stronger" + groups = list(PERSONALITY_GROUP_GENERAL_FEAR) diff --git a/code/datums/personality/reaction_to_food.dm b/code/datums/personality/reaction_to_food.dm new file mode 100644 index 00000000000..aedc30d8268 --- /dev/null +++ b/code/datums/personality/reaction_to_food.dm @@ -0,0 +1,29 @@ +/datum/personality/ascetic + savefile_key = "ascetic" + name = "Ascetic" + desc = "I don't care much for luxurious foods - It's all fuel for the body." + pos_gameplay_desc = "Sorrow from eating disliked food is reduced" + neg_gameplay_desc = "Enjoyment from eating liked food is limited" + groups = list(PERSONALITY_GROUP_FOOD) + +/datum/personality/gourmand + savefile_key = "gourmand" + name = "Gourmand" + desc = "Food means everything to me!" + pos_gameplay_desc = "Enjoyment from eating liked food is strengthened" + neg_gameplay_desc = "Sadness from eating food you dislike is increased, and mediocre food is less enjoyable" + groups = list(PERSONALITY_GROUP_FOOD) + +/datum/personality/teetotal + savefile_key = "teetotal" + name = "Teetotaler" + desc = "Alcohol isn't for me." + neg_gameplay_desc = "Dislikes drinking alcohol" + groups = list(PERSONALITY_GROUP_ALCOHOL) + +/datum/personality/bibulous + savefile_key = "bibulous" + name = "Bibulous" + desc = "I'll always go for another round of drinks!" + pos_gameplay_desc = "Fulfillment from drinking lasts longer, even after you are no longer drunk" + groups = list(PERSONALITY_GROUP_ALCOHOL) diff --git a/code/datums/personality/reaction_to_groups.dm b/code/datums/personality/reaction_to_groups.dm new file mode 100644 index 00000000000..825ce6ca14d --- /dev/null +++ b/code/datums/personality/reaction_to_groups.dm @@ -0,0 +1,56 @@ +/datum/personality/introvert + savefile_key = "introvert" + name = "Introverted" + desc = "I prefer to be alone, reading or painting in the library." + pos_gameplay_desc = "Likes being in the library" + // neg_gameplay_desc = "Dislikes large groups" + personality_trait = TRAIT_INTROVERT + groups = list(PERSONALITY_GROUP_INTERACTION) + +/datum/personality/extrovert + savefile_key = "extrovert" + name = "Extroverted" + desc = "I prefer to be surrounded by people, having a drink at the Bar." + pos_gameplay_desc = "Likes being in the bar" + // neg_gameplay_desc = "Dislikes being alone" + personality_trait = TRAIT_EXTROVERT + groups = list(PERSONALITY_GROUP_INTERACTION, PERSONALITY_GROUP_OTHERS) + +/datum/personality/paranoid + savefile_key = "paranoid" + name = "Paranoid" + desc = "Everyone and everything is out to get me! This place is a deathtrap!" + pos_gameplay_desc = "Likes being alone or in moderately-sized groups" + neg_gameplay_desc = "Stressed when with one other person, or in large groups" + processes = TRUE + groups = list(PERSONALITY_GROUP_PEOPLE_FEAR) + +/datum/personality/paranoid/remove_from_mob(mob/living/who) + . = ..() + who.clear_mood_event("paranoia_personality") + +/datum/personality/paranoid/on_tick(mob/living/subject, seconds_per_tick) + var/list/nearby_people = list() + for(var/mob/living/carbon/human/nearby in view(subject, 5)) + if(nearby == subject || !is_dangerous_mob(subject, nearby)) + continue + nearby_people += nearby + + switch(length(nearby_people)) + if(0) + subject.add_mood_event("paranoia_personality", /datum/mood_event/paranoid/alone) + if(1) + subject.add_mood_event("paranoia_personality", /datum/mood_event/paranoid/one_on_one) + if(2 to 6) // 6 people is roughly the size of the larger jobs like meddoc or secoff + subject.add_mood_event("paranoia_personality", /datum/mood_event/paranoid/small_group) + else + subject.add_mood_event("paranoia_personality", /datum/mood_event/paranoid/large_group) + +/datum/personality/paranoid/proc/is_dangerous_mob(mob/living/subject, mob/living/carbon/human/target) + if(target.stat >= UNCONSCIOUS) + return FALSE + if(target.invisibility > subject.see_invisible || target.alpha < 20) + return FALSE + // things that are threatening: other players + // things that are also threatening: monkeys + return TRUE diff --git a/code/datums/personality/reaction_to_job.dm b/code/datums/personality/reaction_to_job.dm new file mode 100644 index 00000000000..3ebc5f75631 --- /dev/null +++ b/code/datums/personality/reaction_to_job.dm @@ -0,0 +1,45 @@ +/datum/personality/department + groups = list(PERSONALITY_GROUP_DEPARTMENT) + /// List of areas this personality applies to + var/list/applicable_areas + +/datum/personality/department/apply_to_mob(mob/living/who) + . = ..() + RegisterSignals(who, list(COMSIG_MOB_MIND_TRANSFERRED_INTO, COMSIG_MOB_MIND_SET_ROLE), PROC_REF(update_effect)) + // Unfortunate side effect here in that IC job changes, IE HoP are missed + who.apply_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/enjoying_department_area, applicable_areas & who.mind?.get_work_areas()) + +/datum/personality/department/remove_from_mob(mob/living/who) + . = ..() + UnregisterSignal(who, list(COMSIG_MOB_MIND_TRANSFERRED_INTO, COMSIG_MOB_MIND_SET_ROLE)) + who.remove_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/enjoying_department_area) + +/// Signal handler to update our status effect when our job changes +/datum/personality/department/proc/update_effect(mob/living/source, ...) + SIGNAL_HANDLER + + source.remove_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/enjoying_department_area) + source.apply_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/enjoying_department_area, applicable_areas & source.mind.get_work_areas()) + +/datum/personality/department/analytical + savefile_key = "analytical" + name = "Analytical" + desc = "When it comes to making decisions, I tend to be more impersonal." + neut_gameplay_desc = "Prefers working in systemic environments like engineering, research, or medical" + applicable_areas = list( + /datum/job_department/engineering::primary_work_area, + /datum/job_department/science::primary_work_area, + /datum/job_department/medical::primary_work_area, + ) + +/datum/personality/department/impulsive + savefile_key = "impulsive" + name = "Impulsive" + desc = "I'm better making stuff up as I go along." + neut_gameplay_desc = "Prefers working in social environments like cargo, command, security, or service" + applicable_areas = list( + /datum/job_department/cargo::primary_work_area, + /datum/job_department/command::primary_work_area, + /datum/job_department/security::primary_work_area, + /datum/job_department/service::primary_work_area, + ) diff --git a/code/datums/personality/reaction_to_nt.dm b/code/datums/personality/reaction_to_nt.dm new file mode 100644 index 00000000000..b5c2d6fff32 --- /dev/null +++ b/code/datums/personality/reaction_to_nt.dm @@ -0,0 +1,38 @@ +/datum/personality/nt + groups = list(PERSONALITY_GROUP_NT) + processes = TRUE + /// What mood event to apply when seeing NT propaganda + var/mood_event_type + +/datum/personality/nt/proc/can_see_nt_propaganda(mob/living/subject) + for(var/obj/structure/sign/nearby in view(subject, 5)) + if(istype(nearby, /obj/structure/sign/nanotrasen)) + return TRUE + if(istype(nearby, /obj/structure/sign/poster/official/nanotrasen_logo)) + return TRUE + + return FALSE + +/datum/personality/nt/on_tick(mob/living/subject, seconds_per_tick) + if(can_see_nt_propaganda(subject)) + subject.add_mood_event("nt_personality", mood_event_type) + else + subject.clear_mood_event("nt_personality") + +/datum/personality/nt/remove_from_mob(mob/living/who) + . = ..() + who.clear_mood_event("nt_personality") + +/datum/personality/nt/loyalist + savefile_key = "loyalist" + name = "Loyal" + desc = "I believe in the station and in Central Command, till the very end!" + pos_gameplay_desc = "Likes company posters and signs" + mood_event_type = /datum/mood_event/nt_loyalist + +/datum/personality/nt/disillusioned + savefile_key = "disillusioned" + name = "Disillusioned" + desc = "Nanotrasen isn't what it used to be. This isn't what I signed up for." + neg_gameplay_desc = "Dislikes company posters and signs" + mood_event_type = /datum/mood_event/nt_disillusioned diff --git a/code/datums/personality/reaction_to_others.dm b/code/datums/personality/reaction_to_others.dm new file mode 100644 index 00000000000..2f7506f9315 --- /dev/null +++ b/code/datums/personality/reaction_to_others.dm @@ -0,0 +1,66 @@ +/datum/personality/callous + savefile_key = "callous" + name = "Callous" + desc = "I don't care much about what happens to other people." + pos_gameplay_desc = "Does not mind seeing death" + neg_gameplay_desc = "Prefers not to help people" + groups = list(PERSONALITY_GROUP_DEATH) + +/datum/personality/compassionate + savefile_key = "compassionate" + name = "Compassionate" + desc = "I like giving a hand to those in need." + pos_gameplay_desc = "Likes helping people" + neg_gameplay_desc = "Seeing death affects your mood more" + groups = list(PERSONALITY_GROUP_DEATH, PERSONALITY_GROUP_MISANTHROPY) + +/datum/personality/empathetic + savefile_key = "empathetic" + name = "Empathetic" // according to google "empathic" means you understand other people, while "empathetic" means you feel what they feel + desc = "Other people's feelings are important to me." + pos_gameplay_desc = "Likes seeing other people happy" + neg_gameplay_desc = "Dislikes seeing other people sad" + groups = list(PERSONALITY_GROUP_OTHERS) + +/datum/personality/misanthropic + savefile_key = "misanthropic" + name = "Misanthropic" + desc = "We should have never entered the stars." + pos_gameplay_desc = "Likes seeing other people sad" + neg_gameplay_desc = "Dislikes seeing other people happy" + groups = list(PERSONALITY_GROUP_OTHERS, PERSONALITY_GROUP_MISANTHROPY) + +/datum/personality/aloof + savefile_key = "aloof" + name = "Aloof" + desc = "Why is everyone so touchy? I'd rather be left alone." + neg_gameplay_desc = "Dislikes being grabbed, touched, or hugged" + personality_trait = TRAIT_BADTOUCH + +/datum/personality/aloof/apply_to_mob(mob/living/who) + . = ..() + RegisterSignals(who, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HELP_ACT), PROC_REF(uncomfortable_touch)) + +/datum/personality/aloof/remove_from_mob(mob/living/who) + . = ..() + UnregisterSignal(who, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HELP_ACT)) + +/// Causes a negative moodlet to our quirk holder on signal +/datum/personality/aloof/proc/uncomfortable_touch(mob/living/source) + SIGNAL_HANDLER + + if(source.stat == DEAD) + return + + new /obj/effect/temp_visual/annoyed(source.loc) + if(source.mob_mood.sanity <= SANITY_NEUTRAL) + source.add_mood_event("bad_touch", /datum/mood_event/very_bad_touch) + else + source.add_mood_event("bad_touch", /datum/mood_event/bad_touch) + +/datum/personality/aromantic + savefile_key = "aromantic" + name = "Aromantic" + desc = "Romance has no place on the station." + neg_gameplay_desc = "Dislikes kisses and hugs" + personality_trait = TRAIT_BADTOUCH diff --git a/code/datums/personality/reaction_to_recreation.dm b/code/datums/personality/reaction_to_recreation.dm new file mode 100644 index 00000000000..b799dce815f --- /dev/null +++ b/code/datums/personality/reaction_to_recreation.dm @@ -0,0 +1,109 @@ +/datum/personality/gambler + savefile_key = "gambler" + name = "Gambler" + desc = "Throwing the dice is always worth it!" + pos_gameplay_desc = "Likes gambling and card games, and content with losing when gambling" + +/datum/personality/slacking + /// Areas which are considered "slacking off" + var/list/slacker_areas = list( + /area/station/commons/fitness, + /area/station/commons/lounge, + /area/station/service/bar, + /area/station/service/cafeteria, + /area/station/service/library, + /area/station/service/minibar, + /area/station/service/theater, + ) + /// Mood event applied when in a slacking area + var/mood_event_type + +/datum/personality/slacking/apply_to_mob(mob/living/who) + . = ..() + who.apply_status_effect(/datum/status_effect/moodlet_in_area, mood_event_type, slacker_areas, CALLBACK(src, PROC_REF(is_slacking))) + +/datum/personality/slacking/remove_from_mob(mob/living/who) + . = ..() + who.remove_status_effect(/datum/status_effect/moodlet_in_area, mood_event_type) + +/// Callback for the moodlet_in_area status effect to determine if we're slacking off +/datum/personality/slacking/proc/is_slacking(mob/living/who, area/new_area) + if(!istype(new_area, /area/station/service)) + return TRUE + // Service workers don't slack in service + if(who.mind?.assigned_role.departments_bitflags & DEPARTMENT_SERVICE) + return FALSE + + return TRUE + +/datum/personality/slacking/lazy + savefile_key = "lazy" + name = "Lazy" + desc = "I don't really feel like working today." + pos_gameplay_desc = "Happy in the bar or recreation areas" + mood_event_type = /datum/mood_event/slacking_off_lazy + groups = list(PERSONALITY_GROUP_INTERACTION, PERSONALITY_GROUP_WORK, PERSONALITY_GROUP_ATHLETICS) + +/datum/personality/slacking/diligent + savefile_key = "diligent" + name = "Diligent" + desc = "Things need to get done around here!" + pos_gameplay_desc = "Happy when in their department" + neg_gameplay_desc = "Unhappy when slacking off in the bar or recreation areas" + mood_event_type = /datum/mood_event/slacking_off_diligent + groups = list(PERSONALITY_GROUP_INTERACTION) + +/datum/personality/slacking/diligent/apply_to_mob(mob/living/who) + . = ..() + RegisterSignals(who, list(COMSIG_MOB_MIND_TRANSFERRED_INTO, COMSIG_MOB_MIND_SET_ROLE), PROC_REF(update_effect)) + // Unfortunate side effect here in that IC job changes, IE HoP are missed + who.apply_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/working_diligent, who.mind?.get_work_areas()) + +/datum/personality/slacking/diligent/remove_from_mob(mob/living/who) + . = ..() + UnregisterSignal(who, list(COMSIG_MOB_MIND_TRANSFERRED_INTO, COMSIG_MOB_MIND_SET_ROLE)) + who.remove_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/working_diligent) + +/// Signal handler to update our status effect when our job changes +/datum/personality/slacking/diligent/proc/update_effect(mob/living/source, ...) + SIGNAL_HANDLER + + source.remove_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/working_diligent) + source.apply_status_effect(/datum/status_effect/moodlet_in_area, /datum/mood_event/working_diligent, source.mind.get_work_areas()) + +/datum/personality/industrious + savefile_key = "industrious" + name = "Industrious" + desc = "Everyone needs to be working - otherwise we're all wasting our time." + neg_gameplay_desc = "Dislikes playing games" + groups = list(PERSONALITY_GROUP_WORK) + +/datum/personality/athletic + savefile_key = "athletic" + name = "Athletic" + desc = "Can't just sit around all day! Have to keep moving." + pos_gameplay_desc = "Likes exercising" + neg_gameplay_desc = "Dislikes being lazy" + groups = list(PERSONALITY_GROUP_ATHLETICS) + +/datum/personality/erudite + savefile_key = "erudite" + name = "Erudite" + desc = "Knowledge is power. Especially this deep in space." + pos_gameplay_desc = "Likes reading books" + groups = list(PERSONALITY_GROUP_READING) + +/datum/personality/uneducated + savefile_key = "uneducated" + name = "Uneducated" + desc = "I don't care much for books - I already know everything I need to know." + neg_gameplay_desc = "Dislikes reading books" + groups = list(PERSONALITY_GROUP_READING) + +/datum/personality/spiritual + savefile_key = "spiritual" + name = "Spiritual" + desc = "I believe in a higher power." + pos_gameplay_desc = "Likes the Chapel and the Chaplain, and has special prayers" + neg_gameplay_desc = "Dislikes unholy things" + personality_trait = TRAIT_SPIRITUAL diff --git a/code/datums/quirks/_quirk.dm b/code/datums/quirks/_quirk.dm index 01f6578883f..a25aef785cb 100644 --- a/code/datums/quirks/_quirk.dm +++ b/code/datums/quirks/_quirk.dm @@ -80,7 +80,7 @@ CRASH("Attempted to add quirk to a holder when it already has a holder.") quirk_holder = new_holder - quirk_holder.quirks += src + LAZYADD(quirk_holder.quirks, src) // If we weren't passed a client source try to use a present one client_source ||= quirk_holder.client @@ -121,7 +121,7 @@ if(process_update_signals) UnregisterSignal(quirk_holder, process_update_signals) - quirk_holder.quirks -= src + LAZYREMOVE(quirk_holder.quirks, src) if(!quirk_transfer && lose_text) to_chat(quirk_holder, lose_text) @@ -289,7 +289,7 @@ return medical ? dat.Join("
") : dat.Join(", ") /mob/living/proc/cleanse_quirk_datums() //removes all trait datums - QDEL_LIST(quirks) + QDEL_LAZYLIST(quirks) /mob/living/proc/transfer_quirk_datums(mob/living/to_mob) // We could be done before the client was moved or after the client was moved diff --git a/code/datums/quirks/negative_quirks/bad_touch.dm b/code/datums/quirks/negative_quirks/bad_touch.dm deleted file mode 100644 index f3a5d967a01..00000000000 --- a/code/datums/quirks/negative_quirks/bad_touch.dm +++ /dev/null @@ -1,31 +0,0 @@ -/datum/quirk/bad_touch - name = "Bad Touch" - desc = "You don't like hugs. You'd really prefer if people just left you alone." - icon = "tg-bad-touch" - mob_trait = TRAIT_BADTOUCH - value = -1 - gain_text = span_danger("You just want people to leave you alone.") - lose_text = span_notice("You could use a big hug.") - medical_record_text = "Patient has disdain for being touched. Potentially has undiagnosed haphephobia." - quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED - hardcore_value = 1 - mail_goodies = list(/obj/item/reagent_containers/spray/pepper) // show me on the doll where the bad man touched you - -/datum/quirk/bad_touch/add(client/client_source) - RegisterSignals(quirk_holder, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HELP_ACT), PROC_REF(uncomfortable_touch)) - -/datum/quirk/bad_touch/remove() - UnregisterSignal(quirk_holder, list(COMSIG_LIVING_GET_PULLED, COMSIG_CARBON_HELP_ACT)) - -/// Causes a negative moodlet to our quirk holder on signal -/datum/quirk/bad_touch/proc/uncomfortable_touch(datum/source) - SIGNAL_HANDLER - - if(quirk_holder.stat == DEAD) - return - - new /obj/effect/temp_visual/annoyed(quirk_holder.loc) - if(quirk_holder.mob_mood.sanity <= SANITY_NEUTRAL) - quirk_holder.add_mood_event("bad_touch", /datum/mood_event/very_bad_touch) - else - quirk_holder.add_mood_event("bad_touch", /datum/mood_event/bad_touch) diff --git a/code/datums/quirks/negative_quirks/erratic.dm b/code/datums/quirks/negative_quirks/erratic.dm new file mode 100644 index 00000000000..e8b1f6b6384 --- /dev/null +++ b/code/datums/quirks/negative_quirks/erratic.dm @@ -0,0 +1,60 @@ +/datum/quirk/erratic + name = "Erratic" + desc = "You mood swings like a pendulum, causing your personality to change on a whim every so often." + icon = FA_ICON_MASKS_THEATER + value = -3 + gain_text = span_danger("You feel erratic.") // say that again? + lose_text = span_notice("You feel more stable.") + medical_record_text = "Patient has a bipolar personality disorder." + quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED|QUIRK_PROCESSES + hardcore_value = 3 + mail_goodies = list(/obj/item/storage/pill_bottle/psicodine) + /// Cooldown between personality randomizations + COOLDOWN_DECLARE(randomize_cooldown) + /// Personalities before the quirk was applied + VAR_PRIVATE/list/base_personalities + /// Every other randomization, revert to base personality + var/random_index = 0 + +/datum/quirk/erratic/add(client/client_source) + base_personalities = LAZYCOPY(quirk_holder.personalities) + COOLDOWN_START(src, randomize_cooldown, rand(5, 10) MINUTES) + +/datum/quirk/erratic/remove() + replace_personalities(base_personalities) + if(!QDELING(quirk_holder)) + announce_personality_change() + +/datum/quirk/erratic/process(seconds_per_tick) + if(!COOLDOWN_FINISHED(src, randomize_cooldown)) + return + if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS) || quirk_holder.stat >= UNCONSCIOUS) + return + + COOLDOWN_START(src, randomize_cooldown, rand(6, 12) MINUTES) + randomize_personalities() + +/datum/quirk/erratic/proc/randomize_personalities() + random_index += 1 + if(random_index % 2 == 0) + random_index = 0 + replace_personalities(base_personalities) + to_chat(quirk_holder, span_notice("You feel... normal.")) + announce_personality_change() + return + + var/max = CONFIG_GET(number/max_personalities) + var/list/new_personality = prob(1) ? list() : SSpersonalities.select_random_personalities(max - 2, max + 1) + replace_personalities(new_personality) + to_chat(quirk_holder, span_notice("You feel... different.")) + announce_personality_change() + +/datum/quirk/erratic/proc/replace_personalities(list/new_personalities) + quirk_holder.clear_personalities() + quirk_holder.add_personalities(new_personalities) + +/datum/quirk/erratic/proc/announce_personality_change() + var/list/new_personality = list() + for(var/datum/personality/personality_type as anything in quirk_holder.personalities) + new_personality += initial(personality_type.name) + to_chat(quirk_holder, span_green("Your personality is now: [english_list(new_personality)].")) diff --git a/code/datums/quirks/neutral_quirks/extrovert.dm b/code/datums/quirks/neutral_quirks/extrovert.dm deleted file mode 100644 index 5622956ba5b..00000000000 --- a/code/datums/quirks/neutral_quirks/extrovert.dm +++ /dev/null @@ -1,10 +0,0 @@ -/datum/quirk/extrovert - name = "Extrovert" - desc = "You are energized by talking to others, and enjoy spending your free time in the bar." - icon = FA_ICON_USERS - value = 0 - mob_trait = TRAIT_EXTROVERT - gain_text = span_notice("You feel like hanging out with other people.") - lose_text = span_danger("You feel like you're over the bar scene.") - medical_record_text = "Patient will not shut the hell up." - mail_goodies = list(/obj/item/reagent_containers/cup/glass/flask) diff --git a/code/datums/quirks/neutral_quirks/introvert.dm b/code/datums/quirks/neutral_quirks/introvert.dm deleted file mode 100644 index 51f6f3e785e..00000000000 --- a/code/datums/quirks/neutral_quirks/introvert.dm +++ /dev/null @@ -1,10 +0,0 @@ -/datum/quirk/introvert - name = "Introvert" - desc = "You are energized by having time to yourself, and enjoy spending your free time in the library." - icon = FA_ICON_BOOK_READER - value = 0 - mob_trait = TRAIT_INTROVERT - gain_text = span_notice("You feel like reading a good book quietly.") - lose_text = span_danger("You feel like libraries are boring.") - medical_record_text = "Patient doesn't seem to say much." - mail_goodies = list(/obj/item/book/random) diff --git a/code/datums/quirks/neutral_quirks/snob.dm b/code/datums/quirks/neutral_quirks/snob.dm deleted file mode 100644 index fa32cbd5f2a..00000000000 --- a/code/datums/quirks/neutral_quirks/snob.dm +++ /dev/null @@ -1,10 +0,0 @@ -/datum/quirk/snob - name = "Snob" - desc = "You care about the finer things, if a room doesn't look nice it's just not really worth it, is it?" - icon = FA_ICON_USER_TIE - value = 0 - gain_text = span_notice("You feel like you understand what things should look like.") - lose_text = span_notice("Well who cares about deco anyways?") - medical_record_text = "Patient seems to be rather stuck up." - mob_trait = TRAIT_SNOB - mail_goodies = list(/obj/item/chisel, /obj/item/paint_palette) diff --git a/code/datums/quirks/positive_quirks/apathetic.dm b/code/datums/quirks/positive_quirks/apathetic.dm deleted file mode 100644 index 170cb6f5d44..00000000000 --- a/code/datums/quirks/positive_quirks/apathetic.dm +++ /dev/null @@ -1,14 +0,0 @@ -/datum/quirk/apathetic - name = "Apathetic" - desc = "You just don't care as much as other people. That's nice to have in a place like this, I guess." - icon = FA_ICON_MEH - value = 4 - quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED - medical_record_text = "Patient was administered the Apathy Evaluation Scale but did not bother to complete it." - mail_goodies = list(/obj/item/hourglass) - -/datum/quirk/apathetic/add(client/client_source) - quirk_holder.mob_mood?.mood_modifier -= 0.2 - -/datum/quirk/apathetic/remove() - quirk_holder.mob_mood?.mood_modifier += 0.2 diff --git a/code/datums/quirks/positive_quirks/clown_enjoyer.dm b/code/datums/quirks/positive_quirks/clown_enjoyer.dm index 79dd6e0c6bf..cccea9d074e 100644 --- a/code/datums/quirks/positive_quirks/clown_enjoyer.dm +++ b/code/datums/quirks/positive_quirks/clown_enjoyer.dm @@ -25,7 +25,3 @@ /datum/quirk/item_quirk/clown_enjoyer/add_unique(client/client_source) give_item_to_holder(/obj/item/clothing/accessory/clown_enjoyer_pin, list(LOCATION_BACKPACK, LOCATION_HANDS)) - -/datum/quirk/item_quirk/clown_enjoyer/add(client/client_source) - var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] - fan.show_to(quirk_holder) diff --git a/code/datums/quirks/positive_quirks/mime_fan.dm b/code/datums/quirks/positive_quirks/mime_fan.dm index fea99220259..fb971d10579 100644 --- a/code/datums/quirks/positive_quirks/mime_fan.dm +++ b/code/datums/quirks/positive_quirks/mime_fan.dm @@ -23,7 +23,3 @@ /datum/quirk/item_quirk/mime_fan/add_unique(client/client_source) give_item_to_holder(/obj/item/clothing/accessory/mime_fan_pin, list(LOCATION_BACKPACK, LOCATION_HANDS)) - -/datum/quirk/item_quirk/mime_fan/add(client/client_source) - var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] - fan.show_to(quirk_holder) diff --git a/code/datums/quirks/positive_quirks/spiritual.dm b/code/datums/quirks/positive_quirks/spiritual.dm deleted file mode 100644 index 0552a5c3883..00000000000 --- a/code/datums/quirks/positive_quirks/spiritual.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/quirk/item_quirk/spiritual - name = "Spiritual" - desc = "You hold a spiritual belief, whether in God, nature or the arcane rules of the universe. You gain comfort from the presence of holy people, and believe that your prayers are more special than others. Being in the chapel makes you happy." - icon = FA_ICON_BIBLE - value = 2 /// SKYRAT EDIT - Quirk Rebalance - Original: value = 4 - mob_trait = TRAIT_SPIRITUAL - gain_text = span_notice("You have faith in a higher power.") - lose_text = span_danger("You lose faith!") - medical_record_text = "Patient reports a belief in a higher power." - mail_goodies = list( - /obj/item/book/bible/booze, - /obj/item/reagent_containers/cup/glass/bottle/holywater, - /obj/item/bedsheet/chaplain, - /obj/item/toy/cards/deck/tarot, - /obj/item/storage/fancy/candle_box, - ) - -/datum/quirk/item_quirk/spiritual/add_unique(client/client_source) - give_item_to_holder(/obj/item/storage/fancy/candle_box, list(LOCATION_BACKPACK, LOCATION_HANDS)) - give_item_to_holder(/obj/item/storage/box/matches, list(LOCATION_BACKPACK, LOCATION_HANDS)) diff --git a/code/datums/status_effects/_status_effect.dm b/code/datums/status_effects/_status_effect.dm index 17eb45e168f..2b44e8bbaf0 100644 --- a/code/datums/status_effects/_status_effect.dm +++ b/code/datums/status_effects/_status_effect.dm @@ -179,7 +179,7 @@ /// Called before being fully removed (before on_remove) /// Returning FALSE will cancel removal -/datum/status_effect/proc/before_remove() +/datum/status_effect/proc/before_remove(...) return TRUE /// Called when a status effect of status_type STATUS_EFFECT_REFRESH diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 5999b2eea13..65132e02ddb 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -299,16 +299,12 @@ ) //Makes the user passive, it's in their oath not to harm! - owner.add_traits(list(TRAIT_PACIFISM, TRAIT_HIPPOCRATIC_OATH), HIPPOCRATIC_OATH_TRAIT) - var/datum/atom_hud/med_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - med_hud.show_to(owner) + owner.add_traits(list(TRAIT_PACIFISM, TRAIT_HIPPOCRATIC_OATH, TRAIT_MEDICAL_HUD), HIPPOCRATIC_OATH_TRAIT) return ..() /datum/status_effect/hippocratic_oath/on_remove() QDEL_NULL(aura_healing) - owner.remove_traits(list(TRAIT_PACIFISM, TRAIT_HIPPOCRATIC_OATH), HIPPOCRATIC_OATH_TRAIT) - var/datum/atom_hud/med_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - med_hud.hide_from(owner) + owner.remove_traits(list(TRAIT_PACIFISM, TRAIT_HIPPOCRATIC_OATH, TRAIT_MEDICAL_HUD), HIPPOCRATIC_OATH_TRAIT) /datum/status_effect/hippocratic_oath/get_examine_text() return span_notice("[owner.p_They()] seem[owner.p_s()] to have an aura of healing and helpfulness about [owner.p_them()].") diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index e5c52df3233..f6043d0b16e 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -449,7 +449,7 @@ for(var/datum/wound/bleeding_thing as anything in throat.wounds) var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[bleeding_thing.type] - if(pregen_data.wounding_types_valid(list(WOUND_SLASH)) && bleeding_thing.severity > WOUND_SEVERITY_MODERATE && bleeding_thing.blood_flow > 0) + if(pregen_data.wounding_types_valid(WOUND_SLASH) && bleeding_thing.severity > WOUND_SEVERITY_MODERATE && bleeding_thing.blood_flow > 0) still_bleeding = TRUE break if(!still_bleeding) diff --git a/code/datums/status_effects/debuffs/drunk.dm b/code/datums/status_effects/debuffs/drunk.dm index 67c491874d6..62f3e1b002d 100644 --- a/code/datums/status_effects/debuffs/drunk.dm +++ b/code/datums/status_effects/debuffs/drunk.dm @@ -110,6 +110,7 @@ . = ..() owner.sound_environment_override = SOUND_ENVIRONMENT_PSYCHOTIC owner.add_mood_event(id, /datum/mood_event/drunk, drunk_value) + owner.clear_mood_event("[id]_after") RegisterSignal(owner, COMSIG_MOB_FIRED_GUN, PROC_REF(drunk_gun_fired)) /datum/status_effect/inebriated/drunk/on_remove() @@ -124,6 +125,8 @@ /// Clears any side effects we set due to being drunk. /datum/status_effect/inebriated/drunk/proc/clear_effects() owner.clear_mood_event(id) + if(!QDELING(owner) && HAS_PERSONALITY(owner, /datum/personality/bibulous)) + owner.add_mood_event("[id]_after", /datum/mood_event/drunk_after) if(owner.sound_environment_override == SOUND_ENVIRONMENT_PSYCHOTIC) owner.sound_environment_override = SOUND_ENVIRONMENT_NONE diff --git a/code/datums/status_effects/debuffs/spacer.dm b/code/datums/status_effects/debuffs/spacer.dm index ed14fd28596..5b5e18ab137 100644 --- a/code/datums/status_effects/debuffs/spacer.dm +++ b/code/datums/status_effects/debuffs/spacer.dm @@ -88,7 +88,6 @@ icon_state = "paralysis" /datum/mood_event/spacer - category = "spacer" /datum/mood_event/spacer/in_space description = "Space is long and dark and empty, but it's my home." diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index b07ab1339ab..162ccb6770e 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -801,3 +801,53 @@ id = "divine_spotlight" #undef BEAM_ALPHA + +/datum/status_effect/moodlet_in_area + id = "moodlet_in_area" + duration = STATUS_EFFECT_PERMANENT + tick_interval = STATUS_EFFECT_NO_TICK + status_type = STATUS_EFFECT_MULTIPLE + alert_type = null + /// Moodlet to apply while in the area + VAR_PRIVATE/moodlet_type + /// Typecache of areas that will trigger the moodlet while in them + VAR_PRIVATE/list/allowed_areas + /// Optional callback to run when checking if the moodlet should be applied. Should return TRUE to apply, FALSE to not. + VAR_PRIVATE/datum/callback/special_check + +/datum/status_effect/moodlet_in_area/on_creation(mob/living/new_owner, moodlet_type, list/allowed_areas, datum/callback/special_check) + src.moodlet_type = moodlet_type + src.allowed_areas = typecacheof(allowed_areas) + src.special_check = special_check + return ..() + +/datum/status_effect/moodlet_in_area/before_remove(moodlet_type, ...) + return moodlet_type == src.moodlet_type + +/datum/status_effect/moodlet_in_area/on_apply() + if(!length(allowed_areas)) + return FALSE + + for(var/datum/status_effect/moodlet_in_area/other_effect in owner.status_effects) + if(other_effect.moodlet_type == moodlet_type) + return FALSE + + owner.become_area_sensitive("[id]_[moodlet_type]") + RegisterSignal(owner, COMSIG_ENTER_AREA, PROC_REF(check_area)) + return TRUE + +/datum/status_effect/moodlet_in_area/on_remove() + UnregisterSignal(owner, COMSIG_ENTER_AREA) + owner.lose_area_sensitivity("[id]_[moodlet_type]") + owner.clear_mood_event("[id]_[moodlet_type]") + +/datum/status_effect/moodlet_in_area/proc/check_area(datum/source, area/new_area) + SIGNAL_HANDLER + + if(special_check && !special_check.Invoke(owner, new_area)) + return + + if(is_type_in_typecache(new_area, allowed_areas)) + owner.add_mood_event("[id]_[moodlet_type]", moodlet_type) + else + owner.clear_mood_event("[id]_[moodlet_type]") diff --git a/code/datums/storage/storage.dm b/code/datums/storage/storage.dm index d9642d3f599..7f66a86eae6 100644 --- a/code/datums/storage/storage.dm +++ b/code/datums/storage/storage.dm @@ -701,9 +701,11 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) SIGNAL_HANDLER for(var/mob/user as anything in is_using) - if(user.client) - var/client/cuser = user.client - cuser.screen -= gone + user.hud_used?.open_containers -= gone + if(!user.client) + continue + var/client/cuser = user.client + cuser.screen -= gone reset_item(gone) refresh_views() @@ -1059,7 +1061,9 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) is_using |= to_show + to_show.hud_used.open_containers |= storage_interfaces[to_show].list_ui_elements() to_show.client.screen |= storage_interfaces[to_show].list_ui_elements() + to_show.hud_used.open_containers |= real_location.contents to_show.client.screen |= real_location.contents return TRUE @@ -1086,6 +1090,9 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) if(to_hide.client) to_hide.client.screen -= storage_interfaces[to_hide].list_ui_elements() to_hide.client.screen -= real_location.contents + if(to_hide.hud_used) + to_hide.hud_used.open_containers -= storage_interfaces[to_hide].list_ui_elements() + to_hide.hud_used.open_containers -= real_location.contents QDEL_NULL(storage_interfaces[to_hide]) storage_interfaces -= to_hide diff --git a/code/datums/storage/subtypes/bags.dm b/code/datums/storage/subtypes/bags.dm index ee1cb49360a..5af96e69ec9 100644 --- a/code/datums/storage/subtypes/bags.dm +++ b/code/datums/storage/subtypes/bags.dm @@ -302,17 +302,25 @@ ///Money bag /datum/storage/bag/money - max_slots = 40 - max_specific_storage = 40 + max_specific_storage = WEIGHT_CLASS_BULKY + max_total_storage = 1000 + max_slots = 1000 /datum/storage/bag/money/New(atom/parent, max_slots, max_specific_storage, max_total_storage, rustle_sound, remove_rustle_sound) . = ..() set_holdable(list( /obj/item/coin, /obj/item/stack/spacecash, - /obj/item/holochip + /obj/item/holochip, + /obj/item/poker_chip, + /obj/item/stack/sheet/mineral/diamond, // Precious gems and stones are something a sophisticated french thief might put in his thief bag. + /obj/item/stack/sheet/mineral/gold, // This is money, the only real money actually, if you ask a Ron Paul-style guy. + /obj/item/stack/sheet/mineral/silver, + /obj/item/stack/sheet/mineral/mythril, + /obj/item/stack/telecrystal, )) + ///Fishing bag /datum/storage/bag/fishing max_total_storage = 24 // Up to 8 normal fish diff --git a/code/datums/storage/subtypes/others/misc.dm b/code/datums/storage/subtypes/others/misc.dm index 90c5a508a7e..df8393af08e 100644 --- a/code/datums/storage/subtypes/others/misc.dm +++ b/code/datums/storage/subtypes/others/misc.dm @@ -211,6 +211,7 @@ /obj/item/stack/medical, /obj/item/stamp, /obj/item/toy/crayon, + /obj/item/poker_chip, // SKYRAT EDIT BEGIN /obj/item/condom_pack, /obj/item/gbp_punchcard, diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm index 4a328aeadd8..ea99713f6f0 100644 --- a/code/datums/weather/weather_types/radiation_storm.dm +++ b/code/datums/weather/weather_types/radiation_storm.dm @@ -74,19 +74,10 @@ mutant.domutcheck() /datum/weather/rad_storm/proc/status_alarm(active) //Makes the status displays show the radiation warning for those who missed the announcement. - var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS) - if(!frequency) - return - - var/datum/signal/signal = new if (active) - signal.data["command"] = "alert" - signal.data["picture_state"] = "radiation" + send_status_display_radiation_alert() else - signal.data["command"] = "shuttle" - - var/atom/movable/virtualspeaker/virtual_speaker = new(null) - frequency.post_signal(virtual_speaker, signal) + clear_status_display_radiation() /// Used by the radioactive nebula when the station doesnt have enough shielding /datum/weather/rad_storm/nebula diff --git a/code/datums/wounds/_wound_static_data.dm b/code/datums/wounds/_wound_static_data.dm index cd8d2a78caf..f0da2a82288 100644 --- a/code/datums/wounds/_wound_static_data.dm +++ b/code/datums/wounds/_wound_static_data.dm @@ -26,10 +26,9 @@ /// A list of bodyzones we are applicable to. var/list/viable_zones = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) - /// The types of attack that can generate this wound. E.g. WOUND_SLASH = A sharp attack can cause this, WOUND_BLUNT = an attack with no sharpness/an attack with sharpness against a limb with mangled exterior can cause this. - var/list/required_wounding_types - /// If true, this wound can only be generated by all [required_wounding_types] at once, not just any. - var/match_all_wounding_types = FALSE + /// The type of attack that can generate this wound. + /// E.g. WOUND_SLASH = A sharp attack can cause this, WOUND_BLUNT = an attack with no sharpness/an attack with sharpness against a limb with mangled exterior can cause this. + var/required_wounding_type /// The weight that will be used if, by the end of wound selection, there are multiple valid wounds. This will be inserted into pick_weight, so use integers. var/weight = WOUND_DEFAULT_WEIGHT @@ -40,12 +39,10 @@ /// The series of wounds this is in. See wounds.dm (the defines file) for a more detailed explanation - but tldr is that no 2 wounds of the same series can be on a limb. var/wound_series - /// If true, we will attempt to, during a random wound roll, overpower and remove other wound typepaths from the possible wounds list using [competition_mode] and [overpower_wounds_of_even_severity]. + /// If true, we will attempt to, during a random wound roll, overpower and remove other wound typepaths from the possible wounds list using competition_mode. var/compete_for_wounding = TRUE /// The competition mode with which we will remove other wounds from a possible wound roll assuming [compete_for_wounding] is TRUE. See wounds.dm, the defines file, for more information on what these do. var/competition_mode = WOUND_COMPETITION_OVERPOWER_LESSERS - /// If this and [compete_for_wounding] is true, we will remove wounds of an even severity to us during a random wound roll. - var/overpower_wounds_of_even_severity = FALSE /// A list of BIO_ defines that will be iterated over in order to determine the scar file our wound will generate. /// Use generate_scar_priorities to create a custom list. @@ -77,7 +74,7 @@ /** * Args: * * obj/item/bodypart/limb: The limb we are considering. - * * list/suggested_wounding_types: The wounding types to be checked against the wounding types we require. Defaults to required_wounding_types. + * * suggested_wounding_typs: The wounding type to be checked against the wounding type we require. Defaults to required_wounding_type. * * datum/wound/old_wound: If we would replace a wound, this would be said wound. Nullable. * * random_roll = FALSE: If this is in the context of a random wound generation, and this wound wasn't specifically checked. * @@ -86,19 +83,16 @@ * if we have a biotype mismatch, if the limb isn't in a viable zone, or if there's 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, suggested_wounding_type = required_wounding_type, 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) + if (!istype(limb)) return FALSE if (random_roll && !can_be_randomly_generated) return FALSE - if (HAS_TRAIT(limb.owner, TRAIT_NEVER_WOUNDED) || HAS_TRAIT(limb.owner, TRAIT_GODMODE)) - return FALSE - - if (!wounding_types_valid(suggested_wounding_types)) + if (!wounding_types_valid(suggested_wounding_type)) return FALSE if (care_about_existing_wounds) @@ -151,22 +145,11 @@ /datum/wound_pregen_data/proc/get_weight(obj/item/bodypart/limb, woundtype, damage, attack_direction, damage_source) return weight -/// Returns TRUE if we use WOUND_ALL, or we require all types and have all/if we require any and have any, FALSE otherwise. -/datum/wound_pregen_data/proc/wounding_types_valid(list/suggested_wounding_types) - if (WOUND_ALL in required_wounding_types) +/// Returns TRUE if we use WOUND_ALL or our wounding type +/datum/wound_pregen_data/proc/wounding_types_valid(suggested_wounding_type) + if (required_wounding_type == WOUND_ALL) return TRUE - if (!length(suggested_wounding_types)) - return FALSE - - for (var/iter_wounding_type in suggested_wounding_types) - if (!(iter_wounding_type in required_wounding_types)) - if (match_all_wounding_types) - return FALSE - else - if (!match_all_wounding_types) - return TRUE - - return match_all_wounding_types // if we get here, we've matched everything + return suggested_wounding_type == required_wounding_type /** * A simple getter for [threshold_minimum], with arguments supplied to allow custom behavior. diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index 7d95576103a..b1f5bdf191a 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -177,16 +177,15 @@ * * * Arguments: - * * L: The bodypart we're wounding, we don't care about the person, we can get them through the limb + * * limb: The bodypart we're wounding, we don't care about the person, we can get them through the limb * * silent: Not actually necessary I don't think, was originally used for demoting wounds so they wouldn't make new messages, but I believe old_wound took over that, I may remove this shortly * * old_wound: If our new wound is a replacement for one of the same time (promotion or demotion), we can reference the old one just before it's removed to copy over necessary vars * * smited- If this is a smite, we don't care about this wound for stat tracking purposes (not yet implemented) * * attack_direction: For bloodsplatters, if relevant * * wound_source: The source of the wound, such as a weapon. */ -/datum/wound/proc/apply_wound(obj/item/bodypart/L, silent = FALSE, datum/wound/old_wound = null, smited = FALSE, attack_direction = null, wound_source = "Unknown", replacing = FALSE) - - if (!can_be_applied_to(L, old_wound)) +/datum/wound/proc/apply_wound(obj/item/bodypart/limb, silent = FALSE, datum/wound/old_wound = null, smited = FALSE, attack_direction = null, wound_source = "Unknown", replacing = FALSE) + if (!limb.is_woundable() || !can_be_applied_to(limb, old_wound)) qdel(src) return FALSE @@ -198,8 +197,8 @@ else src.wound_source = "Unknown" - set_victim(L.owner) - set_limb(L, replacing) + set_victim(limb.owner) + set_limb(limb, replacing) LAZYADD(victim.all_wounds, src) LAZYADD(limb.wounds, src) update_descriptions() @@ -226,7 +225,7 @@ victim.visible_message(msg, span_userdanger("Your [limb.plaintext_zone] [occur_text]!"), vision_distance = vis_dist) if(sound_effect) - playsound(L.owner, sound_effect, sound_volume + (20 * severity), TRUE, falloff_exponent = SOUND_FALLOFF_EXPONENT + 2, ignore_walls = FALSE, falloff_distance = 0) + playsound(limb.owner, sound_effect, sound_volume + (20 * severity), TRUE, falloff_exponent = SOUND_FALLOFF_EXPONENT + 2, ignore_walls = FALSE, falloff_distance = 0) wound_injury(old_wound, attack_direction = attack_direction) if(!demoted) @@ -235,13 +234,13 @@ return TRUE /// Returns TRUE if we can be applied to the limb. -/datum/wound/proc/can_be_applied_to(obj/item/bodypart/L, datum/wound/old_wound) +/datum/wound/proc/can_be_applied_to(obj/item/bodypart/limb, datum/wound/old_wound) var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[type] // We assume we aren't being randomly applied - we have no reason to believe we are // And, besides, if we were, you could just as easily check our pregen data rather than run this proc // Generally speaking this proc is called in apply_wound, which is called when the caller is already confidant in its ability to be applied - return pregen_data.can_be_applied_to(L, old_wound = old_wound) + return pregen_data.can_be_applied_to(limb, old_wound = old_wound) /// Returns the zones we can be applied to. /datum/wound/proc/get_viable_zones() @@ -590,7 +589,7 @@ * Returns BLOOD_FLOW_STEADY if we're not bleeding or there's no change (like piercing), BLOOD_FLOW_DECREASING if we're clotting (non-critical slashes, gauzed, coagulant, etc), BLOOD_FLOW_INCREASING if we're opening up (crit slashes/heparin/nitrous oxide) */ /datum/wound/proc/get_bleed_rate_of_change() - if(blood_flow && HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) + if(blood_flow && HAS_TRAIT(victim, TRAIT_BLOOD_FOUNTAIN)) return BLOOD_FLOW_INCREASING return BLOOD_FLOW_STEADY @@ -743,7 +742,7 @@ var/datum/wound_pregen_data/pregen_data = get_pregen_data() - if ((WOUND_BLUNT in pregen_data.required_wounding_types) && severity >= WOUND_SEVERITY_CRITICAL) + if (pregen_data.required_wounding_type == WOUND_BLUNT && severity >= WOUND_SEVERITY_CRITICAL) return WOUND_CRITICAL_BLUNT_DISMEMBER_BONUS // we only require mangled bone (T2 blunt), but if there's a critical blunt, we'll add 15% more /// Returns our pregen data, which is practically guaranteed to exist, so this proc can safely be used raw. diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm index 302111bbd6f..4f3e16416de 100644 --- a/code/datums/wounds/bones.dm +++ b/code/datums/wounds/bones.dm @@ -7,7 +7,7 @@ abstract = TRUE required_limb_biostate = BIO_BONE - required_wounding_types = list(WOUND_BLUNT) + required_wounding_type = WOUND_BLUNT wound_series = WOUND_SERIES_BONE_BLUNT_BASIC diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index 9f3f4eac14e..3bcbfae6b4b 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -275,7 +275,7 @@ /datum/wound_pregen_data/flesh_burn abstract = TRUE - required_wounding_types = list(WOUND_BURN) + required_wounding_type = WOUND_BURN required_limb_biostate = BIO_FLESH wound_series = WOUND_SERIES_FLESH_BURN_BASIC diff --git a/code/datums/wounds/cranial_fissure.dm b/code/datums/wounds/cranial_fissure.dm index 6cda116df21..19aff387734 100644 --- a/code/datums/wounds/cranial_fissure.dm +++ b/code/datums/wounds/cranial_fissure.dm @@ -2,7 +2,7 @@ wound_path_to_generate = /datum/wound/cranial_fissure required_limb_biostate = BIO_BONE - required_wounding_types = list(WOUND_ALL) + required_wounding_type = WOUND_ALL wound_series = WOUND_SERIES_CRANIAL_FISSURE diff --git a/code/datums/wounds/loss.dm b/code/datums/wounds/loss.dm index 4fb5cad387f..779c181474c 100644 --- a/code/datums/wounds/loss.dm +++ b/code/datums/wounds/loss.dm @@ -5,7 +5,7 @@ required_limb_biostate = NONE require_any_biostate = TRUE - required_wounding_types = list(WOUND_ALL) + required_wounding_type = WOUND_ALL wound_series = WOUND_SERIES_LOSS_BASIC diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm index da4afc55fca..5de72aa17ba 100644 --- a/code/datums/wounds/pierce.dm +++ b/code/datums/wounds/pierce.dm @@ -88,7 +88,7 @@ //basically if a species doesn't bleed, the wound is stagnant and will not heal on its own (nor get worse) if(!limb.can_bleed()) return BLOOD_FLOW_STEADY - if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) + if(HAS_TRAIT(victim, TRAIT_BLOOD_FOUNTAIN)) return BLOOD_FLOW_INCREASING if(limb.current_gauze || clot_rate > 0) return BLOOD_FLOW_DECREASING @@ -109,7 +109,7 @@ if(SPT_PROB(2.5, seconds_per_tick)) to_chat(victim, span_notice("You feel the [LOWER_TEXT(undiagnosed_name || name)] in your [limb.plaintext_zone] firming up from the cold!")) - if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) + if(HAS_TRAIT(victim, TRAIT_BLOOD_FOUNTAIN)) 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 //gauze always reduces blood flow, even for non bleeders @@ -186,7 +186,7 @@ abstract = TRUE required_limb_biostate = (BIO_FLESH) - required_wounding_types = list(WOUND_PIERCE) + required_wounding_type = WOUND_PIERCE wound_series = WOUND_SERIES_FLESH_PUNCTURE_BLEED diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index b4ce894f1ac..536660da939 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -25,7 +25,7 @@ /datum/wound_pregen_data/flesh_slash abstract = TRUE - required_wounding_types = list(WOUND_SLASH) + required_wounding_type = WOUND_SLASH required_limb_biostate = BIO_FLESH wound_series = WOUND_SERIES_FLESH_SLASH_BLEED @@ -138,7 +138,7 @@ //basically if a species doesn't bleed, the wound is stagnant and will not heal on its own (nor get worse) if(!limb.can_bleed()) return BLOOD_FLOW_STEADY - if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) + if(HAS_TRAIT(victim, TRAIT_BLOOD_FOUNTAIN)) return BLOOD_FLOW_INCREASING if(limb.current_gauze || clot_rate > 0) return BLOOD_FLOW_DECREASING @@ -156,7 +156,7 @@ if(QDELETED(src)) return - if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) + if(HAS_TRAIT(victim, TRAIT_BLOOD_FOUNTAIN)) adjust_blood_flow(0.25) // 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 if(limb.current_gauze) diff --git a/code/game/area/areas/station/service.dm b/code/game/area/areas/station/service.dm index f315a055f2e..23fe166616d 100644 --- a/code/game/area/areas/station/service.dm +++ b/code/game/area/areas/station/service.dm @@ -112,7 +112,7 @@ /area/station/service/chapel name = "\improper Chapel" icon_state = "chapel" - mood_bonus = 5 + mood_bonus = 4 mood_message = "Being in the chapel brings me peace." mood_trait = TRAIT_SPIRITUAL ambience_index = AMBIENCE_HOLY diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm index 09fed52b1f5..86439f89225 100644 --- a/code/game/atom/_atom.dm +++ b/code/game/atom/_atom.dm @@ -394,11 +394,11 @@ return is_refillable() && is_drainable() /// Is this atom injectable into other atoms -/atom/proc/is_injectable(mob/user, allowmobs = TRUE) +/atom/proc/is_injectable() return reagents && (reagents.flags & (INJECTABLE | REFILLABLE)) /// Can we draw from this atom with an injectable atom -/atom/proc/is_drawable(mob/user, allowmobs = TRUE) +/atom/proc/is_drawable() return reagents && (reagents.flags & (DRAWABLE | DRAINABLE)) /// Can this atoms reagents be refilled diff --git a/code/game/atom/atom_examine.dm b/code/game/atom/atom_examine.dm index 6b1a6725667..7b6260758d0 100644 --- a/code/game/atom/atom_examine.dm +++ b/code/game/atom/atom_examine.dm @@ -19,14 +19,17 @@ . += "[desc]" var/list/tags_list = examine_tags(user) + var/list/post_descriptor = examine_post_descriptor(user) + var/post_desc_string = length(post_descriptor) ? " [jointext(post_descriptor, " ")]" : "" if (length(tags_list)) var/tag_string = list() for (var/atom_tag in tags_list) tag_string += (isnull(tags_list[atom_tag]) ? atom_tag : span_tooltip(tags_list[atom_tag], atom_tag)) // some regex to ensure that we don't add another "and" if the final element's main text (not tooltip) has one tag_string = english_list(tag_string, and_text = (findtext(tag_string[length(tag_string)], regex(@">.*?and .*?<"))) ? " " : " and ") - var/post_descriptor = examine_post_descriptor(user) - . += "[p_They()] [p_are()] a [tag_string] [examine_descriptor(user)][length(post_descriptor) ? " [jointext(post_descriptor, " ")]" : ""]." + . += "[p_They()] [p_are()] a [tag_string] [examine_descriptor(user)][post_desc_string]." + else if(post_desc_string) + . += "[p_They()] [p_are()] a [examine_descriptor(user)][post_desc_string]." if(reagents) var/user_sees_reagents = user.can_see_reagents() @@ -77,6 +80,27 @@ if(abstract_type == type) .[span_hypnophrase("abstract")] = "This is an abstract concept, you should report this to a strange entity called GITHUB!" + if(resistance_flags & INDESTRUCTIBLE) + .["indestructible"] = "It is extremely robust! It'll probably withstand anything that could happen to it!" + else + if(resistance_flags & LAVA_PROOF) + .["lava-proof"] = "It is made of an extremely heat-resistant material, it'd probably be able to withstand lava!" + if(resistance_flags & (ACID_PROOF | UNACIDABLE)) + .["acid-proof"] = "It looks pretty robust! It'd probably be able to withstand acid!" + if(resistance_flags & FREEZE_PROOF) + .["freeze-proof"] = "It is made of cold-resistant materials." + if(resistance_flags & FIRE_PROOF) + .["fire-proof"] = "It is made of fire-retardant materials." + if(resistance_flags & SHUTTLE_CRUSH_PROOF) + .["crush-proof"] = "It is extremely solid. It should be able to withstand being run over by a shuttle!" + if(resistance_flags & BOMB_PROOF) + .["bomb-proof"] = "It looks like it could survive an explosion!" + if(resistance_flags & FLAMMABLE) + .["flammable"] = "It looks like it could easily catch on fire." + + if(flags_1 & HOLOGRAM_1) + .["holographic"] = "It looks like a hologram." + SEND_SIGNAL(src, COMSIG_ATOM_EXAMINE_TAGS, user, .) /// What this atom should be called in examine tags diff --git a/code/game/atom/atom_materials.dm b/code/game/atom/atom_materials.dm index 542930919ce..a5ce12853ac 100644 --- a/code/game/atom/atom_materials.dm +++ b/code/game/atom/atom_materials.dm @@ -378,16 +378,7 @@ var/list/cached_materials = custom_materials if(!length(cached_materials)) return null - - var/most_common_material = null - var/max_amount = 0 - for(var/material in cached_materials) - if(cached_materials[material] > max_amount) - most_common_material = material - max_amount = cached_materials[material] - - if(most_common_material) - return GET_MATERIAL_REF(most_common_material) + return GET_MATERIAL_REF(cached_materials[1]) //materials are sorted by amount, the first is always the main one /** * Gets the total amount of materials in this atom. diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 96bcafda288..3e1ee963122 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -20,36 +20,23 @@ /datum/atom_hud/data/human/medical hud_icons = list(STATUS_HUD, HEALTH_HUD, DNR_HUD, NANITE_HUD) // BUBBER EDIT ADDITION - DNR-HUD / NANITE_HUD +/// Sees health (0-100) status (alive, dead), but relies on suit sensors being on /datum/atom_hud/data/human/medical/basic -/datum/atom_hud/data/human/medical/basic/proc/check_sensors(mob/living/carbon/human/human) - if(!istype(human)) - return FALSE - if(HAS_TRAIT(human, HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT)) - return TRUE - var/obj/item/clothing/under/undersuit = human.w_uniform - if(!istype(undersuit)) - return FALSE - if(undersuit.has_sensor < HAS_SENSORS) - return FALSE - if(undersuit.sensor_mode <= SENSOR_VITALS) - return FALSE - return TRUE - -/datum/atom_hud/data/human/medical/basic/add_atom_to_single_mob_hud(mob/M, mob/living/carbon/H) - if(check_sensors(H)) - ..() - -/datum/atom_hud/data/human/medical/basic/proc/update_suit_sensors(mob/living/carbon/H) - check_sensors(H) ? add_atom_to_hud(H) : remove_atom_from_hud(H) +/datum/atom_hud/data/human/medical/basic/add_atom_to_single_mob_hud(mob/requesting_mob, atom/hud_atom) + if(HAS_TRAIT(hud_atom, TRAIT_BASIC_HEALTH_HUD_VISIBLE)) + return ..() +/// Sees health (0-100) status (alive, dead), always /datum/atom_hud/data/human/medical/advanced /datum/atom_hud/data/human/security +/// Only sees ID card job /datum/atom_hud/data/human/security/basic hud_icons = list(ID_HUD) +/// Sees ID card job, implants, and wanted status /datum/atom_hud/data/human/security/advanced hud_icons = list(ID_HUD, IMPSEC_FIRST_HUD, IMPLOYAL_HUD, IMPSEC_SECOND_HUD, WANTED_HUD, PERMIT_HUD, DNR_HUD, NANITE_HUD) // BUBBER EDIT ADDITION - DNR-HUD / NANITE_HUD @@ -166,11 +153,6 @@ Medical HUD! Basic mode needs suit sensors on. //HOOKS -//called when a human changes suit sensors -/mob/living/carbon/proc/update_suit_sensors() - var/datum/atom_hud/data/human/medical/basic/B = GLOB.huds[DATA_HUD_MEDICAL_BASIC] - B.update_suit_sensors(src) - //called when a living mob changes health /mob/living/proc/med_hud_set_health() set_hud_image_state(HEALTH_HUD, "hud[RoundHealth(src)]") diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 74597101194..e39e2e4fed6 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -29,10 +29,10 @@ GLOBAL_LIST_EMPTY(announcement_systems) var/errorlight = "Error_Red" /obj/machinery/announcement_system/Initialize(mapload) - . = ..() - GLOB.announcement_systems += src - radio = new radio_type(src) config_entries = init_subtypes(/datum/aas_config_entry, list()) + . = ..() + radio = new radio_type(src) + GLOB.announcement_systems += src update_appearance() /obj/machinery/announcement_system/randomize_language_if_on_station() @@ -168,13 +168,14 @@ GLOBAL_LIST_EMPTY(announcement_systems) /obj/machinery/announcement_system/proc/has_supported_channels(list/channels) if (!LAZYLEN(channels) || (RADIO_CHANNEL_COMMON in channels)) // Okay, I am not proud of this, but I don't want CentCom or Syndie AASs to broadcast on Common. - return src.type == /obj/machinery/announcement_system + // Because our overrides can just change radio withour creating new subtype we prefer to check both. + return src.type == /obj/machinery/announcement_system && src.radio_type == /obj/machinery/announcement_system::radio_type for(var/channel in channels) if(radio.channels[channel]) return TRUE return FALSE -/// Can AAS receive request for broadcast from you? +/// Can AAS receive request for broadcast from you? Null source means yes. /obj/machinery/announcement_system/proc/can_be_reached_from(atom/source) if(!source || !istype(source)) return TRUE @@ -182,6 +183,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) if (!source_turf) return TRUE // Keep updated with broadcasting.dm (/datum/signal/subspace/vocal/New) + // FFF (For Future Feature): think about adding radio relay support. Maybe implementing /datum/signal/subspace/aas_event or something similar. return z in SSmapping.get_connected_levels(source_turf) /// Compiles the announcement message with the provided variables. Announcement line is optional. @@ -205,13 +207,13 @@ GLOBAL_LIST_EMPTY(announcement_systems) for(var/channel in channels) radio.talk_into(src, message, channel, command_span ? list(speech_span, SPAN_COMMAND) : null) -/// Announces configs entry message with the provided variables. Channels and announcement_line are optional. +/// Announces configs entry message with the provided variables. Channels, announcement_line and command_span are optional. /obj/machinery/announcement_system/proc/announce(aas_config_entry_type, list/variables_map, list/channels, announcement_line, command_span) var/msg = compile_config_message(aas_config_entry_type, variables_map, announcement_line, TRUE) if (msg) broadcast(msg, channels, command_span) -/// Returns a random announcement system that is operational, has the specified config entry, signal can reach source and radio supports any channel in list. Config entry, source and channels are optional. +/// Returns a random announcement system that is operational, has the specified config entry, signal can reach source and radio supports any channel in list. All args are optional. /proc/get_announcement_system(aas_config_entry_type, source, list/channels) if (!GLOB.announcement_systems.len) return null @@ -225,7 +227,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) intact_aass += announce return intact_aass.len ? pick(intact_aass) : null -/// Announces the provided message with the provided variables and config entry type. Channels, announcement_line, command_span and source are optional. +/// Announces the provided message with the provided variables and config entry type. Only aas_config_entry_type and variables_map are mandatory. Other args are optional. /proc/aas_config_announce(aas_config_entry_type, list/variables_map, source, list/channels, announcement_line, command_span) var/obj/machinery/announcement_system/announcer = get_announcement_system(aas_config_entry_type, source, channels) if (!announcer) @@ -245,7 +247,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) // Can be changed or disabled by players var/modifiable = TRUE -/// Compiles the announcement message with the provided variables. Announcement line is optional. +/// Compiles the announcement message with the provided variables. Announcement line is optional, may be both index or line key. /datum/aas_config_entry/proc/compile_announce(list/variables_map, announcement_line) var/announcement_message = LAZYACCESS(announcement_lines_map, announcement_line) // If index was provided LAZYACCESS will return us a key, not value @@ -273,7 +275,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) */ /datum/aas_config_entry/arrival - name = "Arrival Announcement" + name = "Global: Arrival Announcement" announcement_lines_map = list( "Message" = "%PERSON has signed up as %RANK") vars_and_tooltips_map = list( @@ -291,7 +293,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) "ERR)#: DA#AB@#E NOT F(*ND!") /datum/aas_config_entry/newhead - name = "Departmental Head Announcement" + name = "Departmental: Head Announcement" announcement_lines_map = list( "Message" = "%PERSON, %RANK, is the department head.") vars_and_tooltips_map = list( @@ -309,7 +311,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) "AAS.exe is not responding. NanoOS is searching for a solution to the problem.") /datum/aas_config_entry/researched_node - name = "Research Node Announcement" + name = "Science Alert: Research Node Announcement" announcement_lines_map = list( "Message" = "The %NODE techweb node has been researched") vars_and_tooltips_map = list( @@ -328,7 +330,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) "ERR)#R - B*@ TEXT F*O(ND!") /datum/aas_config_entry/arrivals_broken - name = "Arrivals Shuttle Malfunction Announcement" + name = "Engineering Alert: Arrivals Shuttle Malfunction Announcement" announcement_lines_map = list( "Message" = "The arrivals shuttle has been damaged. Docking for repairs...") general_tooltip = "Broadcasted, when arrivals shuttle docks for repairs. No replacable variables provided." diff --git a/code/game/machinery/bank_machine.dm b/code/game/machinery/bank_machine.dm index de874b70003..c6ff98ec371 100644 --- a/code/game/machinery/bank_machine.dm +++ b/code/game/machinery/bank_machine.dm @@ -54,6 +54,9 @@ else if(istype(weapon, /obj/item/coin)) var/obj/item/coin/inserted_coin = weapon value = inserted_coin.value + else if(istype(weapon, /obj/item/poker_chip)) + var/obj/item/poker_chip/inserted_chip = weapon + value = inserted_chip.get_item_credit_value() if(value) if(synced_bank_account) synced_bank_account.adjust_money(value) diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index a8e20505387..89af3fc1192 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -149,15 +149,15 @@ /obj/machinery/camera/proc/upgradeEmpProof(malf_upgrade, ignore_malf_upgrades) if(isEmpProof(ignore_malf_upgrades)) //pass a malf upgrade to ignore_malf_upgrades so we can replace the malf module with the normal one return //that way if someone tries to upgrade an already malf-upgraded camera, it'll just upgrade it to a normal version. - AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) if(malf_upgrade) malf_emp_firmware_active = TRUE //don't add parts to drop, update icon, ect. reconstructing it will also retain the upgrade. malf_emp_firmware_present = TRUE //so the upgrade is retained after incompatible parts are removed. + AddElement(/datum/element/empprotection, EMP_PROTECT_ALL|EMP_NO_EXAMINE) else if(!emp_module) //only happens via upgrading in camera/attackby() emp_module = new(src) - if(malf_emp_firmware_active) - malf_emp_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. + malf_emp_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. + AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) camera_upgrade_bitflags |= CAMERA_UPGRADE_EMP_PROOF @@ -165,6 +165,7 @@ if(ignore_malf_upgrades) //don't downgrade it if malf software is forced onto it. return RemoveElement(/datum/element/empprotection, EMP_PROTECT_ALL) + RemoveElement(/datum/element/empprotection, EMP_PROTECT_ALL|EMP_NO_EXAMINE) camera_upgrade_bitflags &= ~CAMERA_UPGRADE_EMP_PROOF /obj/machinery/camera/proc/isXRay(ignore_malf_upgrades) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 6d3a59688d0..f07eba51684 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -84,41 +84,39 @@ if(charging) charging.forceMove(drop_location()) +/obj/machinery/cell_charger/Exited(atom/movable/gone, direction) + . = ..() + if(gone == charging) + charging = null + /obj/machinery/cell_charger/Destroy() QDEL_NULL(charging) return ..() -/obj/machinery/cell_charger/proc/removecell() +/obj/machinery/cell_charger/proc/removecell(new_loc) + . = charging charging.update_appearance() + charging.forceMove(new_loc) charging = null update_appearance() /obj/machinery/cell_charger/attack_hand(mob/user, list/modifiers) . = ..() - if(.) - return - if(!charging) + if(. || !charging) return - user.put_in_hands(charging) charging.add_fingerprint(user) - user.visible_message(span_notice("[user] removes [charging] from [src]."), span_notice("You remove [charging] from [src].")) - - removecell() - + user.put_in_hands(removecell(drop_location())) /obj/machinery/cell_charger/attack_tk(mob/user) if(!charging) return - charging.forceMove(loc) to_chat(user, span_notice("You telekinetically remove [charging] from [src].")) - - removecell() + removecell(drop_location()) return COMPONENT_CANCEL_ATTACK_CHAIN - /obj/machinery/cell_charger/attack_ai(mob/user) return diff --git a/code/game/machinery/civilian_bounties.dm b/code/game/machinery/civilian_bounties.dm index 0b24fb8ebe1..b917bed6c7d 100644 --- a/code/game/machinery/civilian_bounties.dm +++ b/code/game/machinery/civilian_bounties.dm @@ -347,7 +347,7 @@ var/nag_message = "[src] is unsent in [get_area(src)]." //nag on Supply channel and reduce the speed bonus multiplier to nothing - var/obj/machinery/announcement_system/aas = get_announcement_system(/datum/aas_config_entry/bounty_cube_unsent, src) + var/obj/machinery/announcement_system/aas = get_announcement_system(/datum/aas_config_entry/bounty_cube_unsent, src, list(RADIO_CHANNEL_SUPPLY)) if (aas) nag_message = aas.compile_config_message(/datum/aas_config_entry/bounty_cube_unsent, list("LOCATION" = get_area_name(src), "COST" = bounty_value), "Regular Message") if (speed_bonus) diff --git a/code/game/machinery/computer/arcade/orion.dm b/code/game/machinery/computer/arcade/orion.dm index 6c2945cb126..ce26a9b50fb 100644 --- a/code/game/machinery/computer/arcade/orion.dm +++ b/code/game/machinery/computer/arcade/orion.dm @@ -546,7 +546,7 @@ /datum/aas_config_entry/orion_violent_behavior_alert // Well we don't want to show that only Orion Trails reports violent behavior, eh-h? - name = "Violent Behavior Alert" + name = "Global: Violent Behavior Alert" announcement_lines_map = list( RADIO_CHANNEL_SECURITY = "SECURITY ALERT: Crewmember %PERSON recorded displaying antisocial tendencies in %LOCATION by %SOURCE. Please watch for violent behavior.", RADIO_CHANNEL_MEDICAL = "PSYCH ALERT: Crewmember %PERSON recorded displaying antisocial tendencies in %LOCATION by %SOURCE. Please schedule psych evaluation.", diff --git a/code/game/machinery/computer/orders/order_computer/order_computer.dm b/code/game/machinery/computer/orders/order_computer/order_computer.dm index b62e8d8a6a2..04ba8a70683 100644 --- a/code/game/machinery/computer/orders/order_computer/order_computer.dm +++ b/code/game/machinery/computer/orders/order_computer/order_computer.dm @@ -236,7 +236,7 @@ GLOBAL_LIST_EMPTY(order_console_products) return /datum/aas_config_entry/order_console - name = "Local Ordering Console Announcements" + name = "Cargo Alert: Local Ordering Console Announcements" announcement_lines_map = list() general_tooltip = "Used to make announces, when consoles listed here placing new order" diff --git a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm index e0630e4ef4b..41c52d9b0a0 100644 --- a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm +++ b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm @@ -34,6 +34,10 @@ purchase_path = /obj/item/kinetic_crusher cost_per_order = 650 +/datum/orderable_item/mining/punching_mitts + purchase_path = /obj/item/clothing/gloves/fingerless/punch_mitts + cost_per_order = 1000 + /datum/orderable_item/mining/crusher_retool_kit purchase_path = /obj/item/crusher_trophy/retool_kit cost_per_order = 150 diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index f063c8a89c9..1c355716aa7 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -8,19 +8,18 @@ /// Station alert datum for showing alerts UI var/datum/station_alert/alert_control -/obj/machinery/computer/station_alert/examine(mob/user) - . = ..() - var/obj/item/circuitboard/computer/station_alert/my_circuit = circuit - . += span_info("The console is set to [my_circuit.station_only ? "track all station and mining alarms" : "track alarms on the same z-level"].") - /obj/machinery/computer/station_alert/Initialize(mapload) - link_alerts() + if(is_station_level(z)) + var/static/list/alert_areas + if(isnull(alert_areas)) + alert_areas = (GLOB.the_station_areas + typesof(/area/mine)) + alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER), SSmapping.levels_by_trait(ZTRAIT_STATION), alert_areas) + else + name = "local alert console" + alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER), list(z), title = name) + RegisterSignals(alert_control.listener, list(COMSIG_ALARM_LISTENER_TRIGGERED, COMSIG_ALARM_LISTENER_CLEARED), PROC_REF(update_alarm_display)) return ..() -/obj/machinery/computer/station_alert/on_construction(mob/user) - . = ..() - link_alerts() - /obj/machinery/computer/station_alert/Destroy() QDEL_NULL(alert_control) return ..() @@ -42,26 +41,6 @@ if(length(alert_control?.listener.alarms)) /// SKYRAT TODO - look into what broke this - Original: if(length(alert_control.listener.alarms)) . += "alert:2" -/** - * Clears out any active alert_control listeners, then sets up a new one based on the circuit settings - */ -/obj/machinery/computer/station_alert/proc/link_alerts() - //Start from scratch, clear out the existing alert listeners - QDEL_NULL(alert_control) - - //Then we check the circuit to determine if it should show alarms from Station & Mining areas, - //or Local (z-level) areas - var/obj/item/circuitboard/computer/station_alert/my_circuit = circuit - if(my_circuit.station_only) - name = "station alert console" - var/list/alert_areas - alert_areas = (GLOB.the_station_areas + typesof(/area/mine)) - alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER), listener_areas = alert_areas, title = name) - else - name = "local alert console" - alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER), list(z), title = name) - RegisterSignals(alert_control.listener, list(COMSIG_ALARM_LISTENER_TRIGGERED, COMSIG_ALARM_LISTENER_CLEARED), PROC_REF(update_alarm_display)) - /** * Signal handler for calling an icon update in case an alarm is added or cleared * @@ -71,7 +50,3 @@ /obj/machinery/computer/station_alert/proc/update_alarm_display(datum/source) SIGNAL_HANDLER update_icon() - -// Subtype which only checks station areas and the mining station -/obj/machinery/computer/station_alert/station_only - circuit = /obj/item/circuitboard/computer/station_alert/station_only 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 71922f1b3a9..7d17f1bb477 100644 --- a/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm @@ -107,8 +107,19 @@ AddElement(/datum/element/noticable_organ, "%PRONOUN_Their teeth are oddly shaped and yellowing.", BODY_ZONE_PRECISE_MOUTH) AddElement(/datum/element/organ_set_bonus, /datum/status_effect/organ_set_bonus/rat) +/obj/item/organ/tongue/rat/proc/whimsy_check(mob/living/checking) + if(check_holidays(APRIL_FOOLS)) + return TRUE + if(HAS_PERSONALITY(checking, /datum/personality/whimsical)) + return TRUE + if(prob(1)) + return TRUE + return FALSE + /obj/item/organ/tongue/rat/modify_speech(datum/source, list/speech_args) . = ..() + if(!whimsy_check(source)) + return var/message = LOWER_TEXT(speech_args[SPEECH_MESSAGE]) if(message == "hi" || message == "hi.") speech_args[SPEECH_MESSAGE] = "Cheesed to meet you!" @@ -125,6 +136,8 @@ /obj/item/organ/tongue/rat/proc/on_item_given(mob/living/carbon/offerer, mob/living/taker, obj/item/given) SIGNAL_HANDLER + if(!whimsy_check(offerer)) + return INVOKE_ASYNC(src, PROC_REF(its_on_the_mouse), offerer, taker) /obj/item/organ/tongue/rat/proc/its_on_the_mouse(mob/living/carbon/offerer, mob/living/taker) diff --git a/code/game/machinery/flatpacker.dm b/code/game/machinery/flatpacker.dm index 07f76e3bd07..8765ec716bd 100644 --- a/code/game/machinery/flatpacker.dm +++ b/code/game/machinery/flatpacker.dm @@ -373,7 +373,7 @@ say("No power to dispense sheets") return - materials.retrieve_sheets(amount, material) + materials.retrieve_stack(amount, material) return TRUE /** diff --git a/code/game/machinery/newscaster/newscaster_machine.dm b/code/game/machinery/newscaster/newscaster_machine.dm index 77b9c51d012..bea301dbc64 100644 --- a/code/game/machinery/newscaster/newscaster_machine.dm +++ b/code/game/machinery/newscaster/newscaster_machine.dm @@ -781,7 +781,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) if(current_channel.receiving_cross_sector) return - var/temp_message = tgui_input_text(user, "Write your Feed story", "Network Channel Handler", feed_channel_message, max_length = MAX_BROADCAST_LEN, multiline = TRUE) + var/temp_message = tgui_input_text(user, "Write your Feed story", "Network Channel Handler", feed_channel_message, max_length = MAX_MESSAGE_LEN, multiline = TRUE) if(length(temp_message) <= 1) return TRUE diff --git a/code/game/machinery/newscaster/newspaper.dm b/code/game/machinery/newscaster/newspaper.dm index cc05b578a1e..91f6374ca50 100644 --- a/code/game/machinery/newscaster/newspaper.dm +++ b/code/game/machinery/newscaster/newspaper.dm @@ -262,8 +262,7 @@ channel_data["channel_messages"] = list() for(var/datum/feed_message/feed_messages as anything in current_channel.messages) if(feed_messages.creation_time > creation_time) - data["channel_has_messages"] = FALSE - break + continue data["channel_has_messages"] = TRUE var/has_image = FALSE if(feed_messages.img) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index a513d222838..cef1cc95474 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -190,7 +190,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) // Check if user can call this emergency (prevent self-calls) RETA var/user_dept = reta_get_user_department(usr) - if(user_dept == target_dept) + if(user_dept == target_dept && !isAdminGhostAI(usr)) to_chat(usr, span_alert("You cannot call your own department for emergency assistance.")) return @@ -201,6 +201,28 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) emergency = emergency_type + // Enhanced announcement with caller info + var/caller_info = "" + // Aghosts have no IDs, but they hold authorithy so instead calling them Unknowns just drop caller info completely + if(usr && isliving(usr)) + caller_info = "(Identification not provided)" + var/mob/living/caller_mob = usr + var/obj/item/card/id/ID = caller_mob.get_idcard() + if(ID) + caller_info = "(Called by [ID.registered_name], [ID.assignment])" + // Centcom still refuses to provide IDs to their silicons + else if (issilicon(caller_mob)) + caller_info = "(Called by [caller_mob.name], [caller_mob.job])" + // Cyborgs do not have their job var set, and this is wrong + if(iscyborg(caller_mob) && caller_mob?.mind?.assigned_role) + caller_info = "(Called by [caller_mob.name], [caller_mob.mind.assigned_role.title])" + + // If someone swiped their ID before + else if (message_verified_by) + caller_info = "(Last authentication: [message_verified_by])" + message_stamped_by = "" + message_verified_by = "" + // Grant RETA if conditions are met if(origin_dept && target_dept && CONFIG_GET(flag/reta_enabled)) // Set cooldown @@ -214,66 +236,56 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) // Track this call for multiple department analysis reta_track_call(origin_dept, target_dept) - // Enhanced announcement with caller info - var/caller_info = "" - if(usr) - var/caller_name = usr.real_name || "Unknown" - var/caller_title = "Unknown Position" - if(usr?.mind?.assigned_role) - caller_title = usr.mind.assigned_role.title - caller_info = " (Called by [caller_name], [caller_title])" - - var/enhanced_location = "[department][caller_info]" - switch(emergency_type) if(REQ_EMERGENCY_SECURITY) - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_SECURITY), REQ_EMERGENCY_SECURITY) + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department, "CALLER" = caller_info, "RETARESPONDERS" = granted_count), src, list(RADIO_CHANNEL_SECURITY), "Security") if(REQ_EMERGENCY_ENGINEERING) - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_ENGINEERING), REQ_EMERGENCY_ENGINEERING) + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department, "CALLER" = caller_info, "RETARESPONDERS" = granted_count), src, list(RADIO_CHANNEL_ENGINEERING), "Engineering") if(REQ_EMERGENCY_MEDICAL) - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_MEDICAL), REQ_EMERGENCY_MEDICAL) + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department, "CALLER" = caller_info, "RETARESPONDERS" = granted_count), src, list(RADIO_CHANNEL_MEDICAL), "Medical") // Send confirmation to the calling department about the RETA activation - var/calling_message = "RETA activated[caller_info]. [target_dept] personnel now have temporary access to your areas." - - // Get an announcement system to send simple radio messages - var/obj/machinery/announcement_system/announcer = get_announcement_system(null, null, list(RADIO_CHANNEL_COMMON)) - if(announcer) - switch(origin_dept) - if("Security") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SECURITY) - if("Engineering") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_ENGINEERING) - if("Medical") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_MEDICAL) - if("Science") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SCIENCE) - if("Service") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SERVICE) - if("Command") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_COMMAND) - if("Cargo") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SUPPLY) - if("Mining") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SUPPLY) + var/list/target_channels = list() + switch(origin_dept) + if("Security") + target_channels += RADIO_CHANNEL_SECURITY + if("Engineering") + target_channels += RADIO_CHANNEL_ENGINEERING + if("Medical") + target_channels += RADIO_CHANNEL_MEDICAL + if("Science") + target_channels += RADIO_CHANNEL_SCIENCE + if("Service") + target_channels += RADIO_CHANNEL_SERVICE + if("Command") + target_channels += RADIO_CHANNEL_COMMAND + if("Cargo") + target_channels += RADIO_CHANNEL_SUPPLY + if("Mining") + target_channels += RADIO_CHANNEL_SUPPLY + // Do not announce if RETA failed to activate + if (granted_count) + aas_config_announce(/datum/aas_config_entry/rc_reta_announcement, list("GRANTEE" = target_dept, "CALLER" = caller_info), src, target_channels) // Log RETA activity log_game("RETA: [origin_dept] called [target_dept] emergency, granted access to [granted_count] responder IDs for [duration_ds/10] seconds") // Push UI updates to consoles in the same origin department reta_push_ui_updates(origin_dept, target_dept) + // Making sure our emergency is synced with RETA timers + addtimer(CALLBACK(src, PROC_REF(clear_emergency)), duration_ds) else // Normal emergency call without RETA switch(emergency_type) if(REQ_EMERGENCY_SECURITY) - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department), null, list(RADIO_CHANNEL_SECURITY), REQ_EMERGENCY_SECURITY) + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department, "CALLER" = caller_info), null, list(RADIO_CHANNEL_SECURITY), "Security") if(REQ_EMERGENCY_ENGINEERING) - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department), null, list(RADIO_CHANNEL_ENGINEERING), REQ_EMERGENCY_ENGINEERING) + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department, "CALLER" = caller_info), null, list(RADIO_CHANNEL_ENGINEERING), "Engineering") if(REQ_EMERGENCY_MEDICAL) - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department), null, list(RADIO_CHANNEL_MEDICAL), REQ_EMERGENCY_MEDICAL) + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = department, "CALLER" = caller_info), null, list(RADIO_CHANNEL_MEDICAL), "Medical") + addtimer(CALLBACK(src, PROC_REF(clear_emergency)), 5 MINUTES) update_appearance() - addtimer(CALLBACK(src, PROC_REF(clear_emergency)), 5 MINUTES) return TRUE if("send_announcement") if(!COOLDOWN_FINISHED(src, announcement_cooldown)) @@ -536,18 +548,93 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/requests_console/auto_name, 30) pixel_shift = 30 /datum/aas_config_entry/rc_emergency - name = "RC Alert: Emergency" + name = "RC Alert: Emergency Request" announcement_lines_map = list( - "Security" = "SECURITY EMERGENCY in %LOCATION - RETA door access granted to responders!", - "Engineering" = "ENGINEERING EMERGENCY in %LOCATION - RETA door access granted to responders!", - "Medical" = "MEDICAL EMERGENCY in %LOCATION - RETA door access granted to responders!", - ) - vars_and_tooltips_map = list( - "LOCATION" = "will be replaced with the department name and caller information (Name, Job Title)", + REQ_EMERGENCY_SECURITY = "SECURITY EMERGENCY in %LOCATION %CALLER!!!", + REQ_EMERGENCY_ENGINEERING = "ENGINEERING EMERGENCY in %LOCATION %CALLER!!!", + REQ_EMERGENCY_MEDICAL = "MEDICAL EMERGENCY in %LOCATION %CALLER!!!", ) + vars_and_tooltips_map = list( + "LOCATION" = "will be replaced with the department name", + "CALLER" = "with caller name and job if applicable", + ) + +/datum/aas_config_entry/rc_emergency/New() + . = ..() + // If RETA enabled change config lines to include RETA info + if(CONFIG_GET(flag/reta_enabled)) + // Non sec/engi/med personnel may be called by CC or AI (I hope) for anomaly removal and etc. Mostly admin triggered calls + announcement_lines_map = list( + "RETA Granted" = "- RETA door access granted to responders", + "RETA Failed" = "- no RETA access provided", + "Security" = "SECURITY EMERGENCY in %LOCATION %CALLER %RETA!!!", + "Engineering" = "ENGINEERING EMERGENCY in %LOCATION %CALLER %RETA!!!", + "Medical" = "MEDICAL EMERGENCY in %LOCATION %CALLER, %RETA!!!", + "Science" = "Science personnel was requested in %LOCATION %CALLER %RETA.", + "Service" = "Service personnel was requested in %LOCATION %CALLER %RETA.", + "Command" = "Command personnel was requested in %LOCATION %CALLER %RETA.", + "Cargo" = "Cargo personnel was requested in %LOCATION %CALLER %RETA.", + "Mining" = "Miners were requested in %LOCATION %CALLER %RETA.", + ) + vars_and_tooltips_map = list( + "LOCATION" = "will be replaced with the department name", + "CALLER" = "with caller name and job if applicable", + "RETA" = "with RETA Granted or RETA Failed lines depending on RETA system report", + ) + +/datum/aas_config_entry/rc_emergency/compile_announce(list/variables_map, announcement_line) + if (!variables_map["CALLER"]) + variables_map["CALLER"] = "(Caller placeholder)" + + variables_map["RETA"] = variables_map["RETARESPONDERS"] ? announcement_lines_map["RETA Granted"] : announcement_lines_map["RETA Failed"] + . = ..() + // In case - someone expands RETA departments, but forgets to add announcement lines for them + if (!announcement_lines_map[announcement_line]) + . = "ERROR: UNKNOWN DEPARTMENT \[[announcement_line]\] CALLED IN [variables_map["LOCATION"] || "\[NO DATA\]"] [variables_map["CALLER"]]. PLEASE REPORT THIS TO NT TECH SUPPORT." + + var/list/exploded_string = splittext_char(., "(Caller placeholder)") + var/list/trimed_message = list() + for (var/line in exploded_string) + line = trim(line) + if (line) + trimed_message += line + // Rebuild the string without empty lines + . = trimed_message.Join(" ") + +/datum/aas_config_entry/rc_reta_announcement + name = "RC Alert: RETA Granted" + announcement_lines_map = list( + "Message" = "RETA activated %CALLER. %GRANTEE personnel now have temporary access to your areas." + ) + + vars_and_tooltips_map = list( + "CALLER" = "will be replaced with caller info if applicable", + "GRANTEE" = "with who may now access targeted areas", + ) + +/datum/aas_config_entry/rc_reta_announcement/New() + . = ..() + // If RETA disabled - we should be down + if(!CONFIG_GET(flag/reta_enabled)) + announcement_lines_map["Message"] = "RETA system is disabled." + enabled = FALSE + modifiable = FALSE + +/datum/aas_config_entry/rc_reta_announcement/compile_announce(list/variables_map, announcement_line) + if (!variables_map["CALLER"]) + variables_map["CALLER"] = "(Caller placeholder)" + var/list/exploded_string = splittext_char(..(), "(Caller placeholder)") + var/list/trimed_message = list() + for (var/line in exploded_string) + line = trim(line) + if (line) + trimed_message += line + // Rebuild the string without empty lines + . = trimed_message.Join(" ") + /datum/aas_config_entry/rc_new_message - name = "RC Alert: New Message " + name = "RC Alert: New Message" // Yes, players can't use html tags, however they can use speech mods like | or +, but sh-sh-sh, don't tell them! announcement_lines_map = list( "Unauthenticated" = "Message from %SENDER to %RECEIVER: %MESSAGE", diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 2cc2225c6c1..e31c72a53b0 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -40,7 +40,7 @@ var/playing = FALSE var/locked = FALSE var/drop_dir = SOUTH - var/static/list/coin_values = list(/obj/item/coin/diamond = 100, /obj/item/coin/gold = 25, /obj/item/coin/silver = 10, /obj/item/coin/iron = 1) //Make sure this is ordered from left to right. + var/static/list/coin_values = list(/obj/item/poker_chip/black = 1000, /obj/item/poker_chip/green = 250, /obj/item/poker_chip/blue = 100, /obj/item/poker_chip/red = 25, /obj/item/poker_chip/white_blue = 10, /obj/item/poker_chip/white_black = 1) //Make sure this is ordered from left to right. var/list/coins_to_dispense = list() var/datum/looping_sound/jackpot/jackpot_loop var/on = TRUE @@ -217,13 +217,17 @@ my_card.registered_account.transfer_money(player_id.registered_account, bet_amount, "Roulette: Bet") playing = TRUE + cut_overlays() update_appearance() set_light(0) + if(isliving(user)) + var/mob/living/living_user = user + living_user.add_mood_event("roulette", /datum/mood_event/slots) var/rolled_number = rand(0, 36) playsound(src, 'sound/machines/roulette/roulettewheel.ogg', 50) - addtimer(CALLBACK(src, PROC_REF(finish_play), player_id, bet_type, bet_amount, payout, rolled_number), 34) //4 deciseconds more so the animation can play + addtimer(CALLBACK(src, PROC_REF(finish_play), player_id, bet_type, bet_amount, payout, rolled_number, user), 34) //4 deciseconds more so the animation can play addtimer(CALLBACK(src, PROC_REF(finish_play_animation)), 3 SECONDS) use_energy(active_power_usage) @@ -234,7 +238,7 @@ playsound(src, 'sound/machines/piston/piston_lower.ogg', 70) ///Ran after a while to check if the player won or not. -/obj/machinery/roulette/proc/finish_play(obj/item/card/id/player_id, bet_type, bet_amount, potential_payout, rolled_number) +/obj/machinery/roulette/proc/finish_play(obj/item/card/id/player_id, bet_type, bet_amount, potential_payout, rolled_number, mob/user) last_spin = rolled_number var/is_winner = check_win(bet_type, bet_amount, rolled_number) //Predetermine if we won @@ -248,8 +252,11 @@ handle_color_light(color) if(!is_winner) - say("You lost! Better luck next time") + say("You lost! Better luck next time.") playsound(src, 'sound/machines/synth/synth_no.ogg', 50) + if(isliving(user) && (user in viewers(src))) + var/mob/living/living_user = user + living_user.add_mood_event("roulette", /datum/mood_event/slots/loss) return FALSE // Prevents money generation exploits. Doesn't prevent the owner being a scrooge and running away with the money. @@ -258,7 +265,9 @@ say("You have won [potential_payout] credits! Congratulations!") playsound(src, 'sound/machines/synth/synth_yes.ogg', 50) - + if(isliving(user) && (user in viewers(src))) + var/mob/living/living_user = user + living_user.add_mood_event("roulette", potential_payout >= ROULETTE_JACKPOT_AMOUNT ? /datum/mood_event/slots/win/jackpot : /datum/mood_event/slots/win/big) dispense_prize(potential_payout) ///Fills a list of coins that should be dropped. @@ -303,6 +312,13 @@ var/turf/drop_loc = get_step(loc, drop_dir) var/obj/item/cash = new coin_to_drop(drop_loc) + //We animate the chip with a cool drop, bounce and slide effect with random offsets to fan out the chips + cash.pixel_y = 16 + cash.pixel_z = 8 + var/extra_x = rand(0, 8) + var/extra_y = round(extra_x * 0.7) + animate(cash, 250 MILLISECONDS, pixel_z = 0, easing = BOUNCE_EASING | EASE_OUT) //fall to the ground + animate(300 MILLISECONDS, pixel_y = rand(-6, 6) + extra_y, pixel_x = rand(0 + extra_x, 8 + extra_x) * pick(1, -1), flags = ANIMATION_PARALLEL) //midnight shitcode instead of proper maths playsound(cash, pick(list('sound/machines/coindrop.ogg', 'sound/machines/coindrop2.ogg')), 40, TRUE) addtimer(CALLBACK(src, PROC_REF(drop_coin)), 3) //Recursion time diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 24057c27a34..e3e1e54f046 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -58,7 +58,7 @@ /obj/structure/emergency_shield/regenerating/Initialize(mapload) . = ..() - AddElement(/datum/element/empprotection, EMP_PROTECT_SELF) + AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_NO_EXAMINE) /obj/structure/emergency_shield/regenerating/Destroy() STOP_PROCESSING(SSobj, src) @@ -84,7 +84,7 @@ /obj/structure/emergency_shield/cult/Initialize(mapload) . = ..() - AddElement(/datum/element/empprotection, EMP_PROTECT_SELF) + AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_NO_EXAMINE) /obj/structure/emergency_shield/cult/narsie name = "sanguine barrier" diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 470d791080a..a5c6bfdc1a8 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -227,6 +227,9 @@ if(user) the_name = user.real_name visible_message(span_notice("[user] pulls the lever and the slot machine starts spinning!")) + if(isliving(user)) + var/mob/living/living_user = user + living_user.add_mood_event("slots_spin", /datum/mood_event/slots) else the_name = "Exaybachay" @@ -308,6 +311,9 @@ var/prize = money + JACKPOT visible_message("[src] says, 'JACKPOT! You win [prize] credits!'") priority_announce("Congratulations to [user ? user.real_name : usrname] for winning the jackpot at the slot machine in [get_area(src)]!") + if(isliving(user) && (user in viewers(src))) + var/mob/living/living_user = user + living_user.add_mood_event("slots", /datum/mood_event/slots/win/jackpot) jackpots += 1 money = 0 if(paymode == HOLOCHIP) @@ -323,10 +329,16 @@ else if(linelength == 5) visible_message("[src] says, 'Big Winner! You win a thousand credits!'") give_money(BIG_PRIZE) + if(isliving(user) && (user in viewers(src))) + var/mob/living/living_user = user + living_user.add_mood_event("slots", /datum/mood_event/slots/win/big) else if(linelength == 4) visible_message("[src] says, 'Winner! You win four hundred credits!'") give_money(SMALL_PRIZE) + if(isliving(user) && (user in viewers(src))) + var/mob/living/living_user = user + living_user.add_mood_event("slots", /datum/mood_event/slots/win) else if(linelength == 3) to_chat(user, span_notice("You win three free games!")) @@ -337,6 +349,9 @@ balloon_alert(user, "no luck!") playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50) did_player_win = FALSE + if(isliving(user) && (user in viewers(src))) + var/mob/living/living_user = user + living_user.add_mood_event("slots", /datum/mood_event/slots/loss) if(did_player_win) add_filter("jackpot_rays", 3, ray_filter) diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 09f573faa06..820333071e1 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -234,7 +234,7 @@ GLOBAL_LIST_EMPTY(key_to_status_display) return PROCESS_KILL -/// Update the display and, if necessary, re-enable processing. +/// Updates the display and starts it processing again if needed /obj/machinery/status_display/proc/update() if (process(SSMACHINES_DT) != PROCESS_KILL) START_PROCESSING(SSmachines, src) @@ -376,10 +376,25 @@ GLOBAL_LIST_EMPTY(key_to_status_display) /// Evac display which shows shuttle timer or message set by Command. /obj/machinery/status_display/evac - current_mode = SD_EMERGENCY + current_mode = SD_PICTURE + current_picture = "default" // Show the logo when we start round var/frequency = FREQ_STATUS_DISPLAYS var/friendc = FALSE // track if Friend Computer mode var/last_picture // For when Friend Computer mode is undone + /// What mode we should go back to when the alert timer runs out + var/revert_mode = SD_PICTURE + /// What picture we should show when reverting back + var/revert_picture = "default" + /// Timer for switching back to normal after showing alerts + var/alert_display_timer + /// How important our current display is (bigger number = more important) + var/current_priority = DISPLAY_PRIORITY_LOGO + /// What priority level we should go back to after alerts + var/revert_priority = DISPLAY_PRIORITY_LOGO + /// Keeps track of what someone manually set so we can go back to it later + var/list/manual_display_state + /// List of active emergency types - tracks what emergencies are currently happening + var/list/active_emergencies = list() MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) @@ -397,6 +412,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) /obj/machinery/status_display/evac/Destroy() SSradio.remove_object(src,frequency) UnregisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED) + // Clean up our timer so we don't have ghost timers floating around + if(alert_display_timer) + deltimer(alert_display_timer) + alert_display_timer = null return ..() /obj/machinery/status_display/evac/process() @@ -410,32 +429,154 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) set_picture("ai_friend") return PROCESS_KILL - switch(current_mode) - if(SD_BLANK, SD_MESSAGE, SD_GREENSCREEN) - return PROCESS_KILL + // Figure out what we should be showing right now + var/list/target_display = get_highest_priority_display() + var/target_priority = target_display["priority"] - if(SD_EMERGENCY) + // Don't mess with more important stuff that's already showing + if(target_priority <= current_priority) + // Keep the shuttle timer updating if that's what we're showing + if(current_mode == SD_EMERGENCY) return display_shuttle_status(SSshuttle.emergency) + return PROCESS_KILL + // Switch to whatever should have priority right now + switch(target_display["mode"]) + if(SD_EMERGENCY) + set_display_with_priority(SD_EMERGENCY, target_priority) + return display_shuttle_status(SSshuttle.emergency) if(SD_PICTURE) - set_picture(last_picture) + set_display_with_priority(SD_PICTURE, target_priority, picture_state = target_display["picture"]) return PROCESS_KILL + else + return PROCESS_KILL + +/// Figures out what we should be showing based on what's happening on the station +/// Returns a list with the mode, priority, and other details +/obj/machinery/status_display/evac/proc/get_highest_priority_display() + // Shuttle stuff gets top priority - but only when it's actually doing something + if(SSshuttle?.emergency) + switch(SSshuttle.emergency.mode) + if(SHUTTLE_CALL, SHUTTLE_DOCKED, SHUTTLE_ESCAPE) + return list("mode" = SD_EMERGENCY, "priority" = DISPLAY_PRIORITY_SHUTTLE) + // Don't bother showing shuttle status when it's just sitting there + + // Check if someone manually set something from the bridge + if(manual_display_state && manual_display_state["priority"] >= DISPLAY_PRIORITY_MESSAGE) + return manual_display_state.Copy() + + // Nothing special happening, just show the logo + return list("mode" = SD_PICTURE, "priority" = DISPLAY_PRIORITY_LOGO, "picture" = "default") + +/// Tries to change what the display is showing, but respects priority levels +/// Returns TRUE if we actually changed it, FALSE if something more important was already showing +/obj/machinery/status_display/evac/proc/set_display_with_priority(new_mode, priority, picture_state = null, message1 = null, message2 = null, force_override = FALSE) + // Allow manual overrides to always work (except when temporary alerts are showing) + if(!force_override && priority < current_priority && current_priority != DISPLAY_PRIORITY_ALERT_TEMP) + return FALSE + + // Cancel alert timer if we're changing to a different display type + if(alert_display_timer && priority != DISPLAY_PRIORITY_ALERT_TEMP) + deltimer(alert_display_timer) + alert_display_timer = null + + current_mode = new_mode + current_priority = priority + + // Store manually set displays (not temporary alerts, automated shuttle, or logo defaults) + // Logo selections shouldn't be treated as manual overrides since logo is the default anyway + var/is_logo_default = (new_mode == SD_PICTURE && (picture_state == "default" || picture_state == null)) + if(priority >= DISPLAY_PRIORITY_MESSAGE && priority != DISPLAY_PRIORITY_ALERT_TEMP && priority != DISPLAY_PRIORITY_SHUTTLE && !is_logo_default) + manual_display_state = list( + "mode" = new_mode, + "priority" = priority, + "picture" = picture_state, + "message1" = message1, + "message2" = message2 + ) + else if(is_logo_default) + // Clear manual display state when logo is selected + manual_display_state = null + + switch(new_mode) + if(SD_BLANK) + update_appearance() + if(SD_EMERGENCY) + set_messages("", "") + if(SD_MESSAGE) + set_messages(message1 || "", message2 || "") + if(SD_PICTURE) + last_picture = picture_state + set_picture(picture_state) + if(SD_GREENSCREEN) + update_appearance() + + // Start processing to watch for higher priority displays (like shuttle calls) + update() + + return TRUE /obj/machinery/status_display/evac/receive_signal(datum/signal/signal) switch(signal.data["command"]) if("blank") - current_mode = SD_BLANK - update_appearance() + set_display_with_priority(SD_BLANK, DISPLAY_PRIORITY_MESSAGE, force_override = TRUE) if("shuttle") - current_mode = SD_EMERGENCY - set_messages("", "") + set_display_with_priority(SD_EMERGENCY, DISPLAY_PRIORITY_SHUTTLE, force_override = TRUE) + // Start processing to keep shuttle timer updated and handle priority changes + update() if("message") - current_mode = SD_MESSAGE - set_messages(signal.data["top_text"] || "", signal.data["bottom_text"] || "") + set_display_with_priority(SD_MESSAGE, DISPLAY_PRIORITY_MESSAGE, message1 = signal.data["top_text"], message2 = signal.data["bottom_text"], force_override = TRUE) if("alert") - current_mode = SD_PICTURE - last_picture = signal.data["picture_state"] - set_picture(last_picture) + var/picture_state = signal.data["picture_state"] + var/priority = DISPLAY_PRIORITY_MESSAGE + var/is_emergency = signal.data["emergency_override"] + var/emergency_type = signal.data["emergency_type"] + + // Check if this is just setting the logo back to default + if(picture_state == "default") + // Clear any manual display state and reset to logo priority + manual_display_state = null + set_display_with_priority(SD_PICTURE, DISPLAY_PRIORITY_LOGO, picture_state = picture_state, force_override = TRUE) + // Automated emergency alerts use temporary high priority to interrupt even shuttle displays + else if(is_emergency) + // Track this emergency type + if(emergency_type && !(emergency_type in active_emergencies)) + active_emergencies |= emergency_type + show_temporary_display(SD_PICTURE, DISPLAY_PRIORITY_EMERGENCY_TEMP, picture_state = picture_state) + else + // Manual alerts can override existing displays + set_display_with_priority(SD_PICTURE, priority, picture_state = picture_state, force_override = TRUE) + if("clear_emergency") + var/emergency_type = signal.data["emergency_type"] + + // Clear specific emergency type or all if no type specified + if(emergency_type) + active_emergencies -= emergency_type + else + active_emergencies.Cut() // Clear all emergencies + + // Only revert display if no more emergencies are active + if(!length(active_emergencies)) + // Clear emergency displays - if we're showing a temporary emergency, just cancel the timer + if(current_priority == DISPLAY_PRIORITY_EMERGENCY_TEMP && alert_display_timer) + deltimer(alert_display_timer) + alert_display_timer = null + revert_from_alert_display() + // Otherwise clear persistent emergency displays by reverting to highest priority + else if(current_priority >= DISPLAY_PRIORITY_EMERGENCY) + var/list/target_display = get_highest_priority_display() + current_mode = target_display["mode"] + current_priority = target_display["priority"] + + switch(current_mode) + if(SD_EMERGENCY) + set_messages("", "") + if(SD_PICTURE) + set_picture(target_display["picture"]) + if(SD_MESSAGE) + set_messages(target_display["message1"] || "", target_display["message2"] || "") + else + update_appearance() if("greenscreen") var/datum/weakref/display_ref = signal.data["display"] var/obj/effect/abstract/greenscreen_display/new_display = display_ref?.resolve() @@ -448,8 +589,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) speakers.special_channels |= RADIO_SPECIAL_CENTCOM speakers.set_frequency(FREQ_STATUS_DISPLAYS) LAZYOR(active_displays, new_display) - current_mode = SD_GREENSCREEN - update_appearance() + set_display_with_priority(SD_GREENSCREEN, DISPLAY_PRIORITY_MESSAGE, force_override = TRUE) if("friendcomputer") friendc = !friendc update() @@ -460,17 +600,67 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) update_appearance() update() -/// Signal handler for [COMSIG_SECURITY_LEVEL_CHANGED] - Autoupdates our display to show current alert level. -/// Changes only when we are in 'alert' mode ([SD_PICTURE] and one of the alert's icon state already set) +/// Gets called when security changes the alert level - shows it for 30 seconds then goes back to normal /obj/machinery/status_display/evac/proc/on_sec_level_change(datum/source, new_level) SIGNAL_HANDLER - if(current_mode != SD_PICTURE) - return - if(!(current_picture in SSsecurity_level.alert_level_icons)) + + // Get the alert level icon + var/datum/security_level/alert_level = SSsecurity_level.available_levels[SSsecurity_level.number_level_to_text(new_level)] + + // Show as temporary alert (can be overridden by emergency temps) + show_temporary_display(SD_PICTURE, DISPLAY_PRIORITY_ALERT_TEMP, picture_state = alert_level.status_display_icon_state) + +/// Shows a temporary display for 30 seconds then reverts to previous display +/// Can interrupt lower priority displays but respects higher priority temporary displays +/obj/machinery/status_display/evac/proc/show_temporary_display(temp_mode, temp_priority, picture_state = null, message1 = null, message2 = null) + // Don't interrupt higher priority temporary displays + if(alert_display_timer && current_priority >= temp_priority) return - var/datum/security_level/alert_level = SSsecurity_level.available_levels[SSsecurity_level.number_level_to_text(new_level)] - set_picture(alert_level.status_display_icon_state) + // Remember what we were showing before (unless we're already doing a lower priority alert) + if(!alert_display_timer || current_priority < temp_priority) + revert_mode = current_mode + revert_picture = current_picture + revert_priority = current_priority + + // Cancel any existing timer + if(alert_display_timer) + deltimer(alert_display_timer) + alert_display_timer = null + + // Show the temporary display + current_mode = temp_mode + current_priority = temp_priority + + switch(temp_mode) + if(SD_PICTURE) + set_picture(picture_state) + if(SD_MESSAGE) + set_messages(message1 || "", message2 || "") + else + update_appearance() + + // Go back to what we were showing after 30 seconds + alert_display_timer = addtimer(CALLBACK(src, PROC_REF(revert_from_alert_display)), 30 SECONDS, TIMER_STOPPABLE) + +/// Goes back to showing whatever we were displaying before the alert level interrupt +/obj/machinery/status_display/evac/proc/revert_from_alert_display() + alert_display_timer = null + + // Figure out what we should be showing now + var/list/target_display = get_highest_priority_display() + current_mode = target_display["mode"] + current_priority = target_display["priority"] + + switch(current_mode) + if(SD_EMERGENCY) + set_messages("", "") + if(SD_PICTURE) + set_picture(target_display["picture"]) + if(SD_MESSAGE) + set_messages(target_display["message1"] || "", target_display["message2"] || "") + else + update_appearance() /// Supply display which shows the status of the supply shuttle. /obj/machinery/status_display/supply @@ -976,3 +1166,52 @@ GLOBAL_LIST_EMPTY_TYPED(greenscreen_displays, /obj/effect/abstract/greenscreen_d else . += "camera_on" . += emissive_appearance(icon, "camera_emissive", src, alpha = src.alpha) + +/// Send an emergency alert signal to all status displays +/// alert_type: The picture state to display ("biohazard", "lockdown", "radiation", etc.) +/proc/send_status_display_alert(alert_type) + var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS) + if(frequency) + var/datum/signal/alert_signal = new + alert_signal.data["command"] = "alert" + alert_signal.data["picture_state"] = alert_type + alert_signal.data["emergency_override"] = TRUE + alert_signal.data["emergency_type"] = alert_type // Track specific emergency type + var/atom/movable/virtualspeaker/virtual_speaker = new(null) + frequency.post_signal(virtual_speaker, alert_signal) + +/// Clear a specific emergency type from status displays +/// emergency_type: The specific type to clear ("biohazard", "lockdown", "radiation", etc.) +/// If emergency_type is null, clears ALL emergencies +/proc/clear_status_display_emergency(emergency_type = null) + var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS) + if(frequency) + var/datum/signal/clear_signal = new + clear_signal.data["command"] = "clear_emergency" + clear_signal.data["emergency_override"] = FALSE + if(emergency_type) + clear_signal.data["emergency_type"] = emergency_type + var/atom/movable/virtualspeaker/virtual_speaker = new(null) + frequency.post_signal(virtual_speaker, clear_signal) + +/// Send a biohazard alert signal to all status displays +/proc/send_status_display_biohazard_alert() + send_status_display_alert("biohazard") + +/// Send a lockdown alert signal to all status displays +/proc/send_status_display_lockdown_alert() + send_status_display_alert("lockdown") + +/// Send a radiation alert signal to all status displays +/proc/send_status_display_radiation_alert() + send_status_display_alert("radiation") + +/// Clear specific emergency types +/proc/clear_status_display_biohazard() + clear_status_display_emergency("biohazard") + +/proc/clear_status_display_lockdown() + clear_status_display_emergency("lockdown") + +/proc/clear_status_display_radiation() + clear_status_display_emergency("radiation") diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 5a8d72d119d..68c4b959a32 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -230,32 +230,38 @@ GLOBAL_LIST_INIT(dye_registry, list( use_energy(active_power_usage) /obj/item/proc/dye_item(dye_color, dye_key_override) - var/dye_key_selector = dye_key_override ? dye_key_override : dying_key - if(undyeable) - return FALSE - if(!dye_key_selector) + var/dye_key_selector = dye_key_override || dying_key + if(undyeable || !dye_key_selector) return FALSE if(!GLOB.dye_registry[dye_key_selector]) - log_runtime("Item just tried to be dyed with an invalid registry key: [dye_key_selector]") + log_runtime("Item [type] just tried to be dyed with an invalid registry key: [dye_key_selector]") return FALSE var/obj/item/target_type = GLOB.dye_registry[dye_key_selector][dye_color] if(!target_type) return FALSE - if(initial(target_type.greyscale_config) && initial(target_type.greyscale_colors)) - set_greyscale( - colors=initial(target_type.greyscale_colors), - new_config=initial(target_type.greyscale_config), - new_worn_config=initial(target_type.greyscale_config_worn), - new_inhand_left=initial(target_type.greyscale_config_inhand_left), - new_inhand_right=initial(target_type.greyscale_config_inhand_right) - ) + + if(initial(target_type.greyscale_config) || initial(target_type.greyscale_colors)) + var/list/new_greyscale_args = list() + + if(initial(target_type.greyscale_config)) + new_greyscale_args["new_config"] = initial(target_type.greyscale_config) + if(initial(target_type.greyscale_config_worn)) + new_greyscale_args["new_worn_config"] = initial(target_type.greyscale_config_worn) + if(initial(target_type.greyscale_config_inhand_left)) + new_greyscale_args["new_inhand_left"] = initial(target_type.greyscale_config_inhand_left) + if(initial(target_type.greyscale_config_inhand_right)) + new_greyscale_args["new_inhand_right"] = initial(target_type.greyscale_config_inhand_right) + + if(new_greyscale_args.len) + new_greyscale_args["colors"] = initial(target_type.greyscale_colors) || COLOR_WHITE + set_greyscale(arglist(new_greyscale_args)) else icon = initial(target_type.icon) lefthand_file = initial(target_type.lefthand_file) righthand_file = initial(target_type.righthand_file) worn_icon = initial(target_type.worn_icon) - icon_state = initial(target_type.icon_state) + icon_state = initial(target_type.post_init_icon_state) || initial(target_type.icon_state) inhand_icon_state = initial(target_type.inhand_icon_state) worn_icon_state = initial(target_type.worn_icon_state) inhand_x_dimension = initial(target_type.inhand_x_dimension) diff --git a/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm index 117c809a775..234e5e740ff 100644 --- a/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm +++ b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm @@ -153,6 +153,15 @@ var/obj/new_object = new replace_path(object.loc) new_object.setDir(object.dir) if(istype(object, /obj/machinery/door/airlock)) + if(istype(new_object, /obj/machinery/door/airlock)) //carry over access-related and adjacent variables. The rest is not as important + var/obj/machinery/door/airlock/airlock = object + var/obj/machinery/door/new_airlock = new_object + new_airlock.unres_sides = airlock.unres_sides + new_airlock.req_access = airlock.req_access.Copy() + new_airlock.req_one_access = airlock.req_one_access.Copy() + new_airlock.locked = airlock.locked + new_airlock.emergency = airlock.emergency + new_airlock.update_appearance() new_object.name = object.name qdel(object) diff --git a/code/game/objects/effects/decals/cleanable/blood.dm b/code/game/objects/effects/decals/cleanable/blood.dm index f372e0b3ff7..51f885106eb 100644 --- a/code/game/objects/effects/decals/cleanable/blood.dm +++ b/code/game/objects/effects/decals/cleanable/blood.dm @@ -852,6 +852,9 @@ if(splatter_strength <= 0) break iter_atom.add_blood_DNA(GET_ATOM_BLOOD_DNA(src)) + if(isliving(iter_atom)) + var/mob/living/splatted = iter_atom + splatted.add_mood_event("splattered_with_blood", /datum/mood_event/splattered_with_blood) splatter_strength-- // we used all our blood so go away diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 2e60cfb8bda..bbd451584d2 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -9,8 +9,10 @@ var/do_icon_rotate = TRUE var/rotation = 0 var/paint_colour = COLOR_WHITE + ///Used by `create_outline` to determine how strong (how wide) the outline itself will be. + var/color_strength -/obj/effect/decal/cleanable/crayon/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null, desc_override = null) +/obj/effect/decal/cleanable/crayon/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null, desc_override = null, color_strength) . = ..() if(isclosedturf(loc) && loc.density) // allows for wall graffiti to be seen @@ -34,6 +36,7 @@ src.transform = M if(main) paint_colour = main + src.color_strength = color_strength add_atom_colour(paint_colour, FIXED_COLOUR_PRIORITY) RegisterSignal(src, COMSIG_OBJ_PAINTED, PROC_REF(on_painted)) @@ -48,6 +51,36 @@ spraycan.use_charges(user, cost, requires_full = FALSE) return DONT_USE_SPRAYCAN_CHARGES +/** + * Using a given atom, gives this decal an outline of said atom, then masks the contents, + * leaving us with solely the outline. + * This also deletes the previous icon, so the decal turns into JUST an outline. + * Args: + * outlined_atom: Anything you wish to draw an outline of. + * add_mouse_opacity: Boolean on whether you want mouse opacity, which allows the outline to be clickable/examinable without the context menu. + */ +/obj/effect/decal/cleanable/crayon/proc/create_outline(atom/outlined_atom, add_mouse_opacity = FALSE) + icon = null + icon_state = null + if(add_mouse_opacity) + mouse_opacity = MOUSE_OPACITY_OPAQUE + + if(ishuman(outlined_atom)) + //humans are special, we want to exclude things like wounds so the outline isn't animated. + var/mob/living/carbon/human/human_outline = outlined_atom + add_overlay(human_outline.get_overlays_copy(list(WOUND_LAYER, HALO_LAYER))) + else + icon = outlined_atom.icon + icon_state = outlined_atom.icon_state + copy_overlays(outlined_atom) + transform = outlined_atom.transform + dir = outlined_atom.dir + add_filter("batong_outline", 1, outline_filter(color_strength, paint_colour)) + add_filter("alpha_mask", 2, alpha_mask_filter( + icon = getFlatIcon(outlined_atom.appearance, defdir = outlined_atom.dir, no_anim = TRUE), + flags = MASK_INVERSE, + )) + ///Common crayon decals in map. /obj/effect/decal/cleanable/crayon/rune4 icon_state = "rune4" diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 31c2a860142..cf7209b3180 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -574,15 +574,13 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) icon_state = "hangover_spawn_closet" /obj/effect/landmark/start/hangover/closet/JoinPlayerHere(mob/joining_mob, buckle) + . = ..() for(var/obj/structure/closet/closet in get_turf(src)) if(closet.opened) continue joining_mob.forceMove(closet) - make_hungover(joining_mob) return - return ..() //Call parent as fallback - //Landmark that creates destinations for the navigate verb to path to /obj/effect/landmark/navigate_destination name = "navigate verb destination" diff --git a/code/game/objects/effects/poster_motivational.dm b/code/game/objects/effects/poster_motivational.dm index adee497096d..5306a3fb972 100644 --- a/code/game/objects/effects/poster_motivational.dm +++ b/code/game/objects/effects/poster_motivational.dm @@ -105,8 +105,6 @@ /datum/mood_event/poster_mood description = "That poster is really motivating me!" mood_change = 2 - category = POSTER_MOOD_CAT - // random posters @@ -244,7 +242,7 @@ When members of the security department read this poster they'll feel better!" icon_state = "security_logo" -/obj/item/poster/quirk/secuirty_logo +/obj/item/poster/quirk/security_logo poster_type = /obj/structure/sign/poster/quirk/security_slogan quirk_poster_department = ACCOUNT_SEC diff --git a/code/game/objects/effects/spawners/random/engineering.dm b/code/game/objects/effects/spawners/random/engineering.dm index 8075b5fc8af..0b628f3ee33 100644 --- a/code/game/objects/effects/spawners/random/engineering.dm +++ b/code/game/objects/effects/spawners/random/engineering.dm @@ -118,8 +118,118 @@ /obj/effect/spawner/random/engineering/vending_restock name = "vending restock spawner" icon_state = "vending_restock" - loot_subtype_path = /obj/item/vending_refill - loot = list() + loot = list( + /obj/effect/spawner/random/engineering/vending_restock/common = 935, + /obj/effect/spawner/random/engineering/vending_restock/rare = 60, + /obj/effect/spawner/random/engineering/vending_restock/oddity = 5, + ) + +/obj/effect/spawner/random/engineering/vending_restock/wardrobe + name = "wardrobe vending restock spawner" + icon_state = "vending_restock" + loot = list( + /obj/item/vending_refill/wardrobe/det_wardrobe = 1, + /obj/item/vending_refill/wardrobe/medi_wardrobe = 1, + /obj/item/vending_refill/wardrobe/chem_wardrobe = 1, + /obj/item/vending_refill/wardrobe/viro_wardrobe = 1, + /obj/item/vending_refill/wardrobe/sec_wardrobe = 1, + /obj/item/vending_refill/wardrobe/science_wardrobe = 1, + /obj/item/vending_refill/wardrobe/robo_wardrobe = 1, + /obj/item/vending_refill/wardrobe/gene_wardrobe = 1, + /obj/item/vending_refill/wardrobe/engi_wardrobe = 1, + /obj/item/vending_refill/wardrobe/atmos_wardrobe = 1, + /obj/item/vending_refill/wardrobe/cargo_wardrobe = 1, + /obj/item/vending_refill/wardrobe/hydro_wardrobe = 1, + /obj/item/vending_refill/wardrobe/chap_wardrobe = 1, + /obj/item/vending_refill/wardrobe/chef_wardrobe = 1, + /obj/item/vending_refill/wardrobe/chap_wardrobe = 1, + /obj/item/vending_refill/wardrobe/curator_wardrobe= 1, + /obj/item/vending_refill/wardrobe/jani_wardrobe = 1, + /obj/item/vending_refill/wardrobe/law_wardrobe = 1, + + ) + + +/obj/effect/spawner/random/engineering/vending_restock/food_and_drink + name = "food & drink vending restock spawner" + icon_state = "vending_restock" + loot = list( + /obj/item/vending_refill/cigarette = 1, + /obj/item/vending_refill/cola = 1, + /obj/item/vending_refill/coffee = 1, + /obj/item/vending_refill/snack = 1, + /obj/item/vending_refill/boozeomat = 1, + /obj/item/vending_refill/sustenance = 1, + /obj/item/vending_refill/sovietsoda = 1, + /obj/item/vending_refill/cola/shamblers = 1, + ) + +/obj/effect/spawner/random/engineering/vending_restock/medical + name = "medical vending restock spawner" + icon_state = "vending_restock" + loot = list( + /obj/item/vending_refill/wallmed = 1, + /obj/item/vending_refill/medical = 1, + /obj/item/vending_refill/drugs = 1, + ) + +/obj/effect/spawner/random/engineering/vending_restock/engineering + name = "engineering vending restock spawner" + icon_state = "vending_restock" + loot = list( + /obj/item/vending_refill/engivend = 1, + /obj/item/vending_refill/engineering = 1, + /obj/item/vending_refill/youtool = 1, + /obj/item/vending_refill/modularpc = 1, + /obj/item/vending_refill/robotics = 1, + /obj/item/vending_refill/assist = 1, + ) + +//common everyday vendors +/obj/effect/spawner/random/engineering/vending_restock/common + name = "common vending restock spawner" + icon_state = "vending_restock" + loot = list( + /obj/effect/spawner/random/engineering/vending_restock/wardrobe = 8, //roughtly reduced to half weight due to lameness of drobe contents + /obj/effect/spawner/random/engineering/vending_restock/food_and_drink = 8, + /obj/effect/spawner/random/engineering/vending_restock/engineering = 6, + /obj/effect/spawner/random/engineering/vending_restock/medical = 3, + /obj/item/vending_refill/cart = 1, + /obj/item/vending_refill/clothing = 1, + /obj/item/vending_refill/autodrobe = 1, + /obj/item/vending_refill/security = 1, + /obj/item/vending_refill/custom = 1, + /obj/item/vending_refill/dinnerware = 1, + /obj/item/vending_refill/cytopro = 1, + /obj/item/vending_refill/hydronutrients = 1, + /obj/item/vending_refill/hydroseeds = 1, + /obj/item/vending_refill/games = 1, + ) + +//vendors that should feel rare and special but are unlikely to warp the shift too much +/obj/effect/spawner/random/engineering/vending_restock/rare + name = "rare vending restock spawner" + icon_state = "vending_restock" + loot = list( + /obj/item/vending_refill/syndichem = 1, + /obj/item/vending_refill/cigarette/syndicate = 1, + /obj/item/vending_refill/plasmaresearch = 1, + /obj/item/vending_refill/donksnackvendor = 1, + /obj/item/vending_refill/donksoft = 1, + /obj/item/vending_refill/hotdog = 1, + ) + +//high chance to derail the shift, use cautiously +/obj/effect/spawner/random/engineering/vending_restock/oddity + name = "oddity vending restock spawner" + icon_state = "vending_restock" + loot = list( + + /obj/item/vending_refill/magivend = 1, + /obj/item/vending_refill/liberation = 1, + /obj/item/vending_refill/wardrobe/cent_wardrobe = 1, + + ) /obj/effect/spawner/random/engineering/atmospherics_portable name = "portable atmospherics machine spawner" diff --git a/code/game/objects/effects/spawners/random/mining_loot.dm b/code/game/objects/effects/spawners/random/mining_loot.dm new file mode 100644 index 00000000000..682c6e4ad23 --- /dev/null +++ b/code/game/objects/effects/spawners/random/mining_loot.dm @@ -0,0 +1,66 @@ + +/// For spawning loot from necropolis chests or other sources, this randomly chooses one of the following entries to spawn. +/obj/effect/spawner/random/mining_loot + name = "random mining loot" + desc = "Spawns one random mining loot." + icon = 'icons/obj/storage/crates.dmi' + icon_state = "necrocrate" + loot = list( + /obj/item/shared_storage/red = 1, + /obj/item/soulstone/anybody/mining = 1, + /obj/item/clothing/glasses/godeye = 1, + /obj/item/reagent_containers/cup/bottle/potion/flight = 1, + /obj/item/clothing/gloves/gauntlets = 1, + /obj/effect/spawner/random/mining_loot/pka_mod = 1, + /obj/item/rod_of_asclepius = 1, + /obj/item/organ/heart/cursed/wizard = 1, + /obj/item/ship_in_a_bottle = 1, + /obj/item/clothing/suit/hooded/berserker = 1, + /obj/item/jacobs_ladder = 1, + /obj/item/guardian_creator/miner = 1, + /obj/item/warp_cube/red = 1, + /obj/item/wisp_lantern = 1, + /obj/item/immortality_talisman = 1, + /obj/item/book/granter/action/spell/summonitem = 1, + /obj/item/book_of_babel = 1, + /obj/item/clothing/neck/necklace/memento_mori = 1, + ) + +/obj/effect/spawner/random/mining_loot/demonic + name = "random demonic mining loot" + desc = "Spawns one random mining loot from the demonic list." + icon = 'icons/obj/storage/crates.dmi' + icon_state = "necrocrate" + loot = list( + /obj/item/shared_storage/red = 1, + /obj/item/clothing/neck/cloak/wolf_coat = 1, + /obj/item/soulstone/anybody/mining = 1, + /obj/item/clothing/glasses/godeye = 1, + /obj/item/reagent_containers/cup/bottle/potion/flight = 1, + /obj/item/clothing/gloves/gauntlets = 1, + /obj/effect/spawner/random/mining_loot/pka_mod = 1, + /obj/item/rod_of_asclepius = 1, + /obj/item/organ/heart/cursed/wizard = 1, + /obj/item/jacobs_ladder = 1, + /obj/item/guardian_creator/miner = 1, + /obj/item/weldingtool/abductor = 1, + /obj/item/warp_cube/red = 1, + /obj/item/immortality_talisman = 1, + /obj/item/book/granter/action/spell/summonitem = 1, + /obj/item/clothing/neck/necklace/memento_mori = 1, + /obj/item/book/granter/action/spell/sacredflame = 1, + ) + +/// For spawning a rare PKA modkit +/obj/effect/spawner/random/mining_loot/pka_mod + name = "random rare PKA modkits" + desc = "Spawns one random rare PKA modkits." + icon = 'icons/obj/mining.dmi' + icon_state = "modkit" + loot = list( + /obj/item/borg/upgrade/modkit/aoe/mobs/andturfs = 1, + /obj/item/borg/upgrade/modkit/cooldown/repeater = 1, + /obj/item/borg/upgrade/modkit/resonator_blasts = 1, + /obj/item/borg/upgrade/modkit/bounty = 1, + /obj/item/borg/upgrade/modkit/lifesteal = 1, + ) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e538587006f..9aab02337cc 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -482,19 +482,6 @@ else if (siemens_coefficient <= 0.5) .["partially insulated"] = "It is made from a poor insulator that will dampen (but not fully block) electric shocks passing through it." - if(resistance_flags & INDESTRUCTIBLE) - .["indestructible"] = "It is extremely robust! It'll probably withstand anything that could happen to it!" - return - - if(resistance_flags & LAVA_PROOF) - .["lavaproof"] = "It is made of an extremely heat-resistant material, it'd probably be able to withstand lava!" - if(resistance_flags & (ACID_PROOF | UNACIDABLE)) - .["acidproof"] = "It looks pretty robust! It'd probably be able to withstand acid!" - if(resistance_flags & FREEZE_PROOF) - .["freezeproof"] = "It is made of cold-resistant materials." - if(resistance_flags & FIRE_PROOF) - .["fireproof"] = "It is made of fire-retardant materials." - /obj/item/examine_descriptor(mob/user) return "item" diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 03c9db6f474..ce5584892fa 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -696,7 +696,7 @@ */ /obj/item/card/id/proc/insert_money(obj/item/money, mob/user) var/physical_currency - if(istype(money, /obj/item/stack/spacecash) || istype(money, /obj/item/coin)) + if(istype(money, /obj/item/stack/spacecash) || istype(money, /obj/item/coin) || istype(money, /obj/item/poker_chip)) physical_currency = TRUE if(!registered_account) diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index aa1680b63d6..99308f05d9e 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -247,20 +247,6 @@ name = "Station Alerts" greyscale_colors = CIRCUIT_COLOR_ENGINEERING build_path = /obj/machinery/computer/station_alert - var/station_only = FALSE - -/obj/item/circuitboard/computer/station_alert/station_only - station_only = TRUE - -/obj/item/circuitboard/computer/station_alert/examine(mob/user) - . = ..() - . += span_info("The board is configured to [station_only ? "track all station and mining alarms" : "track alarms on the same z-level"].") - . += span_notice("The board mode can be changed with a [EXAMINE_HINT("multitool")].") - -/obj/item/circuitboard/computer/station_alert/multitool_act(mob/living/user) - station_only = !station_only - balloon_alert(user, "tracking set to [station_only ? "station" : "z-level"]") - return TRUE /obj/item/circuitboard/computer/turbine_computer name = "Turbine Computer" diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index 5da347bb2c7..8f0ef0ee1f2 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -466,15 +466,6 @@ /obj/item/stack/sheet/glass = 10, /obj/item/stack/sheet/plasteel = 5) -/obj/item/circuitboard/machine/bluespace_sender - name = "Bluespace Sender" - greyscale_colors = CIRCUIT_COLOR_ENGINEERING - build_path = /obj/machinery/atmospherics/components/unary/bluespace_sender - req_components = list( - /obj/item/stack/cable_coil = 10, - /obj/item/stack/sheet/glass = 10, - /obj/item/stack/sheet/plasteel = 5) - //Generic /obj/item/circuitboard/machine/component_printer name = "\improper Component Printer" @@ -668,7 +659,7 @@ if(!valid_vendor_names_paths) valid_vendor_names_paths = list() for(var/obj/machinery/vending/vendor_type as anything in subtypesof(/obj/machinery/vending)) - if(vendor_type::allow_custom) + if(vendor_type::allow_custom && vendor_type::refill_canister) valid_vendor_names_paths[vendor_type::name] = vendor_type /obj/item/circuitboard/machine/vendor/screwdriver_act(mob/living/user, obj/item/tool) @@ -697,27 +688,6 @@ set_type(machine.type) return ..() -/obj/item/circuitboard/machine/vending/donksofttoyvendor - name = "Donksoft Toy Vendor" - build_path = /obj/machinery/vending/donksofttoyvendor - req_components = list( - /obj/item/stack/sheet/glass = 1, - /obj/item/vending_refill/donksoft = 1) - -/obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor - name = "Syndicate Donksoft Toy Vendor" - build_path = /obj/machinery/vending/toyliberationstation - req_components = list( - /obj/item/stack/sheet/glass = 1, - /obj/item/vending_refill/donksoft = 1) - -/obj/item/circuitboard/machine/vending/donksnackvendor - name = "Donk Co Snack Vendor" - build_path = /obj/machinery/vending/donksnack - req_components = list( - /obj/item/stack/sheet/glass = 1, - /obj/item/vending_refill/donksnackvendor = 1) - /obj/item/circuitboard/machine/bountypad name = "Civilian Bounty Pad" greyscale_colors = CIRCUIT_COLOR_GENERIC diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 220e22f8ade..30731e086b5 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -44,6 +44,8 @@ var/crayon_color = "red" /// Current paint colour var/paint_color = COLOR_RED + ///How strong the outline should be when drawing around something. + var/outline_strength = 0.5 /// Contains chosen symbol to draw var/drawtype @@ -598,7 +600,26 @@ if(can_use_on(interacting_with, user, modifiers)) return use_on(interacting_with, user, modifiers) - return NONE + + if(!ishuman(interacting_with) || user.combat_mode) + return NONE + + var/mob/living/carbon/human/pwned_human = interacting_with + if(!(pwned_human.stat == DEAD || HAS_TRAIT(pwned_human, TRAIT_FAKEDEATH))) + return NONE + + interacting_with.balloon_alert(user, "drawing outline...") + if(!do_after(user, DRAW_TIME, target = pwned_human)) + return ITEM_INTERACT_FAILURE + if(!use_charges(user, 1)) + return ITEM_INTERACT_FAILURE + + to_chat(user, span_notice("You draw a chalk outline around [pwned_human].")) + var/obj/effect/decal/cleanable/crayon/chalk_line = new(get_turf(pwned_human), paint_color, "body", "chalk outline", null, null, "A vaguely [pwned_human] shaped body outline.", outline_strength) + chalk_line.pixel_y = (pwned_human.pixel_y + pwned_human.pixel_z) + chalk_line.pixel_x = (pwned_human.pixel_x + pwned_human.pixel_w) + chalk_line.create_outline(pwned_human, add_mouse_opacity = TRUE) + return ITEM_INTERACT_SUCCESS /obj/item/toy/crayon/get_writing_implement_details() return list( @@ -672,30 +693,7 @@ crayon_color = "white" reagent_contents = list(/datum/reagent/consumable/nutriment = 0.5, /datum/reagent/colorful_reagent/powder/white/crayon = 1.5) dye_color = DYE_WHITE - -/obj/item/toy/crayon/white/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - /// Wherein, we draw a chalk body outline vaguely around the dead or "dead" mob - if(!ishuman(interacting_with) || user.combat_mode) - return ..() - - var/mob/living/carbon/human/pwned_human = interacting_with - - if(!(pwned_human.stat == DEAD || HAS_TRAIT(pwned_human, TRAIT_FAKEDEATH))) - balloon_alert_to_viewers("FEEDING TIME") - return ..() - - balloon_alert_to_viewers("drawing outline...") - if(!do_after(user, DRAW_TIME, target = pwned_human, max_interact_count = 4)) - return NONE - if(!use_charges(user, 1)) - return NONE - - var/decal_rotation = GET_LYING_ANGLE(pwned_human) - 90 - var/obj/effect/decal/cleanable/crayon/chalk_line = new(get_turf(pwned_human), paint_color, "body", "chalk outline", decal_rotation, null, "A vaguely [pwned_human] shaped outline of a body.") - to_chat(user, span_notice("You draw a chalk outline around [pwned_human].")) - chalk_line.pixel_y = (pwned_human.pixel_y + pwned_human.pixel_z) + rand(-2, 2) - chalk_line.pixel_x = (pwned_human.pixel_x + pwned_human.pixel_w) + rand(-1, 1) - return ITEM_INTERACT_SUCCESS + outline_strength = 1 /obj/item/toy/crayon/mime name = "mime crayon" diff --git a/code/game/objects/items/drug_items.dm b/code/game/objects/items/drug_items.dm index 68d6c6b546f..bea5cec30fa 100644 --- a/code/game/objects/items/drug_items.dm +++ b/code/game/objects/items/drug_items.dm @@ -42,8 +42,7 @@ icon_state = "blastoff_ampoule" base_icon_state = "blastoff_ampoule" volume = 20 - reagent_flags = TRANSPARENT - spillable = FALSE + initial_reagent_flags = TRANSPARENT list_reagents = list(/datum/reagent/drug/blastoff = 10) reagent_consumption_method = INHALE consumption_sound = 'sound/effects/spray2.ogg' @@ -52,16 +51,15 @@ . = ..() if(!reagents.total_volume) icon_state = "[base_icon_state]_empty" - else if(spillable) + else if(is_open_container()) icon_state = "[base_icon_state]_open" else icon_state = base_icon_state /obj/item/reagent_containers/cup/blastoff_ampoule/attack_self(mob/user) - if(!user.can_perform_action(src, NEED_DEXTERITY) || spillable) + if(!user.can_perform_action(src, NEED_DEXTERITY) || is_open_container()) return ..() - reagent_flags |= OPENCONTAINER - spillable = TRUE + add_container_flags(OPENCONTAINER) playsound(src, 'sound/items/ampoule_snap.ogg', 40) update_appearance() @@ -74,8 +72,7 @@ var/obj/item/shard/ampoule_shard = new(drop_location()) playsound(src, SFX_SHATTER, 40, TRUE) transfer_fingerprints_to(ampoule_shard) - spillable = TRUE - SplashReagents(hit_atom, throwingdatum) + splash_reagents(hit_atom, throwingdatum?.get_thrower(), was_thrown = TRUE, allow_closed_splash = FALSE) qdel(src) hit_atom.Bumped(ampoule_shard) diff --git a/code/game/objects/items/dyespray.dm b/code/game/objects/items/dyespray.dm index 86caea178e7..7493e6da1c2 100644 --- a/code/game/objects/items/dyespray.dm +++ b/code/game/objects/items/dyespray.dm @@ -52,7 +52,7 @@ if(!what_to_dye || !user.can_perform_action(src, NEED_DEXTERITY)) return - if(what_to_dye == "External Bodyparts/Organs") + if(what_to_dye == "External Body Parts") dye_organ(target, user) return diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index ef927fa0fe9..11f629cb396 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -23,7 +23,7 @@ resistance_flags = FIRE_PROOF interaction_flags_click = NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING /// The max amount of water this extinguisher can hold. - var/max_water = 50 + var/max_water = 100 /// Does the welder extinguisher start with water. var/starting_water = TRUE /// Cooldown between uses. @@ -207,7 +207,6 @@ ) sprite_name = "foam_extinguisher" precision = TRUE - max_water = 100 /obj/item/extinguisher/advanced/empty starting_water = FALSE diff --git a/code/game/objects/items/food/salad.dm b/code/game/objects/items/food/salad.dm index 58e40439d15..c95a284e8f5 100644 --- a/code/game/objects/items/food/salad.dm +++ b/code/game/objects/items/food/salad.dm @@ -181,7 +181,7 @@ icon = 'icons/obj/food/soupsalad.dmi' icon_state = "bowl" base_icon_state = "bowl" - reagent_flags = OPENCONTAINER | DUNKABLE + initial_reagent_flags = OPENCONTAINER | DUNKABLE custom_materials = list(/datum/material/glass = SMALL_MATERIAL_AMOUNT*5) w_class = WEIGHT_CLASS_NORMAL custom_price = PAYCHECK_CREW * 0.6 diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index 28ef30d8830..27ea7e73bfb 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -270,3 +270,4 @@ if(iscyborg(user) && iscyborg(interacting_with)) balloon_alert(user, "can't charge this!") return ITEM_INTERACT_FAILURE + return ..() diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index 9d333e6332f..2d5c09546d9 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -196,13 +196,15 @@ icon_state = "pinpointer_hunter" worn_icon_state = "pinpointer_black" icon_suffix = "_hunter" - var/obj/shuttleport + var/obj/docking_port/mobile/shuttleport /obj/item/pinpointer/shuttle/Initialize(mapload) . = ..() shuttleport = SSshuttle.getShuttle("huntership") /obj/item/pinpointer/shuttle/scan_for_target() + if(!shuttleport) + shuttleport = SSshuttle.getShuttle("huntership") target = shuttleport /obj/item/pinpointer/shuttle/Destroy() diff --git a/code/game/objects/items/robot/items/hypo.dm b/code/game/objects/items/robot/items/hypo.dm index 01b7866495f..3a9dd2896af 100644 --- a/code/game/objects/items/robot/items/hypo.dm +++ b/code/game/objects/items/robot/items/hypo.dm @@ -175,32 +175,35 @@ cyborg.cell.use(charge_cost) stored_reagents.add_reagent(reagent_to_regen, 5, reagtemp = dispensed_temperature, no_react = TRUE) -/obj/item/reagent_containers/borghypo/attack(mob/living/carbon/injectee, mob/user) - if(!istype(injectee)) - return +/obj/item/reagent_containers/borghypo/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!iscarbon(interacting_with)) + return NONE + var/mob/living/carbon/injectee = interacting_with if(!selected_reagent) balloon_alert(user, "no reagent selected!") - return + return ITEM_INTERACT_BLOCKING if(!stored_reagents.has_reagent(selected_reagent.type, amount_per_transfer_from_this)) balloon_alert(user, "not enough [selected_reagent.name]!") - return + return ITEM_INTERACT_BLOCKING - if(injectee.try_inject(user, user.zone_selected, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE | (bypass_protection ? INJECT_CHECK_PENETRATE_THICK : 0))) - // This is the in-between where we're storing the reagent we're going to inject the injectee with - // because we cannot specify a singular reagent to transfer in trans_to - var/datum/reagents/hypospray_injector = new() - stored_reagents.remove_reagent(selected_reagent.type, amount_per_transfer_from_this) - hypospray_injector.add_reagent(selected_reagent.type, amount_per_transfer_from_this, reagtemp = dispensed_temperature, no_react = TRUE) - - to_chat(injectee, span_warning("You feel a tiny prick!")) - to_chat(user, span_notice("You inject [injectee] with the injector ([selected_reagent.name]).")) - - if(injectee.reagents) - hypospray_injector.trans_to(injectee, amount_per_transfer_from_this, transferred_by = user, methods = INJECT) - balloon_alert(user, "[amount_per_transfer_from_this] unit\s injected") - log_combat(user, injectee, "injected", src, "(CHEMICALS: [selected_reagent])") - else + if(!injectee.try_inject(user, user.zone_selected, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE | (bypass_protection ? INJECT_CHECK_PENETRATE_THICK : 0))) balloon_alert(user, "[injectee.parse_zone_with_bodypart(user.zone_selected)] is blocked!") + return ITEM_INTERACT_BLOCKING + + // This is the in-between where we're storing the reagent we're going to inject the injectee with + // because we cannot specify a singular reagent to transfer in trans_to + var/datum/reagents/hypospray_injector = new() + stored_reagents.remove_reagent(selected_reagent.type, amount_per_transfer_from_this) + hypospray_injector.add_reagent(selected_reagent.type, amount_per_transfer_from_this, reagtemp = dispensed_temperature, no_react = TRUE) + + to_chat(injectee, span_warning("You feel a tiny prick!")) + to_chat(user, span_notice("You inject [injectee] with the injector ([selected_reagent.name]).")) + + if(injectee.reagents) + hypospray_injector.trans_to(injectee, amount_per_transfer_from_this, transferred_by = user, methods = INJECT) + balloon_alert(user, "[amount_per_transfer_from_this] unit\s injected") + log_combat(user, injectee, "injected", src, "(CHEMICALS: [selected_reagent])") + return ITEM_INTERACT_SUCCESS /obj/item/reagent_containers/borghypo/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -397,9 +400,6 @@ SKYRAT EDIT REMOVAL END */ data["apparatusHasItem"] = !isnull(beverage_apparatus.stored) return data -/obj/item/reagent_containers/borghypo/borgshaker/attack(mob/M, mob/user) - return //Can't inject stuff with a shaker, can we? //not with that attitude - /obj/item/reagent_containers/borghypo/borgshaker/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!interacting_with.is_refillable()) return NONE @@ -459,9 +459,6 @@ SKYRAT EDIT REMOVAL END */ data["selectedReagent"] = selected_reagent?.name return data -/obj/item/reagent_containers/borghypo/condiment_synthesizer/attack(mob/M, mob/user) - return - /obj/item/reagent_containers/borghypo/condiment_synthesizer/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!interacting_with.is_refillable()) return NONE diff --git a/code/game/objects/items/robot/items/storage.dm b/code/game/objects/items/robot/items/storage.dm index 88349a65f4d..a9e94b7c0d9 100644 --- a/code/game/objects/items/robot/items/storage.dm +++ b/code/game/objects/items/robot/items/storage.dm @@ -118,9 +118,6 @@ stored = new /obj/item/reagent_containers/cup/beaker/large(src) /obj/item/borg/apparatus/beaker/Destroy() - if(stored) - var/obj/item/reagent_containers/reagent_container = stored - reagent_container.SplashReagents(get_turf(src)) QDEL_NULL(stored) return ..() diff --git a/code/game/objects/items/soulscythe.dm b/code/game/objects/items/soulscythe.dm index d58ae34de50..b4699dd3fa5 100644 --- a/code/game/objects/items/soulscythe.dm +++ b/code/game/objects/items/soulscythe.dm @@ -261,7 +261,7 @@ /mob/living/basic/soulscythe/Initialize(mapload) . = ..() - add_traits(list(TRAIT_ASHSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), ROUNDSTART_TRAIT) + add_traits(list(TRAIT_ASHSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE, TRAIT_LAVA_IMMUNE), INNATE_TRAIT) RegisterSignal(src, COMSIG_LIVING_LIFE, PROC_REF(on_life)) /mob/living/basic/soulscythe/proc/on_life(datum/source, seconds_per_tick, times_fired) // done like this because there's no need to go through all of life since the item does the work anyways diff --git a/code/game/objects/items/stacks/golem_food/golem_food_buff.dm b/code/game/objects/items/stacks/golem_food/golem_food_buff.dm index 09c1a335ef1..cbd84aee0cb 100644 --- a/code/game/objects/items/stacks/golem_food/golem_food_buff.dm +++ b/code/game/objects/items/stacks/golem_food/golem_food_buff.dm @@ -17,15 +17,15 @@ return !existing || istype(existing, status_effect) /// Called when someone actually eats this -/datum/golem_food_buff/proc/on_consumption(mob/living/carbon/consumer, atom/movable/consumed) +/datum/golem_food_buff/proc/on_consumption(mob/living/carbon/consumer, atom/movable/consumed, multiplier = 1) if (!HAS_TRAIT(consumer, TRAIT_ROCK_METAMORPHIC)) return - apply_effects(consumer, consumed) + apply_effects(consumer, consumed, multiplier) /// Apply our desired effects to the eater -/datum/golem_food_buff/proc/apply_effects(mob/living/carbon/consumer, atom/movable/consumed) +/datum/golem_food_buff/proc/apply_effects(mob/living/carbon/consumer, atom/movable/consumed, multiplier = 1) if (status_effect) - consumer.apply_status_effect(status_effect) + consumer.apply_status_effect(status_effect, multiplier) /// Can eat at any time, but isn't very nutritious /datum/golem_food_buff/glass @@ -42,10 +42,10 @@ /// Order in which to heal damage types var/list/damage_heal_order = list(BRUTE, BURN, TOX, OXY) -/datum/golem_food_buff/iron/apply_effects(mob/living/carbon/consumer, atom/movable/consumed) +/datum/golem_food_buff/iron/apply_effects(mob/living/carbon/consumer, atom/movable/consumed, multiplier = 1) if (consumer.health == consumer.maxHealth) return - consumer.heal_ordered_damage(healed_amount, damage_heal_order) + consumer.heal_ordered_damage(healed_amount * multiplier, damage_heal_order) new /obj/effect/temp_visual/heal(get_turf(consumer), COLOR_HEALING_CYAN) /datum/golem_food_buff/uranium @@ -90,7 +90,7 @@ exclusive = FALSE added_info = "After consumption, you can launch this mineral like a rocket. It's a little hard to keep down." -/datum/golem_food_buff/gibtonite/apply_effects(mob/living/carbon/human/consumer, atom/movable/consumed) +/datum/golem_food_buff/gibtonite/apply_effects(mob/living/carbon/human/consumer, atom/movable/consumed, multiplier = 1) var/obj/item/gibtonite_hand/new_hand = new(null, /* held_gibtonite = */ consumed) if(consumer.put_in_hands(new_hand)) @@ -108,10 +108,14 @@ exclusive = FALSE added_info = "After consumption, you can use the stored power to teleport yourself." -/datum/golem_food_buff/bluespace/apply_effects(mob/living/carbon/human/consumer, obj/item/stack/consumed) +/datum/golem_food_buff/bluespace/apply_effects(mob/living/carbon/human/consumer, atom/movable/consumed, multiplier = 1) + if(multiplier <= 0.2) + return var/obj/item/bluespace_finger/new_hand = new - if (consumed.amount == 1) - consumer.dropItemToGround(consumed) + if (isstack(consumed)) + var/obj/item/stack/stack = consumed + if(stack.amount == 1) + consumer.dropItemToGround(stack) if (consumer.put_in_hands(new_hand, del_on_fail = TRUE)) return consumer.balloon_alert(consumer, "no free hands!") diff --git a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm index cb6498ffdc5..f2626844dc7 100644 --- a/code/game/objects/items/stacks/golem_food/golem_status_effects.dm +++ b/code/game/objects/items/stacks/golem_food/golem_status_effects.dm @@ -94,9 +94,16 @@ animate(alpha = 50, time = 7.5 SECONDS, loop = -1, easing = SINE_EASING) return TRUE -/datum/status_effect/golem/on_creation(mob/living/new_owner) +/datum/status_effect/golem/on_creation(mob/living/new_owner, multiplier = 1) + ///instead of straight out multiplying the duration, we use exponents to flatten the duration so it doesn't become exceedingly long for golems + var/exponent = 0.2 if(!isgolem(new_owner)) duration *= 0.1 + exponent = 0.5 //non-golem benefit more from higher multipliers since it normally only lasts for 30 seconds for them. + if(multiplier > 1) + duration *= multiplier ** exponent + else // if the multiplier is lower than 1, don't bother using powers. + duration *= multiplier var/buff_duration = duration . = ..() if (!.) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 3ad37af3e0f..b9a907f8b32 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -182,7 +182,8 @@ if(!use(1) || !repeating || amount <= 0) var/atom/alert_loc = QDELETED(src) ? user : src alert_loc.balloon_alert(user, repeating ? "all used up!" : "treated [parse_zone(healed_zone)]") - playsound(patient, heal_end_sound, 75, TRUE, MEDIUM_RANGE_SOUND_EXTRARANGE) + if(heal_end_sound) + playsound(patient, heal_end_sound, 75, TRUE, MEDIUM_RANGE_SOUND_EXTRARANGE) return if(heal_continuous_sound && (continuous || !silent)) playsound(patient, heal_continuous_sound, 75, TRUE, MEDIUM_RANGE_SOUND_EXTRARANGE) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index cdbe10bbea0..e307fa81b66 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -38,7 +38,7 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ throw_speed = 3 throw_range = 5 mats_per_unit = list(/datum/material/sandstone=SHEET_MATERIAL_AMOUNT) - sheettype = "sandstone" + construction_path_type = "sandstone" merge_type = /obj/item/stack/sheet/mineral/sandstone walltype = /turf/closed/wall/mineral/sandstone material_type = /datum/material/sandstone @@ -99,7 +99,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ icon_state = "sheet-diamond" inhand_icon_state = "sheet-diamond" singular_name = "diamond" - sheettype = "diamond" + construction_path_type = "diamond" mats_per_unit = list(/datum/material/diamond=SHEET_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/carbon = 20) gulag_valid = TRUE @@ -130,7 +130,7 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \ icon_state = "sheet-uranium" inhand_icon_state = "sheet-uranium" singular_name = "uranium sheet" - sheettype = "uranium" + construction_path_type = "uranium" mats_per_unit = list(/datum/material/uranium=SHEET_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/uranium = 20) gulag_valid = TRUE @@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ icon_state = "sheet-plasma" inhand_icon_state = "sheet-plasma" singular_name = "plasma sheet" - sheettype = "plasma" + construction_path_type = "plasma" resistance_flags = FLAMMABLE max_integrity = 100 mats_per_unit = list(/datum/material/plasma=SHEET_MATERIAL_AMOUNT) @@ -205,7 +205,7 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ icon_state = "sheet-gold" inhand_icon_state = "sheet-gold" singular_name = "gold bar" - sheettype = "gold" + construction_path_type = "gold" mats_per_unit = list(/datum/material/gold=SHEET_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/gold = 20) gulag_valid = TRUE @@ -236,7 +236,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ icon_state = "sheet-silver" inhand_icon_state = "sheet-silver" singular_name = "silver bar" - sheettype = "silver" + construction_path_type = "silver" mats_per_unit = list(/datum/material/silver=SHEET_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/silver = 20) gulag_valid = TRUE @@ -266,7 +266,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \ icon_state = "sheet-bananium" inhand_icon_state = null singular_name = "bananium sheet" - sheettype = "bananium" + construction_path_type = "bananium" mats_per_unit = list(/datum/material/bananium=SHEET_MATERIAL_AMOUNT) grind_results = list(/datum/reagent/consumable/banana = 20) gulag_valid = TRUE @@ -298,7 +298,7 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \ w_class = WEIGHT_CLASS_NORMAL throw_speed = 1 throw_range = 3 - sheettype = "titanium" + construction_path_type = "titanium" mats_per_unit = list(/datum/material/titanium=SHEET_MATERIAL_AMOUNT) gulag_valid = TRUE merge_type = /obj/item/stack/sheet/mineral/titanium @@ -352,7 +352,7 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ w_class = WEIGHT_CLASS_NORMAL throw_speed = 1 throw_range = 3 - sheettype = "plastitanium" + construction_path_type = "plastitanium" mats_per_unit = list(/datum/material/alloy/plastitanium=SHEET_MATERIAL_AMOUNT) gulag_valid = TRUE material_type = /datum/material/alloy/plastitanium @@ -463,7 +463,7 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( icon_state = "sheet-abductor" inhand_icon_state = "sheet-abductor" singular_name = "alien alloy sheet" - sheettype = "abductor" + construction_path_type = "abductor" mats_per_unit = list(/datum/material/alloy/alien=SHEET_MATERIAL_AMOUNT) merge_type = /obj/item/stack/sheet/mineral/abductor material_type = /datum/material/alloy/alien diff --git a/code/game/objects/items/stacks/sheets/runed_metal.dm b/code/game/objects/items/stacks/sheets/runed_metal.dm index 5e0900a3ff3..b1810b62482 100644 --- a/code/game/objects/items/stacks/sheets/runed_metal.dm +++ b/code/game/objects/items/stacks/sheets/runed_metal.dm @@ -75,7 +75,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ inhand_icon_state = "sheet-runed" icon = 'icons/obj/stack_objects.dmi' mats_per_unit = list(/datum/material/runedmetal = SHEET_MATERIAL_AMOUNT) - sheettype = "runed" + construction_path_type = "runed" merge_type = /obj/item/stack/sheet/runed_metal grind_results = list(/datum/reagent/iron = 5, /datum/reagent/blood = 15) material_type = /datum/material/runedmetal diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index fad6549cf4a..105693b745c 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -416,7 +416,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ inhand_icon_state = "sheet-wood" icon = 'icons/obj/stack_objects.dmi' mats_per_unit = list(/datum/material/wood=SHEET_MATERIAL_AMOUNT) - sheettype = "wood" + construction_path_type = "wood" armor_type = /datum/armor/mineral_wood resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/mineral/wood @@ -481,7 +481,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ icon_state = "sheet-bamboo" inhand_icon_state = "sheet-bamboo" icon = 'icons/obj/stack_objects.dmi' - sheettype = "bamboo" + construction_path_type = "bamboo" mats_per_unit = list(/datum/material/bamboo = SHEET_MATERIAL_AMOUNT) throwforce = 15 armor_type = /datum/armor/mineral_bamboo @@ -794,7 +794,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ lefthand_file = 'icons/mob/inhands/items/sheets_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/sheets_righthand.dmi' resistance_flags = FIRE_PROOF | ACID_PROOF - sheettype = "bronze" + construction_path_type = "bronze" force = 5 throwforce = 10 max_amount = 50 diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 35e8dd161f4..bd50d1648e8 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -18,14 +18,13 @@ pickup_sound = 'sound/items/handling/materials/metal_pick_up.ogg' drop_sound = 'sound/items/handling/materials/metal_drop.ogg' sound_vary = TRUE - /// this is used for girders in the creation of walls/false walls - var/sheettype = null + usable_for_construction = TRUE + /// text string used to find typepaths used in door and wall (false and tram too) construction for door assemblies and girders respectively + var/construction_path_type = null ///If true, this is worth points in the gulag labour stacker var/gulag_valid = FALSE ///Set to true if this is vended from a material storage var/manufactured = FALSE - ///What type of wall does this sheet spawn - var/walltype /// whether this sheet can be sniffed by the material sniffer var/sniffable = FALSE diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 428d737692b..dc62221ed00 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -45,8 +45,6 @@ // these amounts will be multiplied by the stack size in on_grind() /// Amount of matter given back to RCDs var/matter_amount = 0 - /// Does this stack require a unique girder in order to make a wall? - var/has_unique_girder = FALSE /// What typepath table we create from this stack var/obj/structure/table/table_type /// What typepath stairs do we create from this stack @@ -73,6 +71,13 @@ /// or until the cut heals, whichever comes first var/absorption_rate + /// Can this stack be used for contruction of girders? + var/usable_for_construction = FALSE + /// Does this stack require a unique girder in order to make a wall? + var/has_unique_girder = FALSE + ///What type of wall does this sheet spawn + var/walltype + /obj/item/stack/Initialize(mapload, new_amount = amount, merge = TRUE, list/mat_override=null, mat_amt=1) amount = new_amount if(amount <= 0) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 1ce7b49e879..b9da9b34bb3 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -101,82 +101,122 @@ slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_POCKETS w_class = WEIGHT_CLASS_NORMAL storage_type = /datum/storage/bag/ore - ///If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it + /// If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it var/spam_protection = FALSE - var/mob/listeningTo - ///Cooldown on balloon alerts when picking ore + /// Mob we're currently tracking + var/mob/listening_to = null + /// Are we currently dropping off ores? Used to prevent the bag from instantly picking up ores after dropping them + var/dropping_ores = FALSE + /// Cooldown on balloon alerts when picking ore COOLDOWN_DECLARE(ore_bag_balloon_cooldown) +/obj/item/storage/bag/ore/Destroy(force) + listening_to = null + return ..() + /obj/item/storage/bag/ore/equipped(mob/user) . = ..() - if(listeningTo == user) + if (listening_to) return - if(listeningTo) - UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(pickup_ores)) - listeningTo = user + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_user_moved)) + if (isturf(user.loc)) + RegisterSignal(user.loc, COMSIG_ATOM_ENTERED, PROC_REF(on_obj_entered)) + RegisterSignal(user.loc, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, PROC_REF(on_atom_initialized_on)) + listening_to = user /obj/item/storage/bag/ore/dropped() . = ..() - if(listeningTo) - UnregisterSignal(listeningTo, COMSIG_MOVABLE_MOVED) - listeningTo = null + if(!listening_to) + return + UnregisterSignal(listening_to, COMSIG_MOVABLE_MOVED) + if (listening_to.loc) + UnregisterSignal(listening_to.loc, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) + listening_to = null + +// Ensure we don't suck up ores that we've just dropped off +/obj/item/storage/bag/ore/attack_self(mob/user, modifiers) + dropping_ores = TRUE + . = ..() + dropping_ores = FALSE /obj/item/storage/bag/ore/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if(istype(tool, /obj/item/boulder)) to_chat(user, span_warning("You can't fit [tool] into [src]. \ Perhaps you should break it down first, or find an ore box.")) return ITEM_INTERACT_BLOCKING - return NONE -/obj/item/storage/bag/ore/proc/pickup_ores(mob/living/user) +/obj/item/storage/bag/ore/proc/on_user_moved(mob/living/user, atom/old_loc, dir, forced) SIGNAL_HANDLER - var/show_message = FALSE - var/obj/structure/ore_box/box - var/turf/tile = get_turf(user) + if(old_loc) + UnregisterSignal(old_loc, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) + var/turf/tile = get_turf(user) if(!isturf(tile)) return + RegisterSignal(tile, COMSIG_ATOM_ENTERED, PROC_REF(on_obj_entered)) + RegisterSignal(tile, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, PROC_REF(on_atom_initialized_on)) + var/obj/structure/ore_box/box = null if(istype(user.pulling, /obj/structure/ore_box)) box = user.pulling - if(atom_storage) - for(var/thing in tile) - if(!is_type_in_typecache(thing, atom_storage.can_hold)) - continue - if(box) - user.transferItemToLoc(thing, box) - show_message = TRUE - else if(atom_storage.attempt_insert(thing, user)) - show_message = TRUE - else - if(!spam_protection) - balloon_alert(user, "bag full!") - spam_protection = TRUE - continue - if(show_message) - playsound(user, SFX_RUSTLE, 50, TRUE) - if(!COOLDOWN_FINISHED(src, ore_bag_balloon_cooldown)) - return + var/show_message = FALSE + for(var/atom/thing as anything in tile) + if(is_type_in_typecache(thing, atom_storage.can_hold)) + show_message ||= pickup_ore(thing, user, box) - COOLDOWN_START(src, ore_bag_balloon_cooldown, ORE_BAG_BALOON_COOLDOWN) - if (box) - balloon_alert(user, "scoops ore into box") - user.visible_message( - span_notice("[user] offloads the ores beneath [user.p_them()] into [box]."), - ignored_mobs = user - ) - else - balloon_alert(user, "scoops ore into bag") - user.visible_message( - span_notice("[user] scoops up the ores beneath [user.p_them()]."), - ignored_mobs = user - ) + if (!show_message) + spam_protection = FALSE + return + + playsound(user, SFX_RUSTLE, 50, TRUE) + if(!COOLDOWN_FINISHED(src, ore_bag_balloon_cooldown)) + return spam_protection = FALSE + COOLDOWN_START(src, ore_bag_balloon_cooldown, ORE_BAG_BALOON_COOLDOWN) + + if (box) + balloon_alert(user, "scoops ore into box") + user.visible_message( + span_notice("[user] offloads the ores beneath [user.p_them()] into [box]."), + ignored_mobs = user + ) + return + + balloon_alert(user, "scoops ore into bag") + user.visible_message( + span_notice("[user] scoops up the ores beneath [user.p_them()]."), + ignored_mobs = user + ) + +/obj/item/storage/bag/ore/proc/pickup_ore(obj/item/ore, mob/user, obj/structure/ore_box/box) + if (!box && istype(user.pulling, /obj/structure/ore_box)) + box = user.pulling + + if (box) + user.transferItemToLoc(ore, box) + return TRUE + + if (atom_storage.attempt_insert(ore, user)) + return TRUE + + if (!spam_protection) + balloon_alert(user, "bag full!") + spam_protection = TRUE + return FALSE + +/obj/item/storage/bag/ore/proc/on_obj_entered(atom/new_loc, atom/movable/arrived, atom/old_loc) + SIGNAL_HANDLER + if(is_type_in_list(arrived, atom_storage.can_hold) && !dropping_ores) + pickup_ore(arrived, listening_to) + +/obj/item/storage/bag/ore/proc/on_atom_initialized_on(atom/loc, atom/new_atom) + SIGNAL_HANDLER + if(is_type_in_list(new_atom, atom_storage.can_hold)) + pickup_ore(new_atom, listening_to) /obj/item/storage/bag/ore/cyborg name = "cyborg mining satchel" diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm index 379d8b1c3bf..5f191ae60f0 100644 --- a/code/game/objects/items/storage/holsters.dm +++ b/code/game/objects/items/storage/holsters.dm @@ -102,6 +102,3 @@ /obj/item/ammo_box/speedloader/c357 = 2, /obj/item/gun/ballistic/revolver/cowboy/nuclear = 1, ), src) - - - diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 0b97caa3caa..a704d49a7f3 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -396,8 +396,7 @@ /// How much to inject per second var/injection_amount = 0.5 amount_per_transfer_from_this = 5 - reagent_flags = OPENCONTAINER - spillable = FALSE + initial_reagent_flags = TRANSPARENT possible_transfer_amounts = list(5,10,15) fill_icon_thresholds = list(0, 15, 60) fill_icon_state = "backpack" diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm index 7a50e142065..75544b7ae1b 100644 --- a/code/game/objects/items/tcg/tcg.dm +++ b/code/game/objects/items/tcg/tcg.dm @@ -162,7 +162,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) else ntransform.TurnTo(UNTAPPED_ANGLE , TAPPED_ANGLE) tapped = !tapped - animate(src, transform = ntransform, time = 2, easing = (EASE_IN|EASE_OUT)) + animate(src, transform = ntransform, time = 2, easing = SINE_EASING) /obj/item/tcgcard/proc/flip_card(mob/user) to_chat(user, span_notice("You turn the card over.")) diff --git a/code/game/objects/items/tools/painter/paintable_decals.dm b/code/game/objects/items/tools/painter/paintable_decals.dm index 2f65327265b..cf96ee6d193 100644 --- a/code/game/objects/items/tools/painter/paintable_decals.dm +++ b/code/game/objects/items/tools/painter/paintable_decals.dm @@ -170,7 +170,7 @@ category = "Tiles" default_alpha = /obj/effect/turf_decal/tile::alpha possible_colors = list( - "Neutral" = /obj/effect/turf_decal/tile/neutral::color, + "Neutral" = "#d4d4d432", // very lazy way to do transparent decal, should be remade in future "White" = "#FFFFFF", "Dark" = /obj/effect/turf_decal/tile/dark::color, "Bar Burgundy" = /obj/effect/turf_decal/tile/bar::color, diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 84df412532e..5f9b566b670 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -223,6 +223,8 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag) . = ..() if(obj_flags & UNIQUE_RENAME) .["renameable"] = "Use a pen on it to rename it or change its description." + if(obj_flags & CONDUCTS_ELECTRICITY) + .["conductive"] = "It appears to be a good conductor of electricity." /obj/analyzer_act(mob/living/user, obj/item/analyzer/tool) if(atmos_scan(user=user, target=src, silent=FALSE)) diff --git a/code/game/objects/structures/cannons/cannon.dm b/code/game/objects/structures/cannons/cannon.dm index 1261ae6e8a3..4c44ae646a8 100644 --- a/code/game/objects/structures/cannons/cannon.dm +++ b/code/game/objects/structures/cannons/cannon.dm @@ -84,7 +84,7 @@ else if(is_reagent_container(used_item)) var/obj/item/reagent_containers/powder_keg = used_item - if(!(powder_keg.reagent_flags & OPENCONTAINER)) + if(!powder_keg.is_open_container()) return ..() if(istype(powder_keg, /obj/item/rag)) return ..() diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index c8c9cdf058d..af86af9bc05 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -212,63 +212,63 @@ electronics = null ae.forceMove(src.loc) - else if(istype(W, /obj/item/stack/sheet) && (!glass || !mineral)) - var/obj/item/stack/sheet/G = W - if(G) - if(G.get_amount() >= 1) - if(!noglass) - if(!glass) - if(istype(G, /obj/item/stack/sheet/rglass) || istype(G, /obj/item/stack/sheet/glass)) - playsound(src, 'sound/items/tools/crowbar.ogg', 100, TRUE) - user.visible_message(span_notice("[user] adds [G.name] to the airlock assembly."), \ - span_notice("You start to install [G.name] into the airlock assembly...")) - if(do_after(user, 4 SECONDS, target = src)) - if(G.get_amount() < 1 || glass) - return - if(G.type == /obj/item/stack/sheet/rglass) - to_chat(user, span_notice("You install [G.name] windows into the airlock assembly.")) - heat_proof_finished = 1 //reinforced glass makes the airlock heat-proof - name = "near finished heat-proofed window airlock assembly" - else - to_chat(user, span_notice("You install regular glass windows into the airlock assembly.")) - name = "near finished window airlock assembly" - G.use(1) - glass = TRUE - if(!nomineral && !mineral) - if(istype(G, /obj/item/stack/sheet/mineral) && G.sheettype) - var/M = G.sheettype - var/mineralassembly = text2path("/obj/structure/door_assembly/door_assembly_[M]") - if(!ispath(mineralassembly)) - to_chat(user, span_warning("You cannot add [G] to [src]!")) - return - if(G.get_amount() >= 2) - playsound(src, 'sound/items/tools/crowbar.ogg', 100, TRUE) - user.visible_message(span_notice("[user] adds [G.name] to the airlock assembly."), \ - span_notice("You start to install [G.name] into the airlock assembly...")) - if(do_after(user, 4 SECONDS, target = src)) - if(G.get_amount() < 2 || mineral) - return - to_chat(user, span_notice("You install [M] plating into the airlock assembly.")) - G.use(2) - var/obj/structure/door_assembly/MA = new mineralassembly(loc) - - if(MA.noglass && glass) //in case the new door doesn't support glass. prevents the new one from reverting to a normal airlock after being constructed. - var/obj/item/stack/sheet/dropped_glass - if(heat_proof_finished) - dropped_glass = new /obj/item/stack/sheet/rglass(drop_location()) - heat_proof_finished = FALSE - else - dropped_glass = new /obj/item/stack/sheet/glass(drop_location()) - glass = FALSE - to_chat(user, span_notice("As you finish, a [dropped_glass.singular_name] falls out of [MA]'s frame.")) - - transfer_assembly_vars(src, MA, TRUE) - else - to_chat(user, span_warning("You need at least two sheets add a mineral cover!")) - else - to_chat(user, span_warning("You cannot add [G] to [src]!")) + else if(istype(W, /obj/item/stack/sheet)) + var/obj/item/stack/sheet/sheet = W + if(!glass && (istype(sheet, /obj/item/stack/sheet/rglass) || istype(sheet, /obj/item/stack/sheet/glass))) + if(noglass) + to_chat(user, span_warning("You cannot add [sheet] to [src]!")) + return + playsound(src, 'sound/items/tools/crowbar.ogg', 100, TRUE) + user.visible_message(span_notice("[user] adds [sheet.name] to the airlock assembly."), \ + span_notice("You start to install [sheet.name] into the airlock assembly...")) + if(do_after(user, 4 SECONDS, target = src)) + if(sheet.get_amount() < 1 || glass) + return + if(sheet.type == /obj/item/stack/sheet/rglass) + to_chat(user, span_notice("You install [sheet.name] windows into the airlock assembly.")) + heat_proof_finished = 1 //reinforced glass makes the airlock heat-proof + name = "near finished heat-proofed window airlock assembly" else - to_chat(user, span_warning("You cannot add [G] to [src]!")) + to_chat(user, span_notice("You install regular glass windows into the airlock assembly.")) + name = "near finished window airlock assembly" + sheet.use(1) + glass = TRUE + return + + if(istype(sheet, /obj/item/stack/sheet/mineral) && sheet.construction_path_type) + if(nomineral || mineral) + to_chat(user, span_warning("You cannot add [sheet] to [src]!")) + return + + var/M = sheet.construction_path_type + var/mineralassembly = text2path("/obj/structure/door_assembly/door_assembly_[M]") + if(!ispath(mineralassembly)) + to_chat(user, span_warning("You cannot add [sheet] to [src]!")) + return + if(sheet.get_amount() < 2) + to_chat(user, span_warning("You need at least two sheets add a mineral cover!")) + return + + playsound(src, 'sound/items/tools/crowbar.ogg', 100, TRUE) + user.visible_message(span_notice("[user] adds [sheet.name] to the airlock assembly."), \ + span_notice("You start to install [sheet.name] into the airlock assembly...")) + if(!do_after(user, 4 SECONDS, target = src) || sheet.get_amount() < 2 || mineral) + return + to_chat(user, span_notice("You install [M] plating into the airlock assembly.")) + sheet.use(2) + var/obj/structure/door_assembly/MA = new mineralassembly(loc) + + if(MA.noglass && glass) //in case the new door doesn't support glass. prevents the new one from reverting to a normal airlock after being constructed. + var/obj/item/stack/sheet/dropped_glass + if(heat_proof_finished) + dropped_glass = new /obj/item/stack/sheet/rglass(drop_location()) + heat_proof_finished = FALSE + else + dropped_glass = new /obj/item/stack/sheet/glass(drop_location()) + glass = FALSE + to_chat(user, span_notice("As you finish, a [dropped_glass.singular_name] falls out of [MA]'s frame.")) + + transfer_assembly_vars(src, MA, TRUE) else if((W.tool_behaviour == TOOL_SCREWDRIVER) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) user.visible_message(span_notice("[user] finishes the airlock."), \ diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index da21e29fd01..94bb8f801b8 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -45,12 +45,7 @@ /obj/structure/girder/attackby(obj/item/W, mob/user, list/modifiers, list/attack_modifiers) var/skill_modifier = user.mind.get_skill_modifier(/datum/skill/construction, SKILL_SPEED_MODIFIER) //SKYRAT EDIT - var/platingmodifier = 1 - if(HAS_TRAIT(user, TRAIT_QUICK_BUILD)) - platingmodifier = 0.7 - if(next_beep <= world.time) - next_beep = world.time + 10 - playsound(src, 'sound/machines/clockcult/integration_cog_install.ogg', 50, TRUE) + add_fingerprint(user) if(istype(W, /obj/item/gun/energy/plasmacutter)) @@ -65,9 +60,14 @@ if(!QDELETED(M)) M.add_fingerprint(user) qdel(src) + return + + if(isstack(W)) + var/obj/item/stack/stack = W + if(!stack.usable_for_construction) + balloon_alert(user, "can't make walls with it!") return - else if(isstack(W)) if(iswallturf(loc) || (locate(/obj/structure/falsewall) in src.loc.contents)) balloon_alert(user, "wall already present!") return @@ -79,256 +79,260 @@ balloon_alert(user, "need tram floors!") return - if(istype(W, /obj/item/stack/rods)) - var/obj/item/stack/rods/rod = W - var/amount = construction_cost[rod.type] - if(state == GIRDER_DISPLACED) - if(rod.get_amount() < amount) - balloon_alert(user, "need [amount] rods!") - return - balloon_alert(user, "concealing entrance...") - if(do_after(user, 2 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT - if(rod.get_amount() < amount) - return - rod.use(amount) - var/obj/structure/falsewall/iron/FW = new (loc) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(FW) - qdel(src) - return - else if(state == GIRDER_REINF) - balloon_alert(user, "need plasteel sheet!") - return - else - if(rod.get_amount() < amount) - balloon_alert(user, "need [amount] rods!") - return - balloon_alert(user, "adding rods...") - if(do_after(user, 4 SECONDS * skill_modifier, target = src)) // BUBBER EDIT CHANGE - Skills - ORIGINAL: if(do_after(user, 4 SECONDS, target = src)) - if(rod.get_amount() < amount) - return - rod.use(amount) - var/turf/T = get_turf(src) - T.place_on_top(/turf/closed/wall/mineral/iron) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(T) - qdel(src) - return + make_wall(stack, user) + return - if(!istype(W, /obj/item/stack/sheet)) - return - - var/obj/item/stack/sheet/sheets = W - if(istype(sheets, /obj/item/stack/sheet/iron)) - var/amount = construction_cost[/obj/item/stack/sheet/iron] - if(state == GIRDER_DISPLACED) - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - balloon_alert(user, "concealing entrance...") - if(do_after(user, 20 * platingmodifier * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/obj/structure/falsewall/F = new (loc) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(F) - qdel(src) - return - else if(state == GIRDER_REINF) - balloon_alert(user, "need plasteel sheet!") - return - else if(state == GIRDER_TRAM) - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - balloon_alert(user, "adding plating...") - if (do_after(user, 4 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/obj/structure/tram/alt/iron/tram_wall = new(loc) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(tram_wall) - qdel(src) - return - else - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - balloon_alert(user, "adding plating...") - if (do_after(user, 40 * platingmodifier * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/turf/T = get_turf(src) - T.place_on_top(/turf/closed/wall) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(T) - qdel(src) - return - - if(istype(sheets, /obj/item/stack/sheet/titaniumglass) && state == GIRDER_TRAM) - var/amount = construction_cost[/obj/item/stack/sheet/titaniumglass] - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - balloon_alert(user, "adding panel...") - if (do_after(user, 2 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/obj/structure/tram/tram_wall = new(loc) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(tram_wall) - qdel(src) - return - - if(istype(sheets, /obj/item/stack/sheet/plasteel)) - var/amount = construction_cost[/obj/item/stack/sheet/plasteel] - if(state == GIRDER_DISPLACED) - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - balloon_alert(user, "concealing entrance...") - if(do_after(user, 2 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/obj/structure/falsewall/reinforced/FW = new (loc) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(FW) - qdel(src) - return - else if(state == GIRDER_REINF) - amount = 1 // hur dur let's make plasteel have different construction amounts 4norasin - if(sheets.get_amount() < amount) - return - balloon_alert(user, "adding plating...") - if(do_after(user, 50 * platingmodifier * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/turf/T = get_turf(src) - T.place_on_top(/turf/closed/wall/r_wall) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(T) - qdel(src) - return - else - amount = 1 // hur dur x2 - if(sheets.get_amount() < amount) - return - balloon_alert(user, "reinforcing frame...") - if(do_after(user, 60 * platingmodifier * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/obj/structure/girder/reinforced/R = new (loc) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - transfer_fingerprints_to(R) - qdel(src) - return - - if(istype(sheets, /obj/item/stack/sheet/mineral/plastitanium)) - if(state == GIRDER_REINF) - if(sheets.get_amount() < 1) - return - balloon_alert(user, "adding plating...") - if(do_after(user, 50*platingmodifier, target = src)) - if(sheets.get_amount() < 1) - return - sheets.use(1) - var/turf/T = get_turf(src) - T.place_on_top(/turf/closed/wall/r_wall/plastitanium) - transfer_fingerprints_to(T) - qdel(src) - return - // No return here because generic material construction handles making normal plastitanium walls - - if(!sheets.has_unique_girder && sheets.material_type) - if(istype(src, /obj/structure/girder/reinforced)) - balloon_alert(user, "need plasteel or plastitanium!") - return - var/M = sheets.sheettype - var/amount = construction_cost["exotic_material"] - if(state == GIRDER_TRAM) - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - var/tram_wall_type = text2path("/obj/structure/tram/alt/[M]") - if(!tram_wall_type) - balloon_alert(user, "need titanium glass or mineral!") - return - balloon_alert(user, "adding plating...") - if (do_after(user, 4 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - var/obj/structure/tram/tram_wall - tram_wall = new tram_wall_type(loc) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - sheets.use(amount) - transfer_fingerprints_to(tram_wall) - qdel(src) - return - if(state == GIRDER_DISPLACED) - var/falsewall_type = text2path("/obj/structure/falsewall/[M]") - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - balloon_alert(user, "concealing entrance...") - if(do_after(user, 2 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/obj/structure/falsewall/falsewall - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - if(falsewall_type) - falsewall = new falsewall_type (loc) - else - var/obj/structure/falsewall/material/mat_falsewall = new(loc) - var/list/material_list = list() - material_list[GET_MATERIAL_REF(sheets.material_type)] = SHEET_MATERIAL_AMOUNT * 2 - if(material_list) - mat_falsewall.set_custom_materials(material_list) - falsewall = mat_falsewall - transfer_fingerprints_to(falsewall) - qdel(src) - return - else - if(sheets.get_amount() < amount) - balloon_alert(user, "need [amount] sheets!") - return - balloon_alert(user, "adding plating...") - if (do_after(user, 4 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT - if(sheets.get_amount() < amount) - return - sheets.use(amount) - var/turf/T = get_turf(src) - user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT - if(sheets.walltype) - T.place_on_top(sheets.walltype) - else - var/turf/newturf = T.place_on_top(/turf/closed/wall/material) - var/list/material_list = list() - material_list[GET_MATERIAL_REF(sheets.material_type)] = SHEET_MATERIAL_AMOUNT * 2 - if(material_list) - newturf.set_custom_materials(material_list) - - transfer_fingerprints_to(T) - qdel(src) - return - - add_hiddenprint(user) - - else if(istype(W, /obj/item/pipe)) + if(istype(W, /obj/item/pipe)) var/obj/item/pipe/P = W if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds. if(!user.transfer_item_to_turf(P, drop_location())) return balloon_alert(user, "inserted pipe") - else - return ..() + return + + return ..() + +/obj/structure/girder/proc/make_wall(obj/item/stack/stack, mob/user) + var/speed_modifier = 1 + if(HAS_TRAIT(user, TRAIT_QUICK_BUILD)) + speed_modifier = 0.7 + if(next_beep <= world.time) + next_beep = world.time + 10 + playsound(src, 'sound/machines/clockcult/integration_cog_install.ogg', 50, TRUE) + + if(istype(stack, /obj/item/stack/rods)) + var/obj/item/stack/rods/rod = stack + var/amount = construction_cost[rod.type] + if(state == GIRDER_DISPLACED) + if(rod.get_amount() < amount) + balloon_alert(user, "need [amount] rods!") + return + balloon_alert(user, "concealing entrance...") + if(do_after(user, 2 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT + if(rod.get_amount() < amount) + return + rod.use(amount) + var/obj/structure/falsewall/iron/FW = new (loc) + user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT + transfer_fingerprints_to(FW) + qdel(src) + return + + if(state == GIRDER_REINF) + balloon_alert(user, "need plasteel sheet!") + return + + if(rod.get_amount() < amount) + balloon_alert(user, "need [amount] rods!") + return + balloon_alert(user, "adding rods...") + if(do_after(user, 4 SECONDS * skill_modifier, target = src)) // BUBBER EDIT CHANGE - Skills - ORIGINAL: if(do_after(user, 4 SECONDS, target = src)) + if(rod.get_amount() < amount) + return + rod.use(amount) + var/turf/T = get_turf(src) + T.place_on_top(/turf/closed/wall/mineral/iron) + user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT + transfer_fingerprints_to(T) + qdel(src) + return + + if(istype(stack, /obj/item/stack/sheet/iron)) + var/amount = construction_cost[/obj/item/stack/sheet/iron] + if(state == GIRDER_DISPLACED) + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + balloon_alert(user, "concealing entrance...") + if(do_after(user, 20 * speed_modifier, target = src)) + if(stack.get_amount() < amount) + return + stack.use(amount) + var/obj/structure/falsewall/F = new (loc) + transfer_fingerprints_to(F) + qdel(src) + return + else if(state == GIRDER_REINF) + balloon_alert(user, "need plasteel sheet!") + return + else if(state == GIRDER_TRAM) + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + balloon_alert(user, "adding plating...") + if (do_after(user, 4 SECONDS, target = src)) + if(stack.get_amount() < amount) + return + stack.use(amount) + var/obj/structure/tram/alt/iron/tram_wall = new(loc) + transfer_fingerprints_to(tram_wall) + qdel(src) + return + else + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + balloon_alert(user, "adding plating...") + if (do_after(user, 40 * speed_modifier, target = src)) + if(stack.get_amount() < amount) + return + stack.use(amount) + var/turf/T = get_turf(src) + T.place_on_top(/turf/closed/wall) + transfer_fingerprints_to(T) + qdel(src) + return + + if(istype(stack, /obj/item/stack/sheet/titaniumglass) && state == GIRDER_TRAM) + var/amount = construction_cost[/obj/item/stack/sheet/titaniumglass] + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + balloon_alert(user, "adding panel...") + if (do_after(user, 2 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT + if(stack.get_amount() < amount) + return + stack.use(amount) + var/obj/structure/tram/tram_wall = new(loc) + user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT + transfer_fingerprints_to(tram_wall) + qdel(src) + return + + if(istype(stack, /obj/item/stack/sheet/plasteel)) + var/amount = construction_cost[/obj/item/stack/sheet/plasteel] + if(state == GIRDER_DISPLACED) + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + balloon_alert(user, "concealing entrance...") + if(do_after(user, 2 SECONDS, target = src)) + if(stack.get_amount() < amount) + return + stack.use(amount) + var/obj/structure/falsewall/reinforced/FW = new (loc) + transfer_fingerprints_to(FW) + qdel(src) + return + else if(state == GIRDER_REINF) + amount = 1 // hur dur let's make plasteel have different construction amounts 4norasin + if(stack.get_amount() < amount) + return + balloon_alert(user, "adding plating...") + if(do_after(user, 50 * speed_modifier, target = src)) + if(stack.get_amount() < amount) + return + stack.use(amount) + var/turf/T = get_turf(src) + T.place_on_top(/turf/closed/wall/r_wall) + transfer_fingerprints_to(T) + qdel(src) + return + else + amount = 1 // hur dur x2 + if(stack.get_amount() < amount) + return + balloon_alert(user, "reinforcing frame...") + if(do_after(user, 60 * speed_modifier, target = src)) + if(stack.get_amount() < amount) + return + stack.use(amount) + var/obj/structure/girder/reinforced/R = new (loc) + transfer_fingerprints_to(R) + qdel(src) + return + + if(istype(stack, /obj/item/stack/sheet/mineral/plastitanium)) + if(state == GIRDER_REINF) + if(stack.get_amount() < 1) + return + balloon_alert(user, "adding plating...") + if(do_after(user, 50 * speed_modifier, target = src)) + if(stack.get_amount() < 1) + return + stack.use(1) + var/turf/T = get_turf(src) + T.place_on_top(/turf/closed/wall/r_wall/plastitanium) + transfer_fingerprints_to(T) + qdel(src) + return + // No return here because generic material construction handles making normal plastitanium walls + + if(!stack.has_unique_girder && stack.material_type) + if(istype(src, /obj/structure/girder/reinforced)) + balloon_alert(user, "need plasteel or plastitanium!") + return + var/material + if(istype(stack, /obj/item/stack/sheet)) + var/obj/item/stack/sheet/sheet = stack + material = sheet.construction_path_type + var/amount = construction_cost["exotic_material"] + if(state == GIRDER_TRAM) + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + var/tram_wall_type = text2path("/obj/structure/tram/alt/[material]") + if(!tram_wall_type) + balloon_alert(user, "need titanium glass or mineral!") + return + balloon_alert(user, "adding plating...") + if (do_after(user, 4 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT + if(stack.get_amount() < amount) + return + var/obj/structure/tram/tram_wall + tram_wall = new tram_wall_type(loc) + user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT + stack.use(amount) + transfer_fingerprints_to(tram_wall) + qdel(src) + return + if(state == GIRDER_DISPLACED) + var/falsewall_type = text2path("/obj/structure/falsewall/[material]") + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + balloon_alert(user, "concealing entrance...") + if(do_after(user, 2 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT + if(stack.get_amount() < amount) + return + stack.use(amount) + var/obj/structure/falsewall/falsewall + user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT + if(falsewall_type) + falsewall = new falsewall_type (loc) + else + var/obj/structure/falsewall/material/mat_falsewall = new(loc) + var/list/material_list = list() + material_list[GET_MATERIAL_REF(stack.material_type)] = SHEET_MATERIAL_AMOUNT * 2 + if(material_list) + mat_falsewall.set_custom_materials(material_list) + falsewall = mat_falsewall + transfer_fingerprints_to(falsewall) + qdel(src) + return + else + if(stack.get_amount() < amount) + balloon_alert(user, "need [amount] sheets!") + return + balloon_alert(user, "adding plating...") + if (do_after(user, 4 SECONDS * skill_modifier, target = src)) //SKYRAT EDIT + if(stack.get_amount() < amount) + return + stack.use(amount) + var/turf/T = get_turf(src) + user.mind.adjust_experience(/datum/skill/construction, 5) //SKYRAT EDIT + if(stack.walltype) + T.place_on_top(stack.walltype) + else + var/turf/newturf = T.place_on_top(/turf/closed/wall/material) + var/list/material_list = list() + material_list[GET_MATERIAL_REF(stack.material_type)] = SHEET_MATERIAL_AMOUNT * 2 + if(material_list) + newturf.set_custom_materials(material_list) + + transfer_fingerprints_to(T) + qdel(src) + return // Screwdriver behavior for girders /obj/structure/girder/screwdriver_act(mob/user, obj/item/tool) diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 31936c4caf5..775551193e2 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -141,62 +141,11 @@ GLOBAL_LIST_INIT(ore_probability, list( */ /obj/effect/collapsing_demonic_portal/proc/drop_loot() visible_message(span_warning("Something slips out of [src]!")) - var/loot = rand(1, 27) + var/loot = rand(1, 100) switch(loot) - if(1) - new /obj/item/clothing/neck/cloak/wolf_coat(loc) - if(2) - new /obj/item/clothing/glasses/godeye(loc) - if(3) - new /obj/item/reagent_containers/cup/bottle/potion/flight(loc) - if(4) - new /obj/item/organ/heart/cursed/wizard(loc) - if(5) - new /obj/item/jacobs_ladder(loc) - if(6) - new /obj/item/rod_of_asclepius(loc) - if(7) - new /obj/item/warp_cube/red(loc) - if(8) - new /obj/item/wisp_lantern(loc) - if(9) - new /obj/item/immortality_talisman(loc) - if(10) - new /obj/item/book/granter/action/spell/summonitem(loc) - if(11) - new /obj/item/clothing/neck/necklace/memento_mori(loc) - if(12) - new /obj/item/borg/upgrade/modkit/lifesteal(loc) - new /obj/item/bedsheet/cult(loc) - if(13) - new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(loc) - if(14) - new /obj/item/disk/design_disk/modkit_disc/bounty(loc) - if(15) - new /obj/item/ship_in_a_bottle(loc) - new /obj/item/oar(loc) - if(16) + if(1 to 80) + new /obj/structure/closet/crate/necropolis/tendril/demonic(loc) + if(81 to 90) new /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom(loc) - if(17) - new /obj/item/clothing/gloves/fingerless/punch_mitts(loc) - new /obj/item/clothing/head/cowboy(loc) - if(18) - new /obj/item/soulstone/anybody(loc) - if(19) - new /obj/item/disk/design_disk/modkit_disc/resonator_blast(loc) - if(20) - new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(loc) - if(21) - new /obj/item/slimepotion/transference(loc) - if(22) - new /obj/item/slime_extract/adamantine(loc) - if(23) - new /obj/item/weldingtool/abductor(loc) - if(24) + if(91 to INFINITY) new /obj/structure/elite_tumor(loc) - if(25) - new /mob/living/basic/clown/clownhulk(loc) - if(26) - new /obj/item/clothing/shoes/winterboots/ice_boots(loc) - if(27) - new /obj/item/book/granter/action/spell/sacredflame(loc) diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm index 2e00a08a600..3067be08f43 100644 --- a/code/game/objects/structures/lavaland/ore_vent.dm +++ b/code/game/objects/structures/lavaland/ore_vent.dm @@ -237,13 +237,34 @@ addtimer(CALLBACK(node, TYPE_PROC_REF(/atom, update_appearance)), wave_timer * 0.75) add_shared_particles(/particles/smoke/ash) for(var/i in 1 to 5) // Clears the surroundings of the ore vent before starting wave defense. - for(var/turf/closed/mineral/rock in oview(i)) - if(istype(rock, /turf/open/misc/asteroid) && prob(35)) // so it's too common - new /obj/effect/decal/cleanable/rubble(rock) - if(prob(100 - (i * 15))) - rock.gets_drilled(user) + for(var/turf/rock in oview(i)) + + if(istype(rock, /turf/closed/mineral)) //Solid wall checks: Mine out the wall, but start skipping more as we move farther away. + if(prob(50 + (i * 8))) + continue + var/turf/closed/mineral/drillable = rock + drillable.gets_drilled(user) if(prob(50)) - new /obj/effect/decal/cleanable/rubble(rock) + new /obj/effect/decal/cleanable/rubble(rock) // Only throw rubble when we actually mine something, and not all the time. + continue //skip the rest of the checks + + if(istype(rock, /turf/open/misc/asteroid) && prob(35)) // Open rock floors: make rubble decals occasionally. + new /obj/effect/decal/cleanable/rubble(rock) + continue + + if(istype(rock, /turf/open/lava)) // Lava turfs, skip as we get farther away, otherwise produce a boulder and make it a platform, lasting the whole wave. + if(prob(30 + (i * 8))) // We want to skip these less than the mining walls, since lava is more common to deal with. + continue + + var/obj/item/boulder/produced = produce_boulder(FALSE) + var/obj/structure/lattice/catwalk/boulder/platform = produced.create_platform(rock, null, wave_timer) + + if(!platform || !QDELETED(produced)) + qdel(produced) + continue + platform.alpha = 0 + platform.pixel_z = -16 + animate(platform, alpha = 255, time = 2 SECONDS, pixel_z = 0, easing = QUAD_EASING|EASE_OUT) sleep(0.6 SECONDS) return TRUE diff --git a/code/game/objects/structures/mystery_box.dm b/code/game/objects/structures/mystery_box.dm index 4f84c9f5d8a..f01c2f3911a 100644 --- a/code/game/objects/structures/mystery_box.dm +++ b/code/game/objects/structures/mystery_box.dm @@ -88,7 +88,6 @@ GLOBAL_LIST_INIT(mystery_magic, list( GLOBAL_LIST_INIT(mystery_fishing, list( /obj/item/storage/toolbox/fishing/master, /obj/item/storage/box/fish_revival_kit, - /obj/item/circuitboard/machine/fishing_portal_generator/emagged, /obj/item/fishing_rod/telescopic/master, /obj/item/bait_can/super_baits, /obj/item/storage/fish_case/tiziran, diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index f0869fb9a37..08caf40b67f 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -260,7 +260,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) /obj/machinery/shower/proc/on_exited(datum/source, atom/movable/exiter) SIGNAL_HANDLER - if(!isliving(exiter)) + if(!iscarbon(exiter)) return var/obj/machinery/shower/locate_new_shower = locate() in get_turf(exiter) @@ -282,8 +282,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) var/mob/living/living_target = target check_heat(living_target) - living_target.apply_status_effect(/datum/status_effect/washing_regen, shower_reagent) - living_target.add_mood_event("shower", /datum/mood_event/shower, shower_reagent) + if(iscarbon(living_target)) + living_target.apply_status_effect(/datum/status_effect/washing_regen, shower_reagent) + living_target.add_mood_event("shower", /datum/mood_event/shower, shower_reagent) /** * Toggle whether shower is actually on and outputting water. @@ -314,7 +315,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) if(isopenturf(loc)) var/turf/open/tile = loc tile.MakeSlippery(TURF_WET_WATER, min_wet_time = 5 SECONDS, wet_time_to_add = 1 SECONDS) - for(var/mob/living/showerer in loc) + for(var/mob/living/carbon/showerer in loc) showerer.remove_status_effect(/datum/status_effect/washing_regen) return TRUE diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 9a9a777e412..580ae3f5fce 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -534,7 +534,7 @@ icon = 'icons/obj/smooth_structures/glass_table.dmi' icon_state = "glass_table-0" base_icon_state = "glass_table" - custom_materials = list(/datum/material/glass =SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/glass = SHEET_MATERIAL_AMOUNT) buildstack = /obj/item/stack/sheet/glass smoothing_groups = SMOOTH_GROUP_GLASS_TABLES canSmoothWith = SMOOTH_GROUP_GLASS_TABLES @@ -608,7 +608,7 @@ icon = 'icons/obj/smooth_structures/plasmaglass_table.dmi' icon_state = "plasmaglass_table-0" base_icon_state = "plasmaglass_table" - custom_materials = list(/datum/material/alloy/plasmaglass =SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/alloy/plasmaglass = SHEET_MATERIAL_AMOUNT) buildstack = /obj/item/stack/sheet/plasmaglass glass_shard_type = /obj/item/shard/plasma max_integrity = 100 @@ -630,6 +630,7 @@ max_integrity = 70 smoothing_groups = SMOOTH_GROUP_WOOD_TABLES //Don't smooth with SMOOTH_GROUP_TABLES canSmoothWith = SMOOTH_GROUP_WOOD_TABLES + custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT) /obj/structure/table/wood/after_smash(mob/living/smashed) if(QDELETED(src) || prob(66)) @@ -862,7 +863,7 @@ icon = 'icons/obj/smooth_structures/rglass_table.dmi' icon_state = "rglass_table-0" base_icon_state = "rglass_table" - custom_materials = list(/datum/material/glass =SHEET_MATERIAL_AMOUNT, /datum/material/iron =SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/glass = SHEET_MATERIAL_AMOUNT, /datum/material/iron = SHEET_MATERIAL_AMOUNT) buildstack = /obj/item/stack/sheet/rglass max_integrity = 150 @@ -872,7 +873,7 @@ icon = 'icons/obj/smooth_structures/rplasmaglass_table.dmi' icon_state = "rplasmaglass_table-0" base_icon_state = "rplasmaglass_table" - custom_materials = list(/datum/material/alloy/plasmaglass =SHEET_MATERIAL_AMOUNT, /datum/material/iron =SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/alloy/plasmaglass = SHEET_MATERIAL_AMOUNT, /datum/material/iron = SHEET_MATERIAL_AMOUNT) buildstack = /obj/item/stack/sheet/plasmarglass /obj/structure/table/reinforced/titaniumglass @@ -881,7 +882,7 @@ icon = 'icons/obj/smooth_structures/titaniumglass_table.dmi' icon_state = "titaniumglass_table-0" base_icon_state = "titaniumglass_table" - custom_materials = list(/datum/material/alloy/titaniumglass =SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/alloy/titaniumglass = SHEET_MATERIAL_AMOUNT) buildstack = /obj/item/stack/sheet/titaniumglass max_integrity = 250 @@ -891,7 +892,7 @@ icon = 'icons/obj/smooth_structures/plastitaniumglass_table.dmi' icon_state = "plastitaniumglass_table-0" base_icon_state = "plastitaniumglass_table" - custom_materials = list(/datum/material/alloy/plastitaniumglass =SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/alloy/plastitaniumglass = SHEET_MATERIAL_AMOUNT) buildstack = /obj/item/stack/sheet/plastitaniumglass max_integrity = 300 @@ -1292,12 +1293,14 @@ anchored = TRUE pass_flags_self = LETPASSTHROW //You can throw objects over this, despite its density. max_integrity = 20 + custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT) /obj/structure/rack/skeletal name = "skeletal minibar" desc = "Rattle me boozes!" icon = 'icons/obj/fluff/general.dmi' icon_state = "minibar" + custom_materials = list(/datum/material/bone = SHEET_MATERIAL_AMOUNT) /obj/structure/rack/Initialize(mapload) . = ..() @@ -1387,7 +1390,7 @@ icon_state = "rack_parts" inhand_icon_state = "rack_parts" obj_flags = CONDUCTS_ELECTRICITY - custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT) var/building = FALSE /obj/item/rack_parts/Initialize(mapload) diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index b938cd82ff2..213d086bfc3 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -229,6 +229,8 @@ tube_construction = /obj/structure/c_transit_tube/station/dispenser base_icon_state = "dispenser0" open_status = STATION_TUBE_OPEN + COOLDOWN_DECLARE(freight_output) + COOLDOWN_DECLARE(freight_message) /obj/structure/transit_tube/station/dispenser/close_animation() return @@ -249,6 +251,14 @@ /obj/structure/transit_tube/station/dispenser/Bumped(atom/movable/AM) if(!(istype(AM) && AM.dir == boarding_dir) || AM.anchored) return + if(!isliving(AM)) + if(!COOLDOWN_FINISHED(src, freight_output)) + if(COOLDOWN_FINISHED(src, freight_message)) + AM.visible_message(span_notice("Freight pod dispenser is recharging. Please wait.")) + COOLDOWN_START(src, freight_message, 10 SECONDS) + return + COOLDOWN_START(src, freight_output, 2 SECONDS) + var/obj/structure/transit_tube_pod/dispensed/pod = new(loc) AM.visible_message(span_notice("[pod] forms around [AM]."), span_notice("[pod] materializes around you.")) playsound(src, 'sound/items/weapons/emitter2.ogg', 50, TRUE) diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index 7d0a403d3f5..feb8f6c3dce 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -21,10 +21,10 @@ ///How well the engine affects the ship's speed. var/engine_power = 1 ///Construction state of the Engine. - var/engine_state = ENGINE_WELDED //welding shmelding //i love welding + var/engine_state = ENGINE_WELDED //welding shmelding //i love welding //welding's the best ///The mobile ship we are connected to. - var/datum/weakref/connected_ship_ref + var/obj/docking_port/mobile/connected_ship = null var/static/list/connections = list(COMSIG_TURF_ADDED_TO_SHUTTLE = PROC_REF(on_turf_added_to_shuttle)) @@ -43,31 +43,31 @@ engine_state = ENGINE_UNWRENCHED anchored = FALSE +/obj/machinery/power/shuttle_engine/Destroy(force) + if(engine_state == ENGINE_WELDED) + alter_engine_power(-engine_power) + unsync_ship() + return ..() + /obj/machinery/power/shuttle_engine/on_construction(mob/user) . = ..() if(anchored) engine_state = ENGINE_WRENCHED connect_to_shuttle(port = SSshuttle.get_containing_shuttle(src)) //connect to a new ship, if needed - if(!connected_ship_ref?.resolve()) + if(isnull(connected_ship)) AddElement(/datum/element/connect_loc, connections) /obj/machinery/power/shuttle_engine/connect_to_shuttle(mapload, obj/docking_port/mobile/port, obj/docking_port/stationary/dock) . = ..() if(!port) return FALSE - connected_ship_ref = WEAKREF(port) - port.engine_list += src + connected_ship = port + connected_ship.engine_list += src if(mapload) - port.initial_engine_power += engine_power + connected_ship.initial_engine_power += engine_power if(engine_state == ENGINE_WELDED) alter_engine_power(engine_power) -/obj/machinery/power/shuttle_engine/Destroy() - if(engine_state == ENGINE_WELDED) - alter_engine_power(-engine_power) - unsync_ship() - return ..() - /obj/machinery/power/shuttle_engine/examine(mob/user) . = ..() switch(engine_state) @@ -93,11 +93,9 @@ * Called on destroy and when we need to unsync an engine from their ship. */ /obj/machinery/power/shuttle_engine/proc/unsync_ship() - var/obj/docking_port/mobile/port = connected_ship_ref?.resolve() - if(port) - port.engine_list -= src - port.current_engine_power -= initial(engine_power) - connected_ship_ref = null + if(connected_ship) + connected_ship.engine_list -= src + connected_ship = null RemoveElement(/datum/element/connect_loc, connections) //Ugh this is a lot of copypasta from emitters, welding need some boilerplate reduction @@ -113,7 +111,7 @@ if(. == SUCCESSFUL_UNFASTEN) if(anchored) connect_to_shuttle(port = SSshuttle.get_containing_shuttle(src)) //connect to a new ship, if needed - if(!connected_ship_ref?.resolve()) + if(isnull(connected_ship)) AddElement(/datum/element/connect_loc, connections) engine_state = ENGINE_WRENCHED else @@ -142,7 +140,7 @@ span_notice("You start to weld \the [src] to the floor..."), \ span_hear("You hear welding.")) - if(tool.use_tool(src, user, ENGINE_WELDTIME, volume=50)) + if(tool.use_tool(src, user, ENGINE_WELDTIME, volume = 50)) engine_state = ENGINE_WELDED to_chat(user, span_notice("You weld \the [src] to the floor.")) alter_engine_power(engine_power) @@ -155,7 +153,7 @@ span_notice("You start to cut \the [src] free from the floor..."), \ span_hear("You hear welding.")) - if(tool.use_tool(src, user, ENGINE_WELDTIME, volume=50)) + if(tool.use_tool(src, user, ENGINE_WELDTIME, volume = 50)) engine_state = ENGINE_WRENCHED to_chat(user, span_notice("You cut \the [src] free from the floor.")) alter_engine_power(-engine_power) @@ -163,11 +161,8 @@ //Propagates the change to the shuttle. /obj/machinery/power/shuttle_engine/proc/alter_engine_power(mod) - if(!mod) - return - var/obj/docking_port/mobile/port = connected_ship_ref?.resolve() - if(port) - port.alter_engines(mod) + if(mod && connected_ship) + connected_ship.alter_engines(mod) /obj/machinery/power/shuttle_engine/heater name = "engine heater" diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index fe6992ec769..302042a09c6 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -162,13 +162,14 @@ return ..() -/turf/closed/mineral/attackby(obj/item/I, mob/user, list/modifiers) +/turf/closed/mineral/attackby(obj/item/I, mob/user, list/modifiers, list/attack_modifiers, exp_multiplier = 1) if (!ISADVANCEDTOOLUSER(user)) to_chat(usr, span_warning("You don't have the dexterity to do this!")) return if(I.tool_behaviour != TOOL_MINING) return + var/turf/T = user.loc if (!isturf(T)) return @@ -177,14 +178,12 @@ return TIMER_COOLDOWN_START(src, REF(user), tool_mine_speed) - - balloon_alert(user, "picking...") - if(!I.use_tool(src, user, tool_mine_speed, volume=50)) TIMER_COOLDOWN_END(src, REF(user)) //if we fail we can start again immediately return + if(ismineralturf(src)) - gets_drilled(user, 1) + gets_drilled(user, exp_multiplier) SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type) /turf/closed/mineral/attack_hand(mob/user) @@ -303,8 +302,10 @@ . = ..() var/dynamic_prob = mineralChance + var/ore_amount = rand(1,5) if(proximity_based) dynamic_prob = proximity_ore_chance() // We assign the chance of ore spawning based on probability. + ore_amount = scale_ore_to_vent() if (prob(dynamic_prob)) var/list/spawn_chance_list = mineral_chances_by_type[type] if (isnull(spawn_chance_list)) @@ -323,7 +324,7 @@ if(ismineralturf(T)) var/turf/closed/mineral/M = T M.turf_type = src.turf_type - M.mineralAmt = scale_ore_to_vent() + M.mineralAmt = ore_amount GLOB.post_ore_random["[M.mineralAmt]"] += 1 src = M M.levelupdate() @@ -334,9 +335,12 @@ else Change_Ore(path, FALSE) Spread_Vein(path) - mineralAmt = scale_ore_to_vent() + mineralAmt = ore_amount GLOB.post_ore_manual["[mineralAmt]"] += 1 + if(mineralType && !mineralAmt) + stack_trace("Mineral turf with mineralAmt being zero initialized at [src.x], [src.y], [src.z] ([get_area(src)])") + /turf/closed/mineral/random/high_chance icon_state = "rock_highchance" mineralChance = 25 @@ -786,7 +790,7 @@ det_time = rand(8,10) //So you don't know exactly when the hot potato will explode . = ..() -/turf/closed/mineral/gibtonite/attackby(obj/item/attacking_item, mob/living/user, list/modifiers) +/turf/closed/mineral/gibtonite/attackby(obj/item/attacking_item, mob/living/user, list/modifiers, list/attack_modifiers, exp_multiplier = 1) var/previous_stage = stage if(istype(attacking_item, /obj/item/goliath_infuser_hammer) && stage == GIBTONITE_ACTIVE) user.visible_message(span_notice("[user] digs [attacking_item] to [src]..."), span_notice("Your tendril hammer instictively digs and wraps around [src] to stop it...")) @@ -794,7 +798,7 @@ else if(istype(attacking_item, /obj/item/mining_scanner) || istype(attacking_item, /obj/item/t_scanner/adv_mining_scanner) && stage == GIBTONITE_ACTIVE) user.visible_message(span_notice("[user] holds [attacking_item] to [src]..."), span_notice("You use [attacking_item] to locate where to cut off the chain reaction and attempt to stop it...")) defuse(user) - ..() + . = ..() if(istype(attacking_item, /obj/item/clothing/gloves/gauntlets) && previous_stage == GIBTONITE_UNSTRUCK && stage == GIBTONITE_ACTIVE && istype(user)) user.Immobilize(0.5 SECONDS) user.throw_at(get_ranged_target_turf(src, get_dir(src, user), 5), range = 5, speed = 3, spin = FALSE) @@ -911,7 +915,7 @@ base_icon_state = "rock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER -/turf/closed/mineral/strong/attackby(obj/item/I, mob/user, list/modifiers) +/turf/closed/mineral/strong/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers, exp_multiplier = 1) if(!ishuman(user)) to_chat(usr, span_warning("Only a more advanced species could break a rock such as this one!")) return FALSE diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 7140c821ce3..e6cd991fcbf 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -465,7 +465,6 @@ playsound(slipper.loc, 'sound/misc/slip.ogg', 50, TRUE, -3) SEND_SIGNAL(slipper, COMSIG_ON_CARBON_SLIP) - slipper.add_mood_event("slipped", /datum/mood_event/slipped) if(force_drop && iscarbon(slipper)) //carbon specific behavior that living doesn't have var/mob/living/carbon/carbon = slipper for(var/obj/item/item in slipper.held_items) diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index bfd751be2bb..ec4b5ca50ad 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -51,7 +51,7 @@ if(target == src) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) return TRUE - if(severity < EXPLODE_DEVASTATE && is_shielded()) + if(is_explosion_shielded(severity)) return FALSE if(target) @@ -86,9 +86,13 @@ return FALSE -/turf/open/floor/is_shielded() - for(var/obj/structure/A in contents) - return 1 +/turf/open/floor/is_explosion_shielded(severity) + if(severity >= EXPLODE_DEVASTATE) + return FALSE + for(var/obj/blocker in src) + if(blocker.density) + return TRUE + return FALSE /turf/open/floor/blob_act(obj/structure/blob/B) return diff --git a/code/game/turfs/open/floor/reinforced_floor.dm b/code/game/turfs/open/floor/reinforced_floor.dm index 6281e7b929e..219e284db36 100644 --- a/code/game/turfs/open/floor/reinforced_floor.dm +++ b/code/game/turfs/open/floor/reinforced_floor.dm @@ -56,7 +56,7 @@ if(target == src) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) return TRUE - if(severity < EXPLODE_DEVASTATE && is_shielded()) + if(is_explosion_shielded(severity)) return FALSE switch(severity) @@ -76,6 +76,10 @@ return TRUE +// Contents *under* the reinforced flooring is protected from explosions (unless it's devastate level) +/turf/open/floor/engine/can_propagate_explosion(atom/movable/some_thing, severity) + return severity == EXPLODE_DEVASTATE || !HAS_TRAIT(some_thing, TRAIT_UNDERFLOOR) + /turf/open/floor/engine/singularity_pull(atom/singularity, current_size) ..() if(current_size >= STAGE_FIVE) diff --git a/code/game/turfs/open/misc.dm b/code/game/turfs/open/misc.dm index 77095e30761..b9c27e3faf2 100644 --- a/code/game/turfs/open/misc.dm +++ b/code/game/turfs/open/misc.dm @@ -43,7 +43,7 @@ if(target == src) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) return TRUE - if(severity < EXPLODE_DEVASTATE && is_shielded()) + if(is_explosion_shielded(severity)) return FALSE if(target) @@ -69,9 +69,13 @@ return TRUE -/turf/open/misc/is_shielded() - for(var/obj/structure/A in contents) - return TRUE +/turf/open/misc/is_explosion_shielded(severity) + if(severity >= EXPLODE_DEVASTATE) + return FALSE + for(var/obj/blocker in src) + if(blocker.density) + return TRUE + return FALSE /turf/open/misc/blob_act(obj/structure/blob/B) return diff --git a/code/game/turfs/open/water.dm b/code/game/turfs/open/water.dm index ee63072025f..7dde7cb70b1 100644 --- a/code/game/turfs/open/water.dm +++ b/code/game/turfs/open/water.dm @@ -172,8 +172,8 @@ holder.plane = MUTATE_PLANE(MASSIVE_OBJ_PLANE, src) add_filter("hot_spring_waves", 1, wave_filter(y = 1, size = 1, offset = 0, flags = WAVE_BOUNDED)) var/filter = get_filter("hot_spring_waves") - animate(filter, offset = 1, time = 3 SECONDS, loop = -1, easing = SINE_EASING|EASE_IN|EASE_OUT) - animate(offset = 0, time = 3 SECONDS, easing = SINE_EASING|EASE_IN|EASE_OUT) + animate(filter, offset = 1, time = 3 SECONDS, loop = -1, easing = QUAD_EASING) + animate(offset = 0, time = 3 SECONDS, easing = QUAD_EASING) /turf/open/water/hot_spring/Destroy() remove_shared_particles("hot_springs_[GET_TURF_PLANE_OFFSET(src)]") diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d77ab04aef2..3924503a4af 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -562,13 +562,14 @@ GLOBAL_LIST_EMPTY(station_turfs) /turf/proc/break_tile() return -/turf/proc/is_shielded() - return +/// Checks if this turf is protected from an explosion by something +/// Return TRUE to stop the explosion from affecting this turf +/turf/proc/is_explosion_shielded(severity) + return FALSE /turf/contents_explosion(severity, target) - for(var/thing in contents) - var/atom/movable/movable_thing = thing - if(QDELETED(movable_thing)) + for(var/atom/movable/movable_thing as anything in src) + if(QDELETED(movable_thing) || !can_propagate_explosion(movable_thing, severity)) continue switch(severity) if(EXPLODE_DEVASTATE) @@ -578,6 +579,11 @@ GLOBAL_LIST_EMPTY(station_turfs) if(EXPLODE_LIGHT) SSexplosions.low_mov_atom += movable_thing +/// Called when propagating an explosion through contents,. +/// Return FALSE to prevent the passed object from being exploded. +/turf/proc/can_propagate_explosion(atom/movable/some_thing, severity) + return TRUE + /turf/narsie_act(force, ignore_mobs, probability = 20) . = (prob(probability) || force) for(var/I in src) diff --git a/code/modules/admin/verbs/admingame.dm b/code/modules/admin/verbs/admingame.dm index 712bd66ce40..cd1411d0b97 100644 --- a/code/modules/admin/verbs/admingame.dm +++ b/code/modules/admin/verbs/admingame.dm @@ -368,15 +368,17 @@ ADMIN_VERB(combo_hud, R_ADMIN, "Toggle Combo HUD", "Toggles the Admin Combo HUD. log_admin("[key_name(user)] toggled their admin combo HUD [user.combo_hud_enabled ? "ON" : "OFF"].") SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle Combo HUD", "[user.combo_hud_enabled ? "Enabled" : "Disabled"]")) // If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! +/// List of hud traits in the admin combo hud +#define ADMIN_HUDS list(TRAIT_SECURITY_HUD, TRAIT_MEDICAL_HUD, TRAIT_DIAGNOSTIC_HUD, TRAIT_BOT_PATH_HUD) + /client/proc/enable_combo_hud() if (combo_hud_enabled) return combo_hud_enabled = TRUE - for (var/hudtype in list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC, DATA_HUD_BOT_PATH)) - var/datum/atom_hud/atom_hud = GLOB.huds[hudtype] - atom_hud.show_to(mob) + for (var/hudtrait in ADMIN_HUDS) + ADD_TRAIT(mob, hudtrait, ADMIN_TRAIT) for (var/datum/atom_hud/alternate_appearance/basic/antagonist_hud/antag_hud in GLOB.active_alternate_appearances) antag_hud.show_to(mob) @@ -390,9 +392,8 @@ ADMIN_VERB(combo_hud, R_ADMIN, "Toggle Combo HUD", "Toggles the Admin Combo HUD. combo_hud_enabled = FALSE - for (var/hudtype in list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC, DATA_HUD_BOT_PATH)) - var/datum/atom_hud/atom_hud = GLOB.huds[hudtype] - atom_hud.hide_from(mob) + for (var/hudtrait in ADMIN_HUDS) + REMOVE_TRAIT(mob, hudtrait, ADMIN_TRAIT) for (var/datum/atom_hud/alternate_appearance/basic/antagonist_hud/antag_hud in GLOB.active_alternate_appearances) antag_hud.hide_from(mob) @@ -400,6 +401,8 @@ ADMIN_VERB(combo_hud, R_ADMIN, "Toggle Combo HUD", "Toggles the Admin Combo HUD. mob.lighting_cutoff = mob.default_lighting_cutoff() mob.update_sight() +#undef ADMIN_HUDS + ADMIN_VERB(show_traitor_panel, R_ADMIN, "Show Traitor Panel", "Edit mobs's memory and role", ADMIN_CATEGORY_GAME, mob/target_mob) var/datum/mind/target_mind = target_mob.mind if(!target_mind) diff --git a/code/modules/admin/verbs/plane_debugger.dm b/code/modules/admin/verbs/plane_debugger.dm index 90c12c931d7..d983bf9eb96 100644 --- a/code/modules/admin/verbs/plane_debugger.dm +++ b/code/modules/admin/verbs/plane_debugger.dm @@ -154,14 +154,12 @@ this_relay["blend_mode"] = GLOB.blend_names["[relay.blend_mode]"] relays += list(this_relay) - for (var/filter_id in plane.filter_data) - var/list/filter = plane.filter_data[filter_id] + for (var/list/filter in plane.filter_data) if(!filter["render_source"]) continue var/list/filter_info = filter.Copy() - filter_info["name"] = filter_id - filter_info["our_ref"] = "[plane.plane]-[filter_id]" + filter_info["our_ref"] = "[plane.plane]-[filter_info["name"]]" filters += list(filter_info) this_plane["relays"] = relays diff --git a/code/modules/admin/view_variables/filterrific.dm b/code/modules/admin/view_variables/filterrific.dm index 80544178817..3345a2606d5 100644 --- a/code/modules/admin/view_variables/filterrific.dm +++ b/code/modules/admin/view_variables/filterrific.dm @@ -32,7 +32,7 @@ switch(action) if("add_filter") var/target_name = params["name"] - while(target.filter_data && target.filter_data[target_name]) + while(target.get_filter(target_name)) target_name = "[target_name]-dupe" target.add_filter(target_name, params["priority"], list("type" = params["type"])) . = TRUE @@ -40,9 +40,9 @@ target.remove_filter(params["name"]) . = TRUE if("rename_filter") - var/list/filter_data = target.filter_data[params["name"]] + var/list/filter_info = target.get_filter_data(params["name"]) target.remove_filter(params["name"]) - target.add_filter(params["new_name"], filter_data["priority"], filter_data) + target.add_filter(params["new_name"], filter_data["priority"], filter_info) . = TRUE if("edit_filter") target.remove_filter(params["name"]) @@ -56,15 +56,7 @@ target.transition_filter(params["name"], params["new_data"], 4) . = TRUE if("modify_filter_value") - var/list/old_filter_data = target.filter_data[params["name"]] - var/list/new_filter_data = old_filter_data.Copy() - for(var/entry in params["new_data"]) - new_filter_data[entry] = params["new_data"][entry] - for(var/entry in new_filter_data) - if(entry == GLOB.master_filter_info[old_filter_data["type"]]["defaults"][entry]) - new_filter_data.Remove(entry) - target.remove_filter(params["name"]) - target.add_filter(params["name"], old_filter_data["priority"], new_filter_data) + target.modify_filter(params["name"], params["new_data"]) . = TRUE if("modify_color_value") var/new_color = tgui_color_picker(usr, "Pick new filter color", "Filteriffic Colors!") // BUBBERSTATION EDIT: TGUI COLOR PICKER @@ -83,15 +75,14 @@ var/target_path = text2path(params["path"]) if(!target_path) return - var/filters_to_copy = target.filters - var/filter_data_to_copy = target.filter_data + var/list/filter_data_to_copy = target.filter_data var/count = 0 - for(var/thing in world.contents) - if(istype(thing, target_path)) - var/atom/thing_at = thing - thing_at.filters = filters_to_copy - thing_at.filter_data = filter_data_to_copy - count += 1 + for(var/atom/thing_at as anything in world.contents) + if(!istype(thing_at, target_path)) + continue + thing_at.filter_data = filter_data_to_copy.Copy() + thing_at.update_filters() + count += 1 message_admins("LOCAL CLOWN [usr.ckey] JUST MASS FILTER EDITED [count] WITH PATH OF [params["path"]]!") log_admin("LOCAL CLOWN [usr.ckey] JUST MASS FILTER EDITED [count] WITH PATH OF [params["path"]]!") diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index 2bc2346aae8..25ee36f6a81 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -74,11 +74,11 @@ objectives += team.objectives finalize_abductor() // We don't want abductors to be converted by other antagonists - owner.add_traits(list(TRAIT_ABDUCTOR_TRAINING, TRAIT_UNCONVERTABLE), ABDUCTOR_ANTAGONIST) + owner.add_traits(list(TRAIT_ABDUCTOR_TRAINING, TRAIT_ABDUCTOR_HUD, TRAIT_UNCONVERTABLE), ABDUCTOR_ANTAGONIST) return ..() /datum/antagonist/abductor/on_removal() - owner.remove_traits(list(TRAIT_ABDUCTOR_TRAINING, TRAIT_UNCONVERTABLE), ABDUCTOR_ANTAGONIST) + owner.remove_traits(list(TRAIT_ABDUCTOR_TRAINING, TRAIT_ABDUCTOR_HUD, TRAIT_UNCONVERTABLE), ABDUCTOR_ANTAGONIST) return ..() /datum/antagonist/abductor/greet() diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 037c2169972..cd3de1fe24f 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -4,6 +4,14 @@ GLOBAL_LIST_EMPTY(blob_cores) GLOBAL_LIST_EMPTY(overminds) GLOBAL_LIST_EMPTY(blob_nodes) +/// Clean up blob references after overmind is destroyed - called asynchronously to avoid blocking Destroy() +/proc/cleanup_overmind_blobs(mob/eye/blob/dead_overmind) + // Clear overmind reference from global blobs + for(var/obj/structure/blob/blob_structure as anything in GLOB.blobs) + if(blob_structure && blob_structure.overmind == dead_overmind) + blob_structure.overmind = null + blob_structure.update_appearance() //reset anything that was ours + /mob/eye/blob name = "Blob Overmind" @@ -157,11 +165,19 @@ GLOBAL_LIST_EMPTY(blob_nodes) else // If we get here, it means yes: the blob is kill SSticker.news_report = BLOB_DESTROYED + + // Clear the biohazard emergency display when blob is defeated - async to avoid blocking + INVOKE_ASYNC(src, PROC_REF(clear_biohazard_display)) + qdel(src) else if(!victory_in_progress && (blobs_legit.len >= blobwincount)) victory_in_progress = TRUE priority_announce("Biohazard has reached critical mass. Station loss is imminent.", "Biohazard Alert") SSsecurity_level.set_level(SEC_LEVEL_DELTA) + + // Set status displays to biohazard alert - critical level + send_status_display_biohazard_alert() + max_blob_points = INFINITY blob_points = INFINITY addtimer(CALLBACK(src, PROC_REF(victory)), 45 SECONDS) @@ -174,6 +190,10 @@ GLOBAL_LIST_EMPTY(blob_nodes) if(announcement_time && (world.time >= announcement_time || blobs_legit.len >= announcement_size) && !has_announced) priority_announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", ANNOUNCER_OUTBREAK5) + + // Set status displays to biohazard alert + send_status_display_biohazard_alert() + has_announced = TRUE /// Create a blob spore and link it to us @@ -186,7 +206,26 @@ GLOBAL_LIST_EMPTY(blob_nodes) /mob/eye/blob/proc/register_new_minion(mob/living/minion) blob_mobs |= minion +/// Clear biohazard emergency display when blob is defeated +/mob/eye/blob/proc/clear_biohazard_display() + clear_status_display_biohazard() + /mob/eye/blob/proc/victory() + // Set victory flags immediately + var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob) + if(B) + var/datum/objective/blob_takeover/main_objective = locate() in B.objectives + if(main_objective) + main_objective.completed = TRUE + + to_chat(world, span_blobannounce("[real_name] consumed the station in an unstoppable tide!")) + SSticker.news_report = BLOB_WIN + SSticker.force_ending = FORCE_END_ROUND + + // Handle the heavy victory operations asynchronously + INVOKE_ASYNC(src, PROC_REF(victory_sequence)) + +/mob/eye/blob/proc/victory_sequence() sound_to_playing_players('sound/announcer/alarm/nuke_alarm.ogg', 70) sleep(10 SECONDS) for(var/mob/living/live_guy as anything in GLOB.mob_living_list) @@ -222,25 +261,11 @@ GLOBAL_LIST_EMPTY(blob_nodes) check_area.SetInvisibility(INVISIBILITY_NONE) check_area.blend_mode = 0 - var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob) - if(B) - var/datum/objective/blob_takeover/main_objective = locate() in B.objectives - if(main_objective) - main_objective.completed = TRUE - to_chat(world, span_blobannounce("[real_name] consumed the station in an unstoppable tide!")) - SSticker.news_report = BLOB_WIN - SSticker.force_ending = FORCE_END_ROUND - /mob/eye/blob/Destroy() QDEL_NULL(blobstrain) QDEL_NULL(blob_power_hud) - for(var/BL in GLOB.blobs) - var/obj/structure/blob/B = BL - if(B && B.overmind == src) - B.overmind = null - B.update_appearance() //reset anything that was ours - for(var/obj/structure/blob/blob_structure as anything in all_blobs) - blob_structure.overmind = null + + // Clear references immediately without iterating to avoid blocking all_blobs = null resource_blobs = null factory_blobs = null @@ -253,6 +278,9 @@ GLOBAL_LIST_EMPTY(blob_nodes) STOP_PROCESSING(SSobj, src) GLOB.blob_telepathy_mobs -= src + // Handle blob cleanup asynchronously to avoid blocking Destroy() + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(cleanup_overmind_blobs), src) + return ..() /mob/eye/blob/Login() diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index c07457381ac..cc583893db5 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -6,7 +6,7 @@ roundend_category = "changelings" antagpanel_category = "Changeling" pref_flag = ROLE_CHANGELING - antag_moodlet = /datum/mood_event/focused + antag_moodlet = /datum/mood_event/ling antag_hud_name = "changeling" hijack_speed = 0.5 ui_name = "AntagInfoChangeling" diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 9a77b25a6ec..77dfc92c81e 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -465,7 +465,7 @@ var/old_color = target.color target.color = COLOR_HERETIC_GREEN - animate(target, color = old_color, time = 4 SECONDS, easing = EASE_IN) + animate(target, color = old_color, time = 4 SECONDS, easing = SINE_EASING|EASE_IN) target.mob_light(range = 1.5, power = 2.5, color = COLOR_HERETIC_GREEN, duration = 0.5 SECONDS) playsound(target, 'sound/effects/magic/magic_block_mind.ogg', 150, TRUE) // insanely quiet diff --git a/code/modules/antagonists/cult/datums/cult_team.dm b/code/modules/antagonists/cult/datums/cult_team.dm index 543ec68ff5a..112977acb00 100644 --- a/code/modules/antagonists/cult/datums/cult_team.dm +++ b/code/modules/antagonists/cult/datums/cult_team.dm @@ -58,6 +58,7 @@ SEND_SOUND(mind.current, 'sound/music/antag/bloodcult/bloodcult_eyes.ogg') to_chat(mind.current, span_cult_large(span_warning("The veil weakens as your cult grows, your eyes begin to glow..."))) mind.current.AddElement(/datum/element/cult_eyes) + ADD_TRAIT(mind.current, TRAIT_DESENSITIZED, CULT_TRAIT) cult_risen = TRUE log_game("The blood cult has risen with [cultplayers] players.") diff --git a/code/modules/antagonists/cult/datums/cultist.dm b/code/modules/antagonists/cult/datums/cultist.dm index ba6678e53ff..55f0f61d97a 100644 --- a/code/modules/antagonists/cult/datums/cultist.dm +++ b/code/modules/antagonists/cult/datums/cultist.dm @@ -65,6 +65,7 @@ if(cult_team.cult_risen) current.AddElement(/datum/element/cult_eyes, initial_delay = 0 SECONDS) + ADD_TRAIT(current, TRAIT_DESENSITIZED, CULT_TRAIT) if(cult_team.cult_ascendent) current.AddElement(/datum/element/cult_halo, initial_delay = 0 SECONDS) @@ -87,7 +88,8 @@ if (HAS_TRAIT(current, TRAIT_CULT_HALO)) current.RemoveElement(/datum/element/cult_halo) - REMOVE_TRAIT(owner.current, TRAIT_HEALS_FROM_CULT_PYLONS, CULT_TRAIT) + REMOVE_TRAIT(current, TRAIT_DESENSITIZED, CULT_TRAIT) + REMOVE_TRAIT(current, TRAIT_HEALS_FROM_CULT_PYLONS, CULT_TRAIT) /datum/antagonist/cult/on_mindshield(mob/implanter) if(!silent) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index bdbe7447921..de840127f88 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -1173,14 +1173,13 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) empulse(T, 0.42*(intensity), 1) var/list/images = list() - var/datum/atom_hud/sec_hud = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] for(var/mob/living/M in GLOB.alive_mob_list) if(!is_valid_z_level(T, get_turf(M))) continue if(ishuman(M)) if(!IS_CULTIST(M)) - sec_hud.hide_from(M) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(hudFix), M), duration) + ADD_TRAIT(M, TRAIT_BLOCK_SECHUD, CULT_TRAIT) + addtimer(TRAIT_CALLBACK_REMOVE(M, TRAIT_BLOCK_SECHUD, CULT_TRAIT), duration) var/image/A = image('icons/mob/nonhuman-player/cult.dmi',M,"cultist", ABOVE_MOB_LAYER) A.override = 1 add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "human_apoc", A, NONE) @@ -1257,13 +1256,3 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0) if(I.icon_state != "bloodsparkles") I.override = TRUE sleep(19 SECONDS) - - - -/proc/hudFix(mob/living/carbon/human/target) - if(!target || !target.client) - return - var/obj/O = target.get_item_by_slot(ITEM_SLOT_EYES) - if(istype(O, /obj/item/clothing/glasses/hud/security)) - var/datum/atom_hud/sec_hud = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] - sec_hud.show_to(target) diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 3ea73859527..151948df706 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -38,6 +38,14 @@ owner?.current.faction |= FACTION_ERT // SKYRAT EDIT ADDITION . = ..() +/datum/antagonist/ert/apply_innate_effects(mob/living/mob_override) + var/mob/living/carbon/human/officer = mob_override || owner.current + ADD_TRAIT(officer, TRAIT_DESENSITIZED, REF(src)) + +/datum/antagonist/ert/remove_innate_effects(mob/living/mob_override) + var/mob/living/carbon/human/officer = mob_override || owner.current + REMOVE_TRAIT(officer, TRAIT_DESENSITIZED, REF(src)) + /datum/antagonist/ert/get_team() return ert_team diff --git a/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm b/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm index 65e22b1ed6c..854ac2d43a4 100644 --- a/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm +++ b/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm @@ -85,8 +85,8 @@ if(istype(equip_to.w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/uniform = equip_to.w_uniform - uniform.sensor_mode = NO_SENSORS - uniform.has_sensor = NO_SENSORS + uniform.set_sensor_mode(SENSOR_OFF) + uniform.set_has_sensor(NO_SENSORS) /datum/outfit/russian_hunter/leader name = "Russian Hunter Leader" diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index fe2805202fc..726e6247dc2 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -606,6 +606,7 @@ if(!isnull(ascension_achievement)) user.client?.give_award(ascension_achievement, user) heretic_datum.increase_rust_strength() + ADD_TRAIT(user, TRAIT_DESENSITIZED, type) return TRUE /datum/heretic_knowledge/ultimate/cleanup_atoms(list/selected_atoms) diff --git a/code/modules/antagonists/heretic/items/eldritch_flask.dm b/code/modules/antagonists/heretic/items/eldritch_flask.dm index fc0dd054497..101da331241 100644 --- a/code/modules/antagonists/heretic/items/eldritch_flask.dm +++ b/code/modules/antagonists/heretic/items/eldritch_flask.dm @@ -15,7 +15,7 @@ icon_state = "phylactery" base_icon_state = "phylactery" has_variable_transfer_amount = FALSE - reagent_flags = OPENCONTAINER | DUNKABLE | TRANSPARENT + initial_reagent_flags = OPENCONTAINER | DUNKABLE | TRANSPARENT volume = 10 /// Cooldown before you can steal blood again COOLDOWN_DECLARE(drain_cooldown) diff --git a/code/modules/antagonists/heretic/items/heretic_necks.dm b/code/modules/antagonists/heretic/items/heretic_necks.dm index 5bf63652ec9..2dcf9b4ec1e 100644 --- a/code/modules/antagonists/heretic/items/heretic_necks.dm +++ b/code/modules/antagonists/heretic/items/heretic_necks.dm @@ -36,7 +36,7 @@ else team_color = pick(COLOR_CULT_RED, COLOR_GREEN) - user.add_traits(list(TRAIT_MANSUS_TOUCHED, TRAIT_BLOODY_MESS), REF(src)) + user.add_traits(list(TRAIT_MANSUS_TOUCHED, TRAIT_BLOOD_FOUNTAIN), REF(src)) to_chat(user, span_alert("Your heart takes on a strange yet soothing irregular rhythm, and your blood feels significantly less viscous than it used to be. You're not sure if that's a good thing.")) component = user.AddComponent( \ /datum/component/aura_healing, \ @@ -65,7 +65,7 @@ spell_action.cooldown_time *= 2 active = FALSE QDEL_NULL(component) - user.remove_traits(list(TRAIT_MANSUS_TOUCHED, TRAIT_BLOODY_MESS), REF(src)) + user.remove_traits(list(TRAIT_MANSUS_TOUCHED, TRAIT_BLOOD_FOUNTAIN), REF(src)) // If boosted enable is set, to prevent false dropped() calls from repeatedly nuking the max spells. var/datum/action/innate/cult/blood_magic/magic_holder = locate() in user.actions diff --git a/code/modules/antagonists/heretic/magic/mansus_grasp.dm b/code/modules/antagonists/heretic/magic/mansus_grasp.dm index 03b44a393f1..bf99c063e20 100644 --- a/code/modules/antagonists/heretic/magic/mansus_grasp.dm +++ b/code/modules/antagonists/heretic/magic/mansus_grasp.dm @@ -54,7 +54,7 @@ var/old_color = carbon_hit.color carbon_hit.color = COLOR_CULT_RED - animate(carbon_hit, color = old_color, time = 4 SECONDS, easing = EASE_IN) + animate(carbon_hit, color = old_color, time = 4 SECONDS, easing = SINE_EASING|EASE_IN) carbon_hit.mob_light(range = 1.5, power = 2.5, color = COLOR_CULT_RED, duration = 0.5 SECONDS) playsound(carbon_hit, 'sound/effects/magic/curse.ogg', 50, TRUE) diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm index 97792dd3df7..780676407cf 100644 --- a/code/modules/antagonists/heretic/status_effects/buffs.dm +++ b/code/modules/antagonists/heretic/status_effects/buffs.dm @@ -107,7 +107,7 @@ if(WOUND_SEVERITY_CRITICAL) heal_amt = 6 var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[wound.type] - if (pregen_data.wounding_types_valid(list(WOUND_BURN))) + if (pregen_data.wounding_types_valid(WOUND_BURN)) carbie.adjustFireLoss(-heal_amt) else carbie.adjustBruteLoss(-heal_amt) diff --git a/code/modules/antagonists/heretic/status_effects/ghoul.dm b/code/modules/antagonists/heretic/status_effects/ghoul.dm index 598b43f60fd..036f35f017c 100644 --- a/code/modules/antagonists/heretic/status_effects/ghoul.dm +++ b/code/modules/antagonists/heretic/status_effects/ghoul.dm @@ -62,6 +62,7 @@ on_made_callback?.Invoke(human_target) ADD_TRAIT(human_target, TRAIT_FAKEDEATH, TRAIT_STATUS_EFFECT(id)) ADD_TRAIT(human_target, TRAIT_HERETIC_SUMMON, TRAIT_STATUS_EFFECT(id)) + ADD_TRAIT(human_target, TRAIT_DESENSITIZED, TRAIT_STATUS_EFFECT(id)) human_target.become_husk(TRAIT_STATUS_EFFECT(id)) human_target.faction |= FACTION_HERETIC @@ -92,6 +93,7 @@ on_lost_callback?.Invoke(human_target) REMOVE_TRAIT(human_target, TRAIT_FAKEDEATH, TRAIT_STATUS_EFFECT(id)) REMOVE_TRAIT(human_target, TRAIT_HERETIC_SUMMON, TRAIT_STATUS_EFFECT(id)) + REMOVE_TRAIT(human_target, TRAIT_DESENSITIZED, TRAIT_STATUS_EFFECT(id)) human_target.cure_husk(TRAIT_STATUS_EFFECT(id)) human_target.faction -= FACTION_HERETIC human_target.mind?.remove_antag_datum(/datum/antagonist/heretic_monster) diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 5d381f623bd..d197f91f573 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -8,12 +8,13 @@ antag_flags = ANTAG_FAKE|ANTAG_SKIP_GLOBAL_LIST /// Traits we apply/remove to our target on-demand. var/static/list/applicable_traits = list( + TRAIT_DESENSITIZED, TRAIT_NOBREATH, TRAIT_NODISMEMBER, TRAIT_NOFIRE, TRAIT_NOGUNS, - TRAIT_TOSS_GUN_HARD, TRAIT_SHOCKIMMUNE, + TRAIT_TOSS_GUN_HARD, ) /datum/antagonist/highlander/apply_innate_effects(mob/living/mob_override) diff --git a/code/modules/antagonists/malf_ai/malf_ai_modules.dm b/code/modules/antagonists/malf_ai/malf_ai_modules.dm index 09243b95836..770a064de1f 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_modules.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_modules.dm @@ -409,8 +409,8 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module/malf)) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_malf_ai_undo_lockdown)), 90 SECONDS) - var/obj/machinery/computer/communications/random_comms_console = locate() in GLOB.shuttle_caller_list - random_comms_console?.post_status("alert", "lockdown") + // Set status displays to lockdown alert + send_status_display_lockdown_alert() minor_announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.", "Network Alert:", TRUE) to_chat(owner, span_danger("Lockdown initiated. Network reset in 90 seconds.")) @@ -427,6 +427,9 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module/malf)) INVOKE_ASYNC(locked_down, TYPE_PROC_REF(/obj/machinery/door, disable_lockdown)) CHECK_TICK + // Clear the lockdown emergency display + clear_status_display_lockdown() + /// Override Machine: Allows the AI to override a machine, animating it into an angry, living version of itself. /datum/ai_module/malf/destructive/override_machine name = "Machine Override" @@ -890,7 +893,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module/malf)) /datum/ai_module/malf/upgrade/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) for(var/obj/machinery/porta_turret/ai/turret as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/porta_turret/ai)) - turret.AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) + turret.AddElement(/datum/element/empprotection, EMP_PROTECT_ALL|EMP_NO_EXAMINE) turret.max_integrity = 200 turret.repair_damage(200) turret.lethal_projectile = /obj/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR. diff --git a/code/modules/antagonists/nightmare/nightmare.dm b/code/modules/antagonists/nightmare/nightmare.dm index 6b9aeb60549..a6157b8f27d 100644 --- a/code/modules/antagonists/nightmare/nightmare.dm +++ b/code/modules/antagonists/nightmare/nightmare.dm @@ -17,6 +17,14 @@ forge_objectives() . = ..() +/datum/antagonist/nightmare/apply_innate_effects(mob/living/mob_override) + var/mob/living/nightmare = mob_override || owner.current + nightmare.mob_mood.mood_modifier -= 1 + +/datum/antagonist/nightmare/remove_innate_effects(mob/living/mob_override) + var/mob/living/nightmare = mob_override || owner.current + nightmare.mob_mood.mood_modifier += 1 + /datum/outfit/nightmare name = "Nightmare (Preview only)" diff --git a/code/modules/antagonists/nukeop/datums/operative.dm b/code/modules/antagonists/nukeop/datums/operative.dm index 0279a12939d..6c56cfa826b 100644 --- a/code/modules/antagonists/nukeop/datums/operative.dm +++ b/code/modules/antagonists/nukeop/datums/operative.dm @@ -40,6 +40,7 @@ /datum/antagonist/nukeop/on_gain() give_alias() forge_objectives() + owner.current.add_personality(/datum/personality/callous) . = ..() owner.set_assigned_role(SSjob.get_job_type(job_type)) equip_op() @@ -129,6 +130,7 @@ var/mob/living/carbon/human/operative = owner.current ADD_TRAIT(operative, TRAIT_NOFEAR_HOLDUPS, INNATE_TRAIT) + ADD_TRAIT(operative, TRAIT_DESENSITIZED, INNATE_TRAIT) if(!nukeop_outfit) // this variable is null in instances where an antagonist datum is granted via enslaving the mind (/datum/mind/proc/enslave_mind_to_creator), like in golems. return diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index 758fcbb7d6a..b54a3540307 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -102,7 +102,7 @@ GLOBAL_LIST_EMPTY(jam_on_wardec) var/datum/techweb/station_techweb = locate(/datum/techweb/science) in SSresearch.techwebs if(station_techweb) - var/obj/machinery/announcement_system/announcement_system = get_announcement_system() + var/obj/machinery/announcement_system/announcement_system = get_announcement_system(null, null, list(RADIO_CHANNEL_SCIENCE)) if (!isnull(announcement_system)) announcement_system.broadcast("Additional research data received from Nanotrasen R&D Division following the emergency protocol.", list(RADIO_CHANNEL_SCIENCE), TRUE) station_techweb.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS * 3)) diff --git a/code/modules/antagonists/paradox_clone/paradox_clone.dm b/code/modules/antagonists/paradox_clone/paradox_clone.dm index d009d9b5d48..18631c51237 100644 --- a/code/modules/antagonists/paradox_clone/paradox_clone.dm +++ b/code/modules/antagonists/paradox_clone/paradox_clone.dm @@ -50,9 +50,8 @@ //dont want anyone noticing there's two now var/mob/living/carbon/human/clone_human = owner.current var/obj/item/clothing/under/sensor_clothes = clone_human.w_uniform - if(sensor_clothes) - sensor_clothes.sensor_mode = SENSOR_OFF - clone_human.update_suit_sensors() + if(istype(sensor_clothes)) + sensor_clothes.set_sensor_mode(SENSOR_OFF) // Perform a quick copy of existing memories. // This may result in some minutely imperfect memories, but it'll do diff --git a/code/modules/antagonists/pirate/pirate.dm b/code/modules/antagonists/pirate/pirate.dm index 926fe0e6468..e4899a8eca3 100644 --- a/code/modules/antagonists/pirate/pirate.dm +++ b/code/modules/antagonists/pirate/pirate.dm @@ -6,6 +6,7 @@ show_in_antagpanel = FALSE show_to_ghosts = TRUE suicide_cry = "FOR ME MATEYS!!" + stinger_sound = 'sound/music/antag/pirate/pirate_start.ogg' hijack_speed = 2 // That is without doubt the worst pirate I have ever seen. var/datum/team/pirate/crew @@ -45,11 +46,12 @@ var/datum/language_holder/holder = owner_mob.get_language_holder() holder.grant_language(/datum/language/piratespeak, source = LANGUAGE_PIRATE) holder.selected_language = /datum/language/piratespeak + ADD_TRAIT(owner_mob, TRAIT_DESENSITIZED, REF(src)) /datum/antagonist/pirate/remove_innate_effects(mob/living/mob_override) var/mob/living/owner_mob = mob_override || owner.current - if (owner_mob) - owner_mob.remove_language(/datum/language/piratespeak, source = LANGUAGE_PIRATE) + owner_mob.remove_language(/datum/language/piratespeak, source = LANGUAGE_PIRATE) + REMOVE_TRAIT(owner_mob, TRAIT_DESENSITIZED, REF(src)) /datum/team/pirate name = "\improper Pirate crew" diff --git a/code/modules/antagonists/pirate/pirate_outfits.dm b/code/modules/antagonists/pirate/pirate_outfits.dm index 8976e212c54..e484a8cd097 100644 --- a/code/modules/antagonists/pirate/pirate_outfits.dm +++ b/code/modules/antagonists/pirate/pirate_outfits.dm @@ -25,10 +25,9 @@ outfit_id.update_icon() var/obj/item/clothing/under/pirate_uniform = equipped.w_uniform - if(pirate_uniform) - pirate_uniform.has_sensor = NO_SENSORS - pirate_uniform.sensor_mode = SENSOR_OFF - equipped.update_suit_sensors() + if(istype(pirate_uniform)) + pirate_uniform.set_has_sensor(NO_SENSORS) + pirate_uniform.set_sensor_mode(SENSOR_OFF) /datum/outfit/pirate/captain name = "Space Pirate Captain" diff --git a/code/modules/antagonists/revolution/revolution_handler.dm b/code/modules/antagonists/revolution/revolution_handler.dm index d3bdbf97269..f4c703ba952 100644 --- a/code/modules/antagonists/revolution/revolution_handler.dm +++ b/code/modules/antagonists/revolution/revolution_handler.dm @@ -73,6 +73,10 @@ GLOBAL_DATUM(revolution_handler, /datum/revolution_handler) if(isnull(real_headrev)) continue add_memory_in_range(real_headrev, 5, /datum/memory/revolution_rev_victory, protagonist = real_headrev) + add_personality_mood_to_viewers(real_headrev, "revwin", list( + /datum/personality/nt/loyalist = /datum/mood_event/loyalist_revs_win, + /datum/personality/nt/disillusioned = /datum/mood_event/disillusioned_revs_win, + ), range = 5) result = REVOLUTION_VICTORY @@ -99,6 +103,10 @@ GLOBAL_DATUM(revolution_handler, /datum/revolution_handler) var/mob/living/head_of_staff = head_tracker.target?.current if(!isnull(head_of_staff)) add_memory_in_range(head_of_staff, 5, /datum/memory/revolution_heads_victory, protagonist = head_of_staff) + add_personality_mood_to_viewers(head_of_staff, "revlost", list( + /datum/personality/nt/loyalist = /datum/mood_event/loyalist_revs_lost, + /datum/personality/nt/disillusioned = /datum/mood_event/disillusioned_revs_lost + ), range = 5) priority_announce("It appears the mutiny has been quelled. Please return yourself and your incapacitated colleagues to work. \ We have remotely blacklisted the head revolutionaries in your medical records to prevent accidental revival.", null, null, null, "[command_name()] Loyalty Monitoring Division") diff --git a/code/modules/antagonists/space_ninja/space_ninja.dm b/code/modules/antagonists/space_ninja/space_ninja.dm index f32d2449ad5..c4b7d7ebcfc 100644 --- a/code/modules/antagonists/space_ninja/space_ninja.dm +++ b/code/modules/antagonists/space_ninja/space_ninja.dm @@ -15,6 +15,14 @@ ///Whether or not this ninja will obtain objectives var/give_objectives = TRUE +/datum/antagonist/ninja/apply_innate_effects(mob/living/mob_override) + var/mob/ninja = mob_override || owner.current + ADD_TRAIT(ninja, TRAIT_DESENSITIZED, REF(src)) + +/datum/antagonist/ninja/remove_innate_effects(mob/living/mob_override) + var/mob/ninja = mob_override || owner.current + REMOVE_TRAIT(ninja, TRAIT_DESENSITIZED, REF(src)) + /** * Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. * diff --git a/code/modules/antagonists/voidwalker/voidwalker_abilities.dm b/code/modules/antagonists/voidwalker/voidwalker_abilities.dm index a1da3474d9c..f5b12af1a12 100644 --- a/code/modules/antagonists/voidwalker/voidwalker_abilities.dm +++ b/code/modules/antagonists/voidwalker/voidwalker_abilities.dm @@ -2,7 +2,8 @@ /datum/action/cooldown/spell/pointed/unsettle name = "Unsettle" desc = "Stare directly into someone who doesn't see you. Remain in their view for a bit to stun them for 2 seconds and announce your presence to them. " - button_icon_state = "terrify" + button_icon = 'icons/mob/actions/actions_voidwalker.dmi' + button_icon_state = "unsettle" background_icon_state = "bg_void" overlay_icon_state = null panel = null @@ -80,7 +81,7 @@ name = "Cosmic Transmit" background_icon_state = "bg_void" button_icon = 'icons/mob/actions/actions_voidwalker.dmi' - button_icon_state = "voidwalker_telepathy" + button_icon_state = "telepathy" panel = null overlay_icon_state = null @@ -112,7 +113,9 @@ /datum/action/cooldown/mob_cooldown/charge/voidwalker name = "Cosmic Dash" - button_icon_state = "void_dash" + background_icon_state = "bg_void" + button_icon = 'icons/mob/actions/actions_voidwalker.dmi' + button_icon_state = "dash" charge_past = 0 charge_damage = 20 cooldown_time = 8 SECONDS diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index f261b38497d..f31ae96f050 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -84,7 +84,8 @@ GLOBAL_LIST_EMPTY(wizard_spellbook_purchases_by_key) CRASH("Wizard datum with no owner.") assign_ritual() equip_wizard() - owner.current.add_quirk(/datum/quirk/introvert, announce = FALSE) + owner.current.add_personality(/datum/personality/introvert) + owner.current.add_personality(/datum/personality/callous) // no sense of right and wrong if(give_objectives) create_objectives() if(move_to_lair) diff --git a/code/modules/art/paintings.dm b/code/modules/art/paintings.dm index e45af4fcf69..a30588f333d 100644 --- a/code/modules/art/paintings.dm +++ b/code/modules/art/paintings.dm @@ -275,7 +275,7 @@ #define CURATOR_PERCENTILE_CUT 0.225 #define SERVICE_PERCENTILE_CUT 0.125 -/obj/item/canvas/proc/patron(mob/user) +/obj/item/canvas/proc/patron(mob/living/user) if(!finalized || !isliving(user)) return if(!painting_metadata.loaded_from_json) @@ -327,6 +327,10 @@ last_patron = WEAKREF(user.mind) to_chat(user, span_notice("Nanotrasen Trust Foundation thanks you for your contribution. You're now an official patron of this painting.")) + if(HAS_PERSONALITY(user, /datum/personality/creative)) + user.add_mood_event("creative_patronage", /datum/mood_event/creative_patronage) + if(HAS_PERSONALITY(user, /datum/personality/unimaginative)) + user.add_mood_event("unimaginative_patronage", /datum/mood_event/unimaginative_patronage) var/list/possible_frames = SSpersistent_paintings.get_available_frames(offer_amount) if(possible_frames.len <= 1) // Not much room for choices here. return @@ -770,7 +774,7 @@ INVOKE_ASYNC(current_canvas, TYPE_PROC_REF(/obj/item/canvas, select_new_frame), user) return CLICK_ACTION_SUCCESS -/obj/structure/sign/painting/proc/frame_canvas(mob/user, obj/item/canvas/new_canvas) +/obj/structure/sign/painting/proc/frame_canvas(mob/living/user, obj/item/canvas/new_canvas) if(!(new_canvas.type in accepted_canvas_types)) to_chat(user, span_warning("[new_canvas] won't fit in this frame.")) return FALSE @@ -781,6 +785,10 @@ to_chat(user,span_notice("You frame [current_canvas].")) add_art_element() update_appearance() + if(HAS_PERSONALITY(user, /datum/personality/creative)) + user.add_mood_event("creative_framing", /datum/mood_event/creative_framing) + if(HAS_PERSONALITY(user, /datum/personality/unimaginative)) + user.add_mood_event("unimaginative_framing", /datum/mood_event/unimaginative_framing) return TRUE return FALSE @@ -971,7 +979,7 @@ if(EAST) bound_height = 64 -/obj/structure/sign/painting/large/frame_canvas(mob/user, obj/item/canvas/new_canvas) +/obj/structure/sign/painting/large/frame_canvas(mob/living/user, obj/item/canvas/new_canvas) . = ..() if(.) set_painting_offsets() diff --git a/code/modules/art/statues.dm b/code/modules/art/statues.dm index 7a2fc5a8f5a..a4634dfcfc5 100644 --- a/code/modules/art/statues.dm +++ b/code/modules/art/statues.dm @@ -401,6 +401,10 @@ Moving interrupts if(!interrupted && !QDELETED(prepared_block)) prepared_block.create_statue() user.balloon_alert(user, "statue finished") + if(HAS_PERSONALITY(user, /datum/personality/creative)) + user.add_mood_event("creative_sculpting", /datum/mood_event/creative_sculpting) + if(HAS_PERSONALITY(user, /datum/personality/unimaginative)) + user.add_mood_event("unimaginative_sculpting", /datum/mood_event/unimaginative_sculpting) stop_sculpting(silent = !interrupted) /// To setup the sculpting target for the carving block diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 5fd30faa3a5..f4ee56221c1 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -102,12 +102,12 @@ for(var/i in 1 to LAZYLEN(assemblies)) if(IS_LEFT_INDEX(i)) var/obj/item/assembly/assembly = assemblies[i] - . += "[assembly.icon_state]_left" + . += mutable_appearance(assembly.icon, "[assembly.icon_state]_left") for(var/left_overlay in assembly.attached_overlays) . += "[left_overlay]_l" if(IS_RIGHT_INDEX(i)) var/obj/item/assembly/assembly = assemblies[i] - var/mutable_appearance/right = mutable_appearance(icon, "[assembly.icon_state]_left") + var/mutable_appearance/right = mutable_appearance(assembly.icon, "[assembly.icon_state]_left") right.transform = matrix(-1, 0, 0, 0, 1, 0) for(var/right_overlay in assembly.attached_overlays) right.add_overlay("[right_overlay]_l") diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index e8a6f946d3d..892162e8ada 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -26,6 +26,9 @@ SSliquids.processing_fire[src] = TRUE //SKYRAT EDIT END + if(exposed_temperature < TCMB) + exposed_temperature = TCMB + CRASH("[src].hotspot_expose() called with exposed_temperature < [TCMB]") //If the air doesn't exist we just return false var/list/air_gases = air?.gases if(!air_gases) diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 8e1e4ad1f5e..ffd45abb600 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -815,8 +815,8 @@ var/list/tritium = cached_gases[/datum/gas/tritium] /// List of gases we will assert, and possibly garbage collect. var/list/asserted_gases = list(/datum/gas/hypernoblium, /datum/gas/bz) - var/list/bz = cached_gases[/datum/gas/bz] air.assert_gases(arglist(asserted_gases)) + var/list/bz = cached_gases[/datum/gas/bz] var/reduction_factor = clamp(tritium[MOLES] / (tritium[MOLES] + bz[MOLES]), 0.001 , 1) //reduces trit consumption in presence of bz upward to 0.1% reduction var/nob_formed = min((nitrogen[MOLES] + tritium[MOLES]) * 0.01, tritium[MOLES] * INVERSE(5 * reduction_factor), nitrogen[MOLES] * INVERSE(10)) diff --git a/code/modules/atmospherics/machinery/bluespace_vendor.dm b/code/modules/atmospherics/machinery/bluespace_vendor.dm deleted file mode 100644 index 0973e70dcbd..00000000000 --- a/code/modules/atmospherics/machinery/bluespace_vendor.dm +++ /dev/null @@ -1,320 +0,0 @@ -/obj/item/wallframe/bluespace_vendor_mount - name = "bluespace vendor wall mount" - desc = "Used for placing bluespace vendors." - icon = 'icons/obj/machines/atmospherics/bluespace_gas_selling.dmi' - icon_state = "bluespace_vendor_open" - result_path = /obj/machinery/bluespace_vendor/built - pixel_shift = 30 - -///Defines for the mode of the vendor -#define BS_MODE_OFF 1 -#define BS_MODE_IDLE 2 -#define BS_MODE_PUMPING 3 -#define BS_MODE_OPEN 4 - -/obj/machinery/bluespace_vendor - icon = 'icons/obj/machines/atmospherics/bluespace_gas_selling.dmi' - icon_state = "bluespace_vendor_off" - base_icon_state = "bluespace_vendor" - name = "Bluespace Gas Vendor" - desc = "Sells gas tanks with custom mixes for all the family!" - - max_integrity = 300 - armor_type = /datum/armor/machinery_bluespace_vendor - layer = OBJ_LAYER - - ///The bluespace sender that this vendor is connected to - var/obj/machinery/atmospherics/components/unary/bluespace_sender/connected_machine - ///Amount of usable tanks inside the machine - var/empty_tanks = 10 - ///Typepath to the tanks that vendor will make - var/new_tank = /obj/item/tank/internals/generic - ///Reference to the current in use tank to be filled - var/obj/item/tank/internal_tank - ///Path of the gas selected from the UI to be pumped inside the tanks - var/selected_gas - ///Is the vendor trying to move gases from the network to the tanks? - var/pumping = FALSE - ///Amount of the tank already filled with gas (from 0 to 100) - var/tank_filling_amount = 0 - ///Base price of the tank - var/tank_cost = 10 - ///Has a tank been dispensed from the machine? - var/tank_purchased = FALSE - ///Stores the current price of the gases inside the tank - var/gas_price = 0 - ///Mixture of purchased gas, used only for checking prices - var/datum/gas_mixture/purchased_gas_mix = null - ///Helper for mappers, will automatically connect to the sender (ensure to only place one sender per map) - var/map_spawned = TRUE - ///Current operating mode of the vendor - var/mode = BS_MODE_OFF - -//The one that the players make -/obj/machinery/bluespace_vendor/built - map_spawned = FALSE - mode = BS_MODE_OPEN - -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/bluespace_vendor, 30) - -/datum/armor/machinery_bluespace_vendor - energy = 100 - fire = 80 - acid = 30 - -/obj/machinery/bluespace_vendor/Initialize(mapload, ndir, nbuild) - . = ..() - - if(nbuild) - set_panel_open(TRUE) - - update_appearance() - - purchased_gas_mix = new(100) - AddComponent(/datum/component/payment, 0, SSeconomy.get_dep_account(ACCOUNT_ENG), PAYMENT_ANGRY) - find_and_hang_on_wall( FALSE) - -/obj/machinery/bluespace_vendor/post_machine_initialize() - . = ..() - if(!map_spawned) - return - for(var/obj/machinery/atmospherics/components/unary/bluespace_sender/sender as anything in GLOB.bluespace_senders) - register_machine(sender) - -/obj/machinery/bluespace_vendor/Destroy() - unregister_machine() - return ..() - -/obj/machinery/bluespace_vendor/update_icon_state() - switch(mode) - if(BS_MODE_OFF) - icon_state = "[base_icon_state]_off" - if(BS_MODE_IDLE) - icon_state = "[base_icon_state]_idle" - if(BS_MODE_PUMPING) - icon_state = "[base_icon_state]_pumping" - if(BS_MODE_OPEN) - icon_state = "[base_icon_state]_open" - return ..() - -/obj/machinery/bluespace_vendor/Exited(atom/movable/gone, direction) - if(gone == internal_tank) - internal_tank = null - purchased_gas_mix.remove_ratio(1) - return ..() - -/obj/machinery/bluespace_vendor/process() - if(mode == BS_MODE_OPEN) - return - if(!selected_gas) - return - var/gas_path = gas_id2path(selected_gas) - - if(!connected_machine.bluespace_network.gases[gas_path]) - pumping = FALSE - selected_gas = null - mode = BS_MODE_IDLE - update_appearance() - return - - - var/datum/gas_mixture/to_merge = connected_machine.bluespace_network.pump_gas_to(internal_tank.return_air(), (tank_filling_amount * 0.01) * 10 * ONE_ATMOSPHERE, gas_path) - purchased_gas_mix.merge(to_merge) - -/obj/machinery/bluespace_vendor/multitool_act(mob/living/user, obj/item/multitool/multitool) - if(!istype(multitool)) - return - if(!istype(multitool.buffer, /obj/machinery/atmospherics/components/unary/bluespace_sender)) - to_chat(user, span_notice("Wrong machine type in [multitool] buffer...")) - return - if(connected_machine) - to_chat(user, span_notice("Changing [src] bluespace network...")) - if(!do_after(user, 0.2 SECONDS, src)) - return - playsound(get_turf(user), 'sound/machines/click.ogg', 10, TRUE) - register_machine(multitool.buffer) - to_chat(user, span_notice("You link [src] to the console in [multitool]'s buffer.")) - return TRUE - -/obj/machinery/bluespace_vendor/attackby(obj/item/item, mob/living/user) - if(!pumping && default_deconstruction_screwdriver(user, "[base_icon_state]_open", "[base_icon_state]_off", item)) - check_mode() - return - if(default_deconstruction_crowbar(item, FALSE, custom_deconstruct = TRUE)) - new/obj/item/wallframe/bluespace_vendor_mount(user.loc) - qdel(src) - return - - if(istype(item, /obj/item/stack/sheet/iron)) - var/obj/item/stack/sheet/iron/iron = item - if (iron.use(1)) - user.balloon_alert(user, "sheet inserted") - empty_tanks++ - return TRUE - if(istype(item, /obj/item/tank) && !internal_tank && mode != BS_MODE_OFF) - if(!user.transferItemToLoc(item, src)) - user.balloon_alert(user, "it's stuck!") - return - internal_tank = item - playsound(src, 'sound/effects/compressed_air/tank_insert_clunky.ogg', 50) - to_chat(user, span_notice("You insert [item] into the vendor.")) - return TRUE - - return ..() - -/obj/machinery/bluespace_vendor/examine(mob/user) - . = ..() - switch(empty_tanks) - if(2 to INFINITY) - . += span_notice("There are currently [empty_tanks] empty tanks available, more can be made by inserting iron sheets in the machine.") - if(1) - . += span_notice("There is only one empty tank available, please refill the machine by using iron sheets.") - if(0) - . += span_notice("There is no available tank, please refill the machine by using iron sheets.") - -///Check what is the current operating mode -/obj/machinery/bluespace_vendor/proc/check_mode() - if(panel_open) - mode = BS_MODE_OPEN - else if(connected_machine) - mode = BS_MODE_IDLE - else - mode = BS_MODE_OFF - update_appearance() - -///Register the sender as the connected_machine -/obj/machinery/bluespace_vendor/proc/register_machine(machine) - connected_machine = machine - LAZYADD(connected_machine.vendors, src) - RegisterSignal(connected_machine, COMSIG_QDELETING, PROC_REF(unregister_machine)) - mode = BS_MODE_IDLE - update_appearance() - -///Unregister the connected_machine (either when qdel this or the sender) -/obj/machinery/bluespace_vendor/proc/unregister_machine() - SIGNAL_HANDLER - if(connected_machine) - UnregisterSignal(connected_machine, COMSIG_QDELETING) - LAZYREMOVE(connected_machine.vendors, src) - connected_machine = null - mode = BS_MODE_OFF - update_appearance() - -///Check the price of the current tank, if the user doesn't have the money the gas will be merged back into the network -/obj/machinery/bluespace_vendor/proc/check_price(mob/user) - if (!purchased_gas_mix) - if(tank_purchased) - if(attempt_charge(src, user, tank_cost) & COMPONENT_OBJ_CANCEL_CHARGE) - return - if(internal_tank && Adjacent(user)) - tank_purchased = FALSE - user.put_in_hands(internal_tank) - playsound(src, 'sound/effects/compressed_air/tank_remove_thunk.ogg', 50) - return - - var/temp_price = 0 - var/datum/gas_mixture/working_mix = internal_tank.return_air() - var/list/purchased_gases = purchased_gas_mix.gases - - for(var/gas_id in purchased_gases) - temp_price += purchased_gases[gas_id][MOLES] * connected_machine.base_prices[gas_id] - gas_price = temp_price - - if(tank_purchased) - gas_price += tank_cost - - if(attempt_charge(src, user, gas_price) & COMPONENT_OBJ_CANCEL_CHARGE) - var/datum/gas_mixture/remove = working_mix.remove_ratio(1) - purchased_gas_mix.remove_ratio(1) - connected_machine.bluespace_network.merge(remove) - return - connected_machine.credits_gained += gas_price - - if(internal_tank && Adjacent(user)) //proper capitalysm take money before goods - tank_purchased = FALSE - user.put_in_hands(internal_tank) - playsound(src, 'sound/effects/compressed_air/tank_remove_thunk.ogg', 50) - -/obj/machinery/bluespace_vendor/ui_interact(mob/user, datum/tgui/ui) - if(!connected_machine || mode == BS_MODE_OPEN) - return - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "BluespaceVendor", name) - ui.open() - -/obj/machinery/bluespace_vendor/ui_data(mob/user) - var/list/data = list() - var/list/bluespace_gasdata = list() - if(connected_machine.bluespace_network.total_moles()) - for(var/gas_id in connected_machine.bluespace_network.gases) - bluespace_gasdata.Add(list(list( - "name" = connected_machine.bluespace_network.gases[gas_id][GAS_META][META_GAS_NAME], - "id" = connected_machine.bluespace_network.gases[gas_id][GAS_META][META_GAS_ID], - "amount" = round(connected_machine.bluespace_network.gases[gas_id][MOLES], 0.01), - "price" = connected_machine.base_prices[gas_id], - ))) - else - for(var/gas_id in connected_machine.bluespace_network.gases) - bluespace_gasdata.Add(list(list( - "name" = connected_machine.bluespace_network.gases[gas_id][GAS_META][META_GAS_NAME], - "id" = "", - "amount" = 0, - "price" = 0, - ))) - data["bluespace_network_gases"] = bluespace_gasdata - data["pumping"] = pumping - data["tank_filling_amount"] = tank_filling_amount - data["selected_gas"] = selected_gas - data["tank_amount"] = empty_tanks - data["inserted_tank"] = !!internal_tank - var/total_tank_pressure - if(internal_tank) - var/datum/gas_mixture/working_mix = internal_tank.return_air() - total_tank_pressure = working_mix.return_pressure() - else - total_tank_pressure = 0 - data["tank_full"] = total_tank_pressure - return data - -/obj/machinery/bluespace_vendor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) - . = ..() - if(.) - return - - if(mode == BS_MODE_OPEN) - return - - switch(action) - if("start_pumping") - if(internal_tank && !pumping) - pumping = TRUE - selected_gas = params["gas_id"] - mode = BS_MODE_PUMPING - update_appearance() - . = TRUE - if("stop_pumping") - if(internal_tank && pumping) - pumping = FALSE - selected_gas = null - mode = BS_MODE_IDLE - update_appearance() - . = TRUE - if("pumping_rate") - tank_filling_amount = clamp(params["rate"], 0, 100) - . = TRUE - if("tank_prepare") - if(empty_tanks && !internal_tank) - tank_purchased = TRUE - internal_tank = new new_tank(src) - empty_tanks = max(empty_tanks - 1, 0) - . = TRUE - if("tank_expel") - if(internal_tank && !pumping) - check_price(usr) - . = TRUE - -#undef BS_MODE_OFF -#undef BS_MODE_IDLE -#undef BS_MODE_PUMPING -#undef BS_MODE_OPEN diff --git a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm b/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm deleted file mode 100644 index f32670cd983..00000000000 --- a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm +++ /dev/null @@ -1,229 +0,0 @@ -/obj/machinery/atmospherics/components/unary/bluespace_sender - icon = 'icons/obj/machines/atmospherics/bluespace_gas_selling.dmi' - icon_state = "bluespace_sender_off" - base_icon_state = "bluespace_sender" - name = "Bluespace Gas Sender" - desc = "Sends gases to the bluespace network to be shared with the connected vendors, who knows what's beyond!" - interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT - - density = TRUE - max_integrity = 300 - armor_type = /datum/armor/unary_bluespace_sender - layer = OBJ_LAYER - circuit = /obj/item/circuitboard/machine/bluespace_sender - move_resist = MOVE_RESIST_DEFAULT - set_dir_on_move = FALSE - pipe_flags = PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY - - ///Gas mixture containing the inserted gases and that is connected to the vendors - var/datum/gas_mixture/bluespace_network - ///Rate of gas transfer inside the network (from 0 to 1) - var/gas_transfer_rate = 0.5 - ///A base price for each and every gases, in case you don't want to change them - var/list/base_prices = list() - ///List storing all the vendors connected to the machine - var/list/vendors - ///Amount of credits gained from each vendor - var/credits_gained = 0 - -/// All bluespace gas senders -GLOBAL_LIST_EMPTY_TYPED(bluespace_senders, /obj/machinery/atmospherics/components/unary/bluespace_sender) - -/datum/armor/unary_bluespace_sender - energy = 100 - fire = 80 - acid = 30 - -/obj/machinery/atmospherics/components/unary/bluespace_sender/Initialize(mapload) - . = ..() - initialize_directions = dir - bluespace_network = new - for(var/gas_id in GLOB.meta_gas_info) - bluespace_network.assert_gas(gas_id) - for(var/gas_id in GLOB.meta_gas_info) - var/datum/gas/gas = gas_id - base_prices[gas_id] = initial(gas.base_value) - - GLOB.bluespace_senders += src - - update_appearance(UPDATE_ICON) - register_context() - -/obj/machinery/atmospherics/components/unary/bluespace_sender/Destroy() - GLOB.bluespace_senders -= src - - return ..() - -/obj/machinery/atmospherics/components/unary/bluespace_sender/examine(mob/user) - . = ..() - . += span_notice("With the panel open:") - . += span_notice(" -Use a wrench with left-click to rotate [src] and right-click to unanchor it.") - -/obj/machinery/atmospherics/components/unary/bluespace_sender/add_context(atom/source, list/context, obj/item/held_item, mob/user) - . = ..() - if(anchored && !panel_open && is_operational) - context[SCREENTIP_CONTEXT_CTRL_LMB] = "Turn [on ? "off" : "on"]" - if(!held_item) - return CONTEXTUAL_SCREENTIP_SET - switch(held_item.tool_behaviour) - if(TOOL_SCREWDRIVER) - context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Close" : "Open"] panel" - if(TOOL_WRENCH) - context[SCREENTIP_CONTEXT_LMB] = "Rotate" - context[SCREENTIP_CONTEXT_RMB] = "[anchored ? "Unan" : "An"]chor" - return CONTEXTUAL_SCREENTIP_SET - -/obj/machinery/atmospherics/components/unary/bluespace_sender/is_connectable() - if(!anchored) - return FALSE - . = ..() - -/obj/machinery/atmospherics/components/unary/bluespace_sender/update_icon_state() - if(panel_open) - icon_state = "[base_icon_state]_open" - return ..() - if(on && is_operational) - icon_state = "[base_icon_state]_on" - return ..() - icon_state = "[base_icon_state]_off" - return ..() - -/obj/machinery/atmospherics/components/unary/bluespace_sender/update_overlays() - . = ..() - . += get_pipe_image(icon, "pipe", dir, , piping_layer) - if(underfloor_state) - . += get_pipe_image(icon, "pipe", initialize_directions) - -/obj/machinery/atmospherics/components/unary/bluespace_sender/process_atmos() - if(!is_operational || !on || !nodes[1]) //if it has no power or its switched off, dont process atmos - return - - var/datum/gas_mixture/content = airs[1] - var/datum/gas_mixture/remove = content.remove_ratio(gas_transfer_rate) - bluespace_network.merge(remove) - bluespace_network.temperature = T20C - update_parents() - -/obj/machinery/atmospherics/components/unary/bluespace_sender/relocate_airs() - if(bluespace_network.total_moles() > 0) - airs[1].merge(bluespace_network) - airs[1].garbage_collect() - return ..() - -/obj/machinery/atmospherics/components/unary/bluespace_sender/screwdriver_act(mob/living/user, obj/item/tool) - if(on) - balloon_alert(user, "turn off!") - return ITEM_INTERACT_SUCCESS - if(!anchored) - balloon_alert(user, "anchor!") - return ITEM_INTERACT_SUCCESS - if(default_deconstruction_screwdriver(user, "[base_icon_state]_open", "[base_icon_state]_off", tool)) - return ITEM_INTERACT_SUCCESS - -/obj/machinery/atmospherics/components/unary/bluespace_sender/crowbar_act(mob/living/user, obj/item/tool) - if(panel_open && bluespace_network.total_moles() > 0 && !nodes[1]) - say("WARNING - Bluespace network can contain hazardous gases, deconstruct with caution!") - return crowbar_deconstruction_act(user, tool) - -/obj/machinery/atmospherics/components/unary/bluespace_sender/multitool_act(mob/living/user, obj/item/item) - var/obj/item/multitool/multitool = item - multitool.set_buffer(src) - balloon_alert(user, "saved to multitool buffer") - return TRUE - -/obj/machinery/atmospherics/components/unary/bluespace_sender/wrench_act(mob/living/user, obj/item/tool) - return default_change_direction_wrench(user, tool) - -/obj/machinery/atmospherics/components/unary/bluespace_sender/wrench_act_secondary(mob/living/user, obj/item/tool) - if(!panel_open) - balloon_alert(user, "open panel!") - return - if(default_unfasten_wrench(user, tool)) - change_pipe_connection(!anchored) - return ITEM_INTERACT_SUCCESS - return - -/obj/machinery/atmospherics/components/unary/bluespace_sender/default_change_direction_wrench(mob/user, obj/item/item) - if(!..()) - return FALSE - set_init_directions() - update_appearance(UPDATE_ICON) - return TRUE - -/obj/machinery/atmospherics/components/unary/bluespace_sender/click_ctrl(mob/user) - if(!panel_open && is_operational) - set_on(!on) - balloon_alert(user, "turned [on ? "on" : "off"]") - investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS) - return CLICK_ACTION_SUCCESS - return NONE - -/obj/machinery/atmospherics/components/unary/bluespace_sender/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "BluespaceSender", name) - ui.open() - -/obj/machinery/atmospherics/components/unary/bluespace_sender/ui_data(mob/user) - var/list/data = list() - data["on"] = on - data["gas_transfer_rate"] = gas_transfer_rate - var/list/bluespace_gasdata = list() - if(bluespace_network.total_moles()) - for(var/gas_id in bluespace_network.gases) - bluespace_gasdata.Add(list(list( - "name" = bluespace_network.gases[gas_id][GAS_META][META_GAS_NAME], - "id" = bluespace_network.gases[gas_id][GAS_META][META_GAS_ID], - "amount" = round(bluespace_network.gases[gas_id][MOLES], 0.01), - "price" = base_prices[gas_id], - ))) - else - for(var/gas_id in bluespace_network.gases) - bluespace_gasdata.Add(list(list( - "name" = bluespace_network.gases[gas_id][GAS_META][META_GAS_NAME], - "id" = "", - "amount" = 0, - "price" = 0, - ))) - data["bluespace_network_gases"] = bluespace_gasdata - var/list/vendors_list = list() - if(vendors) - for(var/obj/machinery/bluespace_vendor/vendor in vendors) - vendors_list.Add(list(list( - "name" = vendor.name, - "area" = get_area(vendor), - ))) - data["vendors_list"] = vendors_list - data["credits"] = credits_gained - return data - -/obj/machinery/atmospherics/components/unary/bluespace_sender/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) - . = ..() - if(.) - return - - switch(action) - if("power") - set_on(!on) - investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", INVESTIGATE_ATMOS) - . = TRUE - - if("rate") - gas_transfer_rate = clamp(params["rate"], 0, 1) - . = TRUE - - if("price") - var/gas_type = gas_id2path(params["gas_type"]) - base_prices[gas_type] = clamp(params["gas_price"], 0, 100) - . = TRUE - - if("retrieve") - if(bluespace_network.total_moles() > 0) - var/datum/gas_mixture/remove = bluespace_network.remove(bluespace_network.total_moles()) - airs[1].merge(remove) - update_parents() - bluespace_network.garbage_collect() - . = TRUE - -/obj/machinery/atmospherics/components/unary/bluespace_sender/update_layer() - return diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 5b20f65ca33..474efa4f973 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -681,10 +681,14 @@ /datum/aas_config_entry/medical_cryo_announcements/compile_announce(list/variables_map, announcement_line) variables_map["AUTOEJECTING"] = variables_map["EJECTING"] ? announcement_lines_map["Autoejecting"] : "" - . = ..() - // Why double replacetext_char? Well, to handle cases where variable in the middle of sentence like "also %AUTOEJECTING this", so there will be no double spaces - // Yeah I am bad, at this, sorry (it should be a perfect place for regex usage, but I am weak) - . = trim(replacetext_char(replacetext_char(., "\[NO DATA\] ", ""), "\[NO DATA\]", "")) + var/list/exploded_string = splittext_char(..(), "\[NO DATA\]") + var/list/trimed_message = list() + for (var/line in exploded_string) + line = trim(line) + if (line) + trimed_message += line + // Rebuild the string without empty lines + . = trimed_message.Join(" ") #undef MAX_TEMPERATURE #undef CRYO_MULTIPLY_FACTOR diff --git a/code/modules/bitrunning/antagonists/cyber_police.dm b/code/modules/bitrunning/antagonists/cyber_police.dm index 3e335475ac6..bf2606bf815 100644 --- a/code/modules/bitrunning/antagonists/cyber_police.dm +++ b/code/modules/bitrunning/antagonists/cyber_police.dm @@ -33,7 +33,6 @@ /datum/outfit/cyber_police/post_equip(mob/living/carbon/human/user, visuals_only) var/obj/item/clothing/under/officer_uniform = user.w_uniform - if(officer_uniform) - officer_uniform.has_sensor = NO_SENSORS - officer_uniform.sensor_mode = SENSOR_OFF - user.update_suit_sensors() + if(istype(officer_uniform)) + officer_uniform.set_has_sensor(NO_SENSORS) + officer_uniform.set_sensor_mode(SENSOR_OFF) diff --git a/code/modules/bitrunning/server/signal_handlers.dm b/code/modules/bitrunning/server/signal_handlers.dm index f5d2840143e..5b7156752e7 100644 --- a/code/modules/bitrunning/server/signal_handlers.dm +++ b/code/modules/bitrunning/server/signal_handlers.dm @@ -71,7 +71,7 @@ if(isliving(thing)) // so we can mutate them var/mob/living/creature = thing - if(ismegafauna(creature)) + if(istype(creature, /mob/living/simple_animal/hostile/megafauna)) var/mob/living/simple_animal/hostile/megafauna/boss = creature boss.make_virtual_megafauna() continue diff --git a/code/modules/bitrunning/server/threats.dm b/code/modules/bitrunning/server/threats.dm index d8d79aee766..c8d21785960 100644 --- a/code/modules/bitrunning/server/threats.dm +++ b/code/modules/bitrunning/server/threats.dm @@ -131,7 +131,7 @@ /obj/machinery/quantum_server/proc/station_spawn(mob/living/antag, obj/machinery/byteforge/chosen_forge) antag.balloon_alert(antag, "scanning...") chosen_forge.setup_particles(angry = TRUE) - var/obj/machinery/announcement_system/aas = get_announcement_system(source = src) + var/obj/machinery/announcement_system/aas = get_announcement_system(null, src, list(RADIO_CHANNEL_SUPPLY)) if (aas) aas.broadcast("QUANTUM SERVER ALERT: Security breach detected. Unauthorized entry sequence in progress...", list(RADIO_CHANNEL_SUPPLY)) SEND_SIGNAL(src, COMSIG_BITRUNNER_STATION_SPAWN) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 6e2c97350a7..7955ef69531 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -580,6 +580,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( set_fullscreen(logging_in = TRUE) view_size.resetFormat() view_size.setZoomMode() + view_size.apply() Master.UpdateTickRate() SEND_GLOBAL_SIGNAL(COMSIG_GLOB_CLIENT_CONNECT, src) fully_created = TRUE diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 91070fa5409..d0df9d688f7 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -562,7 +562,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) return TRUE /datum/preferences/proc/GetQuirkBalance() - var/bal = 0 + var/bal = CONFIG_GET(number/default_quirk_points) for(var/V in all_quirks) var/datum/quirk/T = SSquirks.quirks[V] bal -= initial(T.value) diff --git a/code/modules/client/preferences/middleware/personality.dm b/code/modules/client/preferences/middleware/personality.dm new file mode 100644 index 00000000000..835198abada --- /dev/null +++ b/code/modules/client/preferences/middleware/personality.dm @@ -0,0 +1,66 @@ +/datum/preference_middleware/personality + action_delegations = list( + "handle_personality" = PROC_REF(handle_personality), + "clear_personalities" = PROC_REF(clear_personalities), + ) + +/datum/preference_middleware/personality/proc/handle_personality(list/params, mob/user) + var/datum/personality/personality_type = text2path(params["personality_type"]) + if(!ispath(personality_type, /datum/personality)) + return FALSE + + var/personality_key = initial(personality_type.savefile_key) + var/list/personalities = preferences.read_preference(/datum/preference/personality) + if(personality_key in personalities) + LAZYREMOVE(personalities, personality_key) + else + if(LAZYLEN(personalities) >= CONFIG_GET(number/max_personalities)) + return TRUE + if(SSpersonalities.is_incompatible(personalities, personality_type)) + return TRUE + LAZYADD(personalities, personality_key) + preferences.update_preference(GLOB.preference_entries[/datum/preference/personality], personalities) + return TRUE + +/datum/preference_middleware/personality/proc/clear_personalities(list/params, mob/user) + preferences.update_preference(GLOB.preference_entries[/datum/preference/personality], null) + return TRUE + +/datum/preference_middleware/personality/get_constant_data() + var/list/data = list() + + data["personalities"] = list() + for(var/datum/personality/personality_type as anything in SSpersonalities.personalities_by_type) + var/datum/personality/personality = SSpersonalities.personalities_by_type[personality_type] + data["personalities"] += list(list( + "description" = personality.desc, + "pos_gameplay_description" = personality.pos_gameplay_desc, + "neg_gameplay_description" = personality.neg_gameplay_desc, + "neut_gameplay_description" = personality.neut_gameplay_desc, + "name" = personality.name, + "path" = personality_type, + "groups" = personality.groups, + )) + + data["personality_incompatibilities"] = SSpersonalities.incompatibilities_by_group + + return data + +/datum/preference_middleware/personality/get_ui_static_data(mob/user) + var/list/data = list() + + var/max = CONFIG_GET(number/max_personalities) + data["max_personalities"] = max >= length(SSpersonalities.personalities_by_type) ? -1 : max + data["mood_enabled"] = !CONFIG_GET(flag/disable_human_mood) + + return data + +/datum/preference_middleware/personality/get_ui_data(mob/user) + var/list/data = list() + + data["selected_personalities"] = list() + for(var/personality_key in preferences.read_preference(/datum/preference/personality)) + var/datum/personality/personality = SSpersonalities.personalities_by_key[personality_key] + data["selected_personalities"] += personality.type + + return data diff --git a/code/modules/client/preferences/middleware/quirks.dm b/code/modules/client/preferences/middleware/quirks.dm index 03ed5267706..13f995e2ed3 100644 --- a/code/modules/client/preferences/middleware/quirks.dm +++ b/code/modules/client/preferences/middleware/quirks.dm @@ -49,6 +49,7 @@ var/list/data = list() data["selected_quirks"] = get_selected_quirks() + data["default_quirk_balance"] = CONFIG_GET(number/default_quirk_points) data["species_disallowed_quirks"] = get_species_compatibility() return data diff --git a/code/modules/client/preferences/migrations/quirk_personality_migration.dm b/code/modules/client/preferences/migrations/quirk_personality_migration.dm new file mode 100644 index 00000000000..96ba4a2a5da --- /dev/null +++ b/code/modules/client/preferences/migrations/quirk_personality_migration.dm @@ -0,0 +1,16 @@ +/** + * Replace a quirk with a personality + * + * If this is accompanied with removal of a quirk, + * you don't need to worry about handling that here - + * quirk sanitization happens AFTER migration + */ +/datum/preferences/proc/migrate_quirk_to_personality(quirk_to_migrate, datum/personality/new_typepath) + ASSERT(istext(quirk_to_migrate) && ispath(new_typepath, /datum/personality)) + if(!(quirk_to_migrate in all_quirks)) + return + var/list/personalities = read_preference(/datum/preference/personality) + if(LAZYLEN(personalities) >= CONFIG_GET(number/max_personalities)) + return + LAZYADD(personalities, initial(new_typepath.savefile_key)) + write_preference(GLOB.preference_entries[/datum/preference/personality], personalities) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 79e8f76e361..824f515f45a 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -13,7 +13,7 @@ /// You do not need to raise this if you are adding new values that have sane defaults. /// Only raise this value when changing the meaning/format/name/layout of an existing value /// where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 49 +#define SAVEFILE_VERSION_MAX 50 #define IS_DATA_OBSOLETE(version) (version == SAVE_DATA_OBSOLETE) #define SHOULD_UPDATE_DATA(version) (version >= SAVE_DATA_NO_ERROR && version < SAVEFILE_VERSION_MAX) @@ -138,6 +138,31 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car quirk_to_migrate = "Cyborg Pre-screened dogtag", new_typepath = /obj/item/clothing/accessory/dogtag/borg_ready, ) + if(current_version < 50) + migrate_quirk_to_personality( + quirk_to_migrate = "Extrovert", + new_typepath = /datum/personality/extrovert, + ) + migrate_quirk_to_personality( + quirk_to_migrate = "Introvert", + new_typepath = /datum/personality/introvert, + ) + migrate_quirk_to_personality( + quirk_to_migrate = "Bad Touch", + new_typepath = /datum/personality/aloof, + ) + migrate_quirk_to_personality( + quirk_to_migrate = "Apathetic", + new_typepath = /datum/personality/apathetic, + ) + migrate_quirk_to_personality( + quirk_to_migrate = "Snob", + new_typepath = /datum/personality/snob, + ) + migrate_quirk_to_personality( + quirk_to_migrate = "Spiritual", + new_typepath = /datum/personality/spiritual, + ) /// checks through keybindings for outdated unbound keys and updates them /datum/preferences/proc/check_keybindings() @@ -243,7 +268,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car update_preferences(data_validity_integer, savefile) check_keybindings() // this apparently fails every time and overwrites any unloaded prefs with the default values, so don't load anything after this line or it won't actually save - key_bindings_by_key = get_key_bindings_by_key(key_bindings) //Sanitize lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog)) @@ -253,6 +277,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car key_bindings = sanitize_keybindings(key_bindings) favorite_outfits = SANITIZE_LIST(favorite_outfits) + key_bindings_by_key = get_key_bindings_by_key(key_bindings) + if(SHOULD_UPDATE_DATA(data_validity_integer)) //save the updated version var/old_default_slot = default_slot var/old_max_save_slots = max_save_slots diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 1e88b301920..9a66f10028a 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -424,10 +424,9 @@ ADMIN_VERB(reset_ooc_color, R_FUN, "Reset Player OOC Color", "Returns player OOC /client/proc/attempt_auto_fit_viewport() if (!prefs?.read_preference(/datum/preference/toggle/auto_fit_viewport)) return + // No need to attempt to fit the viewport on non-initialized clients as they'll auto-fit viewport right before finishing init if(fully_created) INVOKE_ASYNC(src, VERB_REF(fit_viewport)) - else //Delayed to avoid wingets from Login calls. - addtimer(CALLBACK(src, VERB_REF(fit_viewport), 1 SECONDS)) /client/verb/policy() set name = "Show Policy" diff --git a/code/modules/clothing/chameleon/chameleon_gun.dm b/code/modules/clothing/chameleon/chameleon_gun.dm index 4a282a3e75a..c1c17a8ae5a 100644 --- a/code/modules/clothing/chameleon/chameleon_gun.dm +++ b/code/modules/clothing/chameleon/chameleon_gun.dm @@ -16,7 +16,7 @@ /obj/item/gun/energy/laser/chameleon/Initialize(mapload) . = ..() - AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS|EMP_NO_EXAMINE) // Init order shenanigans dictate we have to do this last so we can't just use `active_type` var/datum/action/item_action/chameleon/change/gun/gun_action = locate() in actions gun_action?.update_look(default_look) diff --git a/code/modules/clothing/chameleon/generic_chameleon_clothing.dm b/code/modules/clothing/chameleon/generic_chameleon_clothing.dm index a8f03b0b3f9..052b1ef2c57 100644 --- a/code/modules/clothing/chameleon/generic_chameleon_clothing.dm +++ b/code/modules/clothing/chameleon/generic_chameleon_clothing.dm @@ -3,7 +3,7 @@ do { \ var/datum/action/item_action/chameleon/change/_action = locate() in item.actions; \ _action?.emp_randomise(INFINITY); \ - item.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF); \ + item.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_NO_EXAMINE); \ } while(FALSE) // Cham jumpsuit diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 50204df47b1..198cb6b27a9 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -366,9 +366,9 @@ if (clothing_flags & CASTING_CLOTHES) .["magical"] = "Allows magical beings to cast spells when wearing [src]." if((clothing_flags & STOPSPRESSUREDAMAGE) || (visor_flags & STOPSPRESSUREDAMAGE)) - .["pressureproof"] = "Protects the wearer from extremely low or high pressure, such as vacuum of space." + .["pressure-proof"] = "Protects the wearer from extremely low or high pressure, such as vacuum of space." if(flags_cover & PEPPERPROOF) - .["pepperproof"] = "Protects the wearer from the effects of pepperspray." + .["pepper-proof"] = "Protects the wearer from the effects of pepperspray." if (heat_protection || cold_protection) var/heat_desc var/cold_desc diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 394a085f9b4..4317ced9374 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -661,43 +661,29 @@ lighting_cutoff = LIGHTING_CUTOFF_HIGH glass_colour_type = FALSE vision_flags = SEE_TURFS - clothing_traits = list(TRAIT_REAGENT_SCANNER, TRAIT_MADNESS_IMMUNE) - var/list/hudlist = list(DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC, DATA_HUD_SECURITY_ADVANCED, DATA_HUD_BOT_PATH) + clothing_traits = list( + TRAIT_REAGENT_SCANNER, + TRAIT_MADNESS_IMMUNE, + TRAIT_MEDICAL_HUD, + TRAIT_SECURITY_HUD, + TRAIT_DIAGNOSTIC_HUD, + TRAIT_BOT_PATH_HUD, + ) var/xray = FALSE /obj/item/clothing/glasses/debug/Initialize(mapload) . = ..() AddComponent(/datum/component/adjust_fishing_difficulty, -15) -/obj/item/clothing/glasses/debug/equipped(mob/user, slot) - . = ..() - if(!(slot & ITEM_SLOT_EYES)) - return - if(ishuman(user)) - for(var/hud in hudlist) - var/datum/atom_hud/our_hud = GLOB.huds[hud] - our_hud.show_to(user) - user.add_traits(list(TRAIT_MEDICAL_HUD, TRAIT_SECURITY_HUD), GLASSES_TRAIT) - if(xray) - ADD_TRAIT(user, TRAIT_XRAY_VISION, GLASSES_TRAIT) - -/obj/item/clothing/glasses/debug/dropped(mob/user) - . = ..() - user.remove_traits(list(TRAIT_MEDICAL_HUD, TRAIT_SECURITY_HUD, TRAIT_XRAY_VISION), GLASSES_TRAIT) - if(ishuman(user)) - for(var/hud in hudlist) - var/datum/atom_hud/our_hud = GLOB.huds[hud] - our_hud.hide_from(user) - /obj/item/clothing/glasses/debug/click_alt(mob/user) if(!ishuman(user)) return CLICK_ACTION_BLOCKING if(xray) vision_flags &= ~SEE_MOBS|SEE_OBJS - REMOVE_TRAIT(user, TRAIT_XRAY_VISION, GLASSES_TRAIT) + detach_clothing_traits(TRAIT_XRAY_VISION) else vision_flags |= SEE_MOBS|SEE_OBJS - ADD_TRAIT(user, TRAIT_XRAY_VISION, GLASSES_TRAIT) + attach_clothing_traits(TRAIT_XRAY_VISION) xray = !xray var/mob/living/carbon/human/human_user = user human_user.update_sight() diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 4c0c9af89f2..170d624a32f 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -243,18 +243,14 @@ if (wearer.glasses != src) return - for(var/trait in clothing_traits) - REMOVE_CLOTHING_TRAIT(user, trait) - if (TRAIT_MEDICAL_HUD in clothing_traits) - clothing_traits = null + detach_clothing_traits(TRAIT_MEDICAL_HUD) else if (TRAIT_SECURITY_HUD in clothing_traits) - clothing_traits = list(TRAIT_MEDICAL_HUD) + detach_clothing_traits(TRAIT_MEDICAL_HUD) + attach_clothing_traits(TRAIT_SECURITY_HUD) else - clothing_traits = list(TRAIT_SECURITY_HUD) - - for(var/trait in clothing_traits) - ADD_CLOTHING_TRAIT(user, trait) + detach_clothing_traits(TRAIT_MEDICAL_HUD) + attach_clothing_traits(TRAIT_SECURITY_HUD) /datum/action/item_action/switch_hud name = "Switch HUD" diff --git a/code/modules/clothing/gloves/punch_mitts.dm b/code/modules/clothing/gloves/punch_mitts.dm index 36d085c289c..28ffb67d59d 100644 --- a/code/modules/clothing/gloves/punch_mitts.dm +++ b/code/modules/clothing/gloves/punch_mitts.dm @@ -1,9 +1,7 @@ /obj/item/clothing/gloves/fingerless/punch_mitts name = "punching mitts" desc = "Fingerless gloves with nasty spikes attached. Allows the wearer to utilize the ill-reputed fighting technique known as Hunter Boxing. The style \ - allows the user to punch wildlife rapidly to death. Supposedly, this is an incredible workout, but few people are insane enough to attempt to \ - punch every dangerous creature they encounter in the wild to death with their bare hands. Also kinda works against humanoids as well. \ - Not that you would... right?" + allows the user to rapidly punch wildlife and rock into smithereens. Great workout. Extremely ill-advised for ensuring your own personal survival." icon_state = "punch_mitts" body_parts_covered = HANDS|ARMS resistance_flags = LAVA_PROOF | FIRE_PROOF diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 266cc59bb2d..da5760ccde0 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -54,7 +54,10 @@ . = ..() if(random_sensor) //make the sensor mode favor higher levels, except coords. - sensor_mode = pick(SENSOR_VITALS, SENSOR_VITALS, SENSOR_VITALS, SENSOR_LIVING, SENSOR_LIVING, SENSOR_COORDS, SENSOR_COORDS, SENSOR_OFF) + set_sensor_mode(pick(SENSOR_VITALS, SENSOR_VITALS, SENSOR_VITALS, SENSOR_LIVING, SENSOR_LIVING, SENSOR_COORDS, SENSOR_COORDS, SENSOR_OFF)) + //ensure we add or remove relevant clothing traits based on base sensor status and mode + update_wearer_status() + register_context() AddElement(/datum/element/update_icon_updates_onmob, flags = ITEM_SLOT_ICLOTHING|ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK, body = TRUE) @@ -167,6 +170,12 @@ if((slot & ITEM_SLOT_ICLOTHING) && freshly_laundered) freshly_laundered = FALSE user.add_mood_event("fresh_laundry", /datum/mood_event/fresh_laundry) + update_wearer_status() + +/obj/item/clothing/under/dropped(mob/living/user) + . = ..() + update_wearer_status() + GLOB.suit_sensors_list -= user // Start suit sensor handling @@ -176,9 +185,8 @@ return visible_message(span_warning("[src]'s medical sensors short out!"), blind_message = span_warning("The [src] makes an electronic sizzling sound!"), vision_distance = COMBAT_MESSAGE_RANGE) - has_sensor = BROKEN_SENSORS + set_has_sensor(BROKEN_SENSORS) sensor_malfunction() - update_wearer_status() /** * Repair the suit sensors and update the mob's status on the global sensor list. @@ -202,8 +210,7 @@ cabling.visible_message(span_notice("[user] repairs the suit sensors on [src] with [cabling].")) playsound(source = src, soundin = 'sound/effects/sparks/sparks4.ogg', vol = 100, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) - has_sensor = HAS_SENSORS - update_wearer_status() + set_has_sensor(HAS_SENSORS) return TRUE @@ -213,29 +220,46 @@ do_sparks(number = 2, cardinal_only = FALSE, source = src) addtimer(CALLBACK(src, PROC_REF(sensor_malfunction)), rand(BROKEN_SPARKS_MIN, BROKEN_SPARKS_MAX * 0.5), TIMER_UNIQUE | TIMER_NO_HASH_WAIT) -/// If the item is being worn, update the mob's status on the global sensor list +/// Changes whether the suit sensor has a sensor, or if it's broken, etc. and handles updating mob status if applicable +/obj/item/clothing/under/proc/set_has_sensor(new_has_sensor) + if(new_has_sensor == has_sensor) + return FALSE + if(new_has_sensor < BROKEN_SENSORS || new_has_sensor > LOCKED_SENSORS) + stack_trace("Invalid has_sensor value [new_has_sensor] passed to set_has_sensor()") + return FALSE + has_sensor = new_has_sensor + update_wearer_status() + return TRUE + +/// Changes the active sensor mode of the suit and handles updating mob status if applicable +/obj/item/clothing/under/proc/set_sensor_mode(new_sensor_mode) + if(new_sensor_mode == sensor_mode) + return FALSE + if(new_sensor_mode < SENSOR_OFF || new_sensor_mode > SENSOR_COORDS) + stack_trace("Invalid sensor_mode value [new_sensor_mode] passed to set_sensor_mode()") + return FALSE + sensor_mode = new_sensor_mode + update_wearer_status() + return TRUE + +/// Updates the sensor status and any mobs status if applicable /obj/item/clothing/under/proc/update_wearer_status() - if(!ishuman(loc)) + if(has_sensor <= NO_SENSORS || sensor_mode <= SENSOR_VITALS) + detach_clothing_traits(TRAIT_BASIC_HEALTH_HUD_VISIBLE) + else + attach_clothing_traits(TRAIT_BASIC_HEALTH_HUD_VISIBLE) + + if(!ishuman(loc) || isdummy(loc)) return - var/mob/living/carbon/human/ooman = loc - ooman.update_suit_sensors() - ooman.med_hud_set_status() + var/mob/living/carbon/human/wearer = loc -/mob/living/carbon/human/update_suit_sensors() - . = ..() - update_sensor_list() - -/// Adds or removes a mob from the global suit sensors list based on sensor status and mode -/mob/living/carbon/human/proc/update_sensor_list() - var/obj/item/clothing/under/uniform = w_uniform - if(istype(uniform) && uniform.has_sensor > NO_SENSORS && uniform.sensor_mode) - GLOB.suit_sensors_list |= src + if(has_sensor >= HAS_SENSORS && sensor_mode >= SENSOR_LIVING) + GLOB.suit_sensors_list |= wearer else - GLOB.suit_sensors_list -= src + GLOB.suit_sensors_list -= wearer -/mob/living/carbon/human/dummy/update_sensor_list() - return + wearer.med_hud_set_status() /* BUBBERSTATION CHANGE: REWORKS SENSOR EMP @@ -248,13 +272,11 @@ if(severity <= EMP_HEAVY) break_sensors() + return - else - sensor_mode = pick(SENSOR_OFF, SENSOR_OFF, SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS) - playsound(source = src, soundin = 'sound/effects/sparks/sparks3.ogg', vol = 75, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) - visible_message(span_warning("The [src]'s medical sensors flash and change rapidly!"), blind_message = span_warning("The [src] makes an electronic sizzling sound!"), vision_distance = COMBAT_MESSAGE_RANGE) - - update_wearer_status() + set_sensor_mode(pick(SENSOR_OFF, SENSOR_OFF, SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS)) + playsound(source = src, soundin = 'sound/effects/sparks/sparks3.ogg', vol = 75, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) + visible_message(span_warning("The [src]'s medical sensors flash and change rapidly!"), blind_message = span_warning("The [src] makes an electronic sizzling sound!"), vision_distance = COMBAT_MESSAGE_RANGE) BUBBERSTATION CHANGE END */ @@ -405,7 +427,7 @@ BUBBERSTATION CHANGE END */ if(!can_toggle_sensors(user_mob)) return - sensor_mode = modes.Find(switchMode) - 1 + set_sensor_mode(modes.Find(switchMode) - 1) if (loc == user_mob) switch(sensor_mode) if(SENSOR_OFF) @@ -417,15 +439,12 @@ BUBBERSTATION CHANGE END */ if(SENSOR_COORDS) to_chat(user_mob, span_notice("Your suit will now report your exact vital lifesigns as well as your coordinate position.")) - update_wearer_status() - /obj/item/clothing/under/item_ctrl_click(mob/user) if(!can_toggle_sensors(user)) return CLICK_ACTION_BLOCKING - sensor_mode = SENSOR_COORDS + set_sensor_mode(SENSOR_COORDS) balloon_alert(user, "set to tracking") - update_wearer_status() return CLICK_ACTION_SUCCESS /// Checks if the toggler is allowed to toggle suit sensors currently @@ -444,7 +463,7 @@ BUBBERSTATION CHANGE END */ balloon_alert(toggler, "sensors shorted!") return FALSE if(NO_SENSORS) - balloon_alert(toggler, "no sensors to ajdust!") + balloon_alert(toggler, "no sensors to adjust!") return FALSE return TRUE diff --git a/code/modules/economy/poker_chips.dm b/code/modules/economy/poker_chips.dm new file mode 100644 index 00000000000..770465ce7ea --- /dev/null +++ b/code/modules/economy/poker_chips.dm @@ -0,0 +1,42 @@ +/obj/item/poker_chip + name = "poker chip" + desc = "A small plastic chip used for gambling. A clever substitution to make the gambling addict feel like his losses are less real." + icon = 'icons/obj/economy.dmi' + icon_state = "pokerchip_white_black" + w_class = WEIGHT_CLASS_TINY + custom_materials = list(/datum/material/plastic = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/plastic_polymers = COIN_MATERIAL_AMOUNT * 0.2) + ///How much credit this chip is worth when redeemed + var/redeem_value = 0 + +/obj/item/poker_chip/get_item_credit_value() + return redeem_value + +/obj/item/poker_chip/white_black + name = "1₵ poker chip" + redeem_value = 1 + +/obj/item/poker_chip/white_blue + name = "10₵ poker chip" + icon_state = "pokerchip_white_blue" + redeem_value = 10 + +/obj/item/poker_chip/red + name = "25₵ poker chip" + icon_state = "pokerchip_red" + redeem_value = 25 + +/obj/item/poker_chip/blue + name = "100₵ poker chip" + icon_state = "pokerchip_blue" + redeem_value = 100 + +/obj/item/poker_chip/green + name = "250₵ poker chip" + icon_state = "pokerchip_green" + redeem_value = 250 + +/obj/item/poker_chip/black + name = "1000₵ poker chip" + icon_state = "pokerchip_black" + redeem_value = 1000 diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 6317d5721ed..8983a0c58b9 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -145,6 +145,9 @@ illness_type = initial(fake_virus.name) priority_announce("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "[illness_type] Alert", ANNOUNCER_OUTBREAK7) + // Set status displays to biohazard alert + send_status_display_biohazard_alert() + /datum/round_event/disease_outbreak/setup() announce_when = ADV_ANNOUNCE_DELAY diff --git a/code/modules/fishing/aquarium/aquarium_kit.dm b/code/modules/fishing/aquarium/aquarium_kit.dm index 1360cc089d4..9a248c8b286 100644 --- a/code/modules/fishing/aquarium/aquarium_kit.dm +++ b/code/modules/fishing/aquarium/aquarium_kit.dm @@ -5,11 +5,10 @@ icon = 'icons/obj/aquarium/supplies.dmi' icon_state = "fish_feed" w_class = WEIGHT_CLASS_TINY - spillable = FALSE volume = 5 amount_per_transfer_from_this = 2.5 has_variable_transfer_amount = FALSE - reagent_flags = OPENCONTAINER + initial_reagent_flags = TRANSPARENT reagent_container_liquid_sound = null list_reagents = list(/obj/item/fish::food = 2.5) //Default fish diet gulp_size = 1 diff --git a/code/modules/fishing/fish/types/syndicate.dm b/code/modules/fishing/fish/types/syndicate.dm index 1d290aa1e18..b30b18c72a4 100644 --- a/code/modules/fishing/fish/types/syndicate.dm +++ b/code/modules/fishing/fish/types/syndicate.dm @@ -69,7 +69,7 @@ /obj/item/fish/jumpercable/get_export_price(price, elasticity_percent) //without this, they'd sell for over 6000 each, minimum. That's a lot for a fish that requires no maintance nor partner to farm. - return ..() * 0.4 + return ..() * 0.04 /obj/item/fish/jumpercable/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] hooks both ends of [src] to their chest! It looks like [user.p_theyre()] trying to commit suicide!")) diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm index c35ca5c3219..2235b5b243b 100644 --- a/code/modules/food_and_drinks/machinery/microwave.dm +++ b/code/modules/food_and_drinks/machinery/microwave.dm @@ -130,6 +130,10 @@ context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Unsecure" : "Install/Secure"]" return CONTEXTUAL_SCREENTIP_SET + if(held_item?.atom_storage) + context[SCREENTIP_CONTEXT_RMB] = "Dump contents" + return CONTEXTUAL_SCREENTIP_SET + if(broken > NOT_BROKEN) if(broken == REALLY_BROKEN && held_item?.tool_behaviour == TOOL_WIRECUTTER) context[SCREENTIP_CONTEXT_LMB] = "Repair" diff --git a/code/modules/food_and_drinks/machinery/stove.dm b/code/modules/food_and_drinks/machinery/stove.dm index d77b80a578d..f9f65b24cd0 100644 --- a/code/modules/food_and_drinks/machinery/stove.dm +++ b/code/modules/food_and_drinks/machinery/stove.dm @@ -34,7 +34,7 @@ volume = 200 possible_transfer_amounts = list(20, 50, 100, 200) amount_per_transfer_from_this = 50 - reagent_flags = REFILLABLE | DRAINABLE + initial_reagent_flags = REFILLABLE | DRAINABLE custom_materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT * 2.5) w_class = WEIGHT_CLASS_BULKY custom_price = PAYCHECK_LOWER * 8 @@ -142,41 +142,41 @@ update_appearance(UPDATE_OVERLAYS) return TRUE -/obj/item/reagent_containers/cup/soup_pot/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers) +/obj/item/reagent_containers/cup/soup_pot/item_interaction(mob/living/user, obj/item/item, list/modifiers) . = ..() - if(.) - return - - if(!can_add_ingredient(attacking_item)) - return FALSE + if(. & ITEM_INTERACT_ANY_BLOCKER) + return . + if(item.is_open_container()) + // (assuming they want to pour rather than add the container itself) + // allow interaction to fall through to reagent container coed + return NONE + if(!can_add_ingredient(item)) + return ITEM_INTERACT_BLOCKING // Too many ingredients if(LAZYLEN(added_ingredients) >= max_ingredients) balloon_alert(user, "too many ingredients!") - return TRUE - if(!user.transferItemToLoc(attacking_item, src)) + return ITEM_INTERACT_BLOCKING + if(!user.transferItemToLoc(item, src)) balloon_alert(user, "can't add that!") - return TRUE + return ITEM_INTERACT_BLOCKING // Ensures that faceatom works correctly, since we can can often be in another atom's loc (a stove) var/atom/movable/balloon_loc = ismovable(loc) ? loc : src balloon_loc.balloon_alert(user, "ingredient added") user.face_atom(balloon_loc) - LAZYADD(added_ingredients, attacking_item) + LAZYADD(added_ingredients, item) update_appearance(UPDATE_OVERLAYS) - return TRUE + return ITEM_INTERACT_SUCCESS -/obj/item/reagent_containers/cup/soup_pot/item_interaction(mob/living/user, obj/item/item, list/modifiers) - if(LAZYACCESS(modifiers, RIGHT_CLICK)) - return NONE +/obj/item/reagent_containers/cup/soup_pot/item_interaction_secondary(mob/living/user, obj/item/tool, list/modifiers) /* BUBBERSTATION EDIT BEGIN Modsuits broken with transfer_from_container_to_pot(), still can be added with compression plate But will be treated as not container, and added as whole thing to avoid bugs. */ - if(istype(item, /obj/item/mod/control)) + if(istype(tool, /obj/item/mod/control)) return NONE - - return transfer_from_container_to_pot(item, user) + return transfer_from_container_to_pot(tool, user) /obj/item/reagent_containers/cup/soup_pot/attack_hand_secondary(mob/user, list/modifiers) if(remove_first_ingredient(user)) diff --git a/code/modules/forensics/forensics_helpers.dm b/code/modules/forensics/forensics_helpers.dm index 5b32ee43418..3d7fab59925 100644 --- a/code/modules/forensics/forensics_helpers.dm +++ b/code/modules/forensics/forensics_helpers.dm @@ -112,7 +112,7 @@ if (QDELETED(src)) return . = ..() - if (isnull(blood_DNA_to_add)) + if (isnull(blood_DNA_to_add) || !length(blood_DNA_to_add)) return . if (!islist(blood_DNA_to_add)) CRASH("add_blood_DNA on [src] ([type]) has been passed a non-list blood_DNA_to_add ([blood_DNA_to_add])!") diff --git a/code/modules/hallucination/mother.dm b/code/modules/hallucination/mother.dm index a0b3194ce5f..e03a9ee0470 100644 --- a/code/modules/hallucination/mother.dm +++ b/code/modules/hallucination/mother.dm @@ -39,7 +39,7 @@ var/obj/visual = image('icons/hud/screen_gen.dmi', mother.loc, "arrow", FLY_LAYER) INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay_global), visual, list(hallucinator.client), 2.5 SECONDS) - animate(visual, pixel_x = (tile.x - mother.x) * ICON_SIZE_X, pixel_y = (tile.y - mother.y) * ICON_SIZE_Y, time = 1.7, easing = EASE_OUT) + animate(visual, pixel_x = (tile.x - mother.x) * ICON_SIZE_X, pixel_y = (tile.y - mother.y) * ICON_SIZE_Y, time = 1.7, easing = QUAD_EASING|EASE_OUT) /datum/hallucination/your_mother/proc/talk(text) var/plus_runechat = hallucinator.client?.prefs.read_preference(/datum/preference/toggle/enable_runechat) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 96650e9b82f..02cbcd37ffc 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -122,7 +122,7 @@ /// Flag - Traits that share an ID cannot be placed on the same plant. var/trait_ids /// Flag - Modifications made to the final product. - var/trait_flags = TRAIT_SHOW_EXAMINE + var/trait_flags = NONE /// A blacklist of seeds that a trait cannot be attached to. var/list/obj/item/seeds/seed_blacklist @@ -374,6 +374,7 @@ icon = FA_ICON_LIGHTBULB rate = 0.03 description = "It emits a soft glow." + trait_flags = TRAIT_SHOW_EXAMINE trait_ids = GLOW_ID mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE /// The color of our bioluminescence. @@ -402,6 +403,7 @@ name = "Shadow Emission" rate = 0.04 glow_color = COLOR_BIOLUMINESCENCE_SHADOW + description = "It absorbs light around it." /datum/plant_gene/trait/glow/shadow/glow_power(obj/item/seeds/seed) return -max(seed.potency*(rate*0.2), 0.2) @@ -517,7 +519,7 @@ description = "The reagent volume is doubled, halving the plant yield instead." icon = FA_ICON_FLASK_VIAL rate = 2 - trait_flags = TRAIT_SHOW_EXAMINE|TRAIT_HALVES_YIELD + trait_flags = TRAIT_HALVES_YIELD mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE /datum/plant_gene/trait/maxchem/on_new_plant(obj/item/our_plant, newloc) @@ -637,6 +639,7 @@ icon = FA_ICON_SYRINGE trait_ids = REAGENT_TRANSFER_ID mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE + trait_flags = TRAIT_SHOW_EXAMINE /datum/plant_gene/trait/stinging/on_new_plant(obj/item/our_plant, newloc) . = ..() @@ -852,9 +855,10 @@ */ /datum/plant_gene/trait/eyes name = "Oculary Mimicry" - description = "It will watch after you." + description = "It watches after you." icon = FA_ICON_EYE mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE + trait_flags = TRAIT_SHOW_EXAMINE /// Our googly eyes appearance. var/mutable_appearance/googly @@ -873,6 +877,7 @@ icon = FA_ICON_BANDAGE trait_ids = THROW_IMPACT_ID mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE + trait_flags = TRAIT_SHOW_EXAMINE /datum/plant_gene/trait/sticky/on_new_plant(obj/item/our_plant, newloc) . = ..() @@ -913,7 +918,7 @@ description = "It consumes nutriments to heat up other reagents, halving the yield." icon = FA_ICON_TEMPERATURE_ARROW_UP trait_ids = TEMP_CHANGE_ID - trait_flags = TRAIT_SHOW_EXAMINE|TRAIT_HALVES_YIELD + trait_flags = TRAIT_HALVES_YIELD mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE /** @@ -925,7 +930,7 @@ description = "It consumes nutriments to cool down other reagents, halving the yield." icon = FA_ICON_TEMPERATURE_ARROW_DOWN trait_ids = TEMP_CHANGE_ID - trait_flags = TRAIT_SHOW_EXAMINE|TRAIT_HALVES_YIELD + trait_flags = TRAIT_HALVES_YIELD mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_GRAFTABLE /// Prevents species mutation, while still allowing wild mutation harvest and Floral Somatoray species mutation. Trait acts as a tag for hydroponics.dm to recognise. diff --git a/code/modules/hydroponics/unique_plant_genes.dm b/code/modules/hydroponics/unique_plant_genes.dm index 9f2083f8869..c2fcd8bef29 100644 --- a/code/modules/hydroponics/unique_plant_genes.dm +++ b/code/modules/hydroponics/unique_plant_genes.dm @@ -110,6 +110,7 @@ force_multiplier = 0.2 degrades_after_hit = TRUE degradation_noun = "petals" + trait_flags = TRAIT_SHOW_EXAMINE /datum/plant_gene/trait/attack/novaflower_attack/attack_effect(obj/item/our_plant, mob/living/target, mob/living/user) if(!istype(target)) @@ -191,6 +192,7 @@ name = "Rose Thorns" description = "The stem has a lot of thorns." traits_to_check = list(TRAIT_PIERCEIMMUNE) + trait_flags = TRAIT_SHOW_EXAMINE /datum/plant_gene/trait/backfire/rose_thorns/backfire_effect(obj/item/our_plant, mob/living/carbon/user) var/obj/item/seeds/our_seed = our_plant.get_plant_seed() @@ -207,6 +209,7 @@ name = "Burning Stem" description = "The stem may burn your hand." cancel_action_on_backfire = TRUE + trait_flags = TRAIT_SHOW_EXAMINE /datum/plant_gene/trait/backfire/novaflower_heat/backfire_effect(obj/item/our_plant, mob/living/carbon/user) to_chat(user, span_danger("[our_plant] singes your bare hand!")) @@ -217,6 +220,7 @@ /datum/plant_gene/trait/backfire/nettle_burn name = "Stinging Stem" description = "The stem may sting your hand." + trait_flags = TRAIT_SHOW_EXAMINE /datum/plant_gene/trait/backfire/nettle_burn/backfire_effect(obj/item/our_plant, mob/living/carbon/user) to_chat(user, span_danger("[our_plant] burns your bare hand!")) @@ -239,7 +243,8 @@ /// Ghost-Chili heating up on backfire /datum/plant_gene/trait/backfire/chili_heat name = "Active Capsicum Glands" - description = "You may survive a cold winter with this in hand." + description = "It emits a strong heat when handled." + trait_flags = TRAIT_SHOW_EXAMINE genes_to_check = list(/datum/plant_gene/trait/chem_heating) /// The mob currently holding the chili. var/datum/weakref/held_mob @@ -457,6 +462,7 @@ name = "Large Bites" description = "You can't hold off from eating this in one bite!" icon = FA_ICON_DRUMSTICK_BITE + trait_flags = TRAIT_SHOW_EXAMINE /datum/plant_gene/trait/one_bite/on_new_plant(obj/item/our_plant, newloc) . = ..() @@ -685,14 +691,13 @@ name = "Complex Harvest" description = "Halves the maximum yield of the plant, and prevents it from benefiting from pollination's yield bonus." icon = FA_ICON_SLASH - trait_flags = TRAIT_SHOW_EXAMINE|TRAIT_HALVES_YIELD|TRAIT_NO_POLLINATION + trait_flags = TRAIT_HALVES_YIELD|TRAIT_NO_POLLINATION mutability_flags = NONE /// Poppy's unique trait that allows slicing for sap /datum/plant_gene/trait/opium_production name = "Sap Buds" description = "Using a knife or other sharp object on the plant between ages 200 seconds to 400 seconds will yield a sap." - trait_flags = NONE icon = FA_ICON_PILLS /// Has parent plant been harvested for sap already? var/extracted = FALSE diff --git a/code/modules/jobs/departments/departments.dm b/code/modules/jobs/departments/departments.dm index 3d974366cd8..6a2d7633603 100644 --- a/code/modules/jobs/departments/departments.dm +++ b/code/modules/jobs/departments/departments.dm @@ -18,6 +18,8 @@ var/list/department_jobs = list() /// For separatists, what independent name prefix does their nation get named? var/list/nation_prefixes = list() + /// Root type for the area that people in this department primarily work in. + var/primary_work_area /// List of /area types that are considered part of this department's "delivery" area. /// Acts as a priority system, where first items are picked first. var/list/department_delivery_areas = list() @@ -68,6 +70,7 @@ department_name = DEPARTMENT_CAPTAIN department_bitflags = DEPARTMENT_BITFLAG_CAPTAIN department_head = /datum/job/captain + primary_work_area = /area/station/command /datum/job_department/command department_name = DEPARTMENT_COMMAND @@ -77,7 +80,7 @@ display_order = 1 label_class = "command" ui_color = "#6681a5" - + primary_work_area = /area/station/command /datum/job_department/security department_name = DEPARTMENT_SECURITY @@ -88,6 +91,7 @@ label_class = "security" ui_color = "#d46a78" nation_prefixes = list("Securi", "Beepski", "Shitcuri", "Red", "Stunba", "Flashbango", "Flasha", "Stanfordi") + primary_work_area = /area/station/security department_delivery_areas = list( /area/station/security/office, /area/station/security/brig, @@ -110,6 +114,7 @@ label_class = "engineering" ui_color = "#dfb567" nation_prefixes = list("Atomo", "Engino", "Power", "Teleco") + primary_work_area = /area/station/engineering department_delivery_areas = list( /area/station/engineering/main, /area/station/engineering/lobby, @@ -127,6 +132,7 @@ label_class = "medical" ui_color = "#65b2bd" nation_prefixes = list("Mede", "Healtha", "Recova", "Chemi", "Viro", "Psych") + primary_work_area = /area/station/medical department_delivery_areas = list( /area/station/medical/medbay/central, /area/station/medical/medbay, @@ -146,6 +152,7 @@ label_class = "science" ui_color = "#c973c9" nation_prefixes = list("Sci", "Griffa", "Geneti", "Explosi", "Mecha", "Xeno", "Nani", "Cyto") + primary_work_area = /area/station/science department_delivery_areas = list( /area/station/science/research, /area/station/science/lobby, @@ -165,6 +172,7 @@ label_class = "supply" ui_color = "#cf9c6c" nation_prefixes = list("Cargo", "Guna", "Suppli", "Mule", "Crate", "Ore", "Mini", "Shaf") + primary_work_area = /area/station/cargo head_of_staff_access = ACCESS_QM department_access = REGION_ACCESS_SUPPLY @@ -177,6 +185,7 @@ label_class = "service" ui_color = "#7cc46a" nation_prefixes = list("Honka", "Boozo", "Fatu", "Danka", "Mimi", "Libra", "Jani", "Religi") + primary_work_area = /area/station/service department_delivery_areas = list(/area/station/hallway/secondary/service, /area/station/service/bar/atrium) associated_cargo_groups = list("Service", "Food & Hydroponics", "Livestock", "Costumes & Toys") head_of_staff_access = ACCESS_HOP diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 50916d170f0..bbd19a69005 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -556,8 +556,7 @@ // This is unfortunately necessary because of snowflake AI init code. To be refactored. spawn_instance = new spawn_type(get_turf(spawn_point), null, player_client.mob) else - spawn_instance = new spawn_type(player_client.mob.loc) - spawn_point.JoinPlayerHere(spawn_instance, TRUE) + spawn_instance = spawn_point.JoinPlayerHere(spawn_type, TRUE) spawn_instance.apply_prefs_job(player_client, src) if(!player_client) qdel(spawn_instance) @@ -695,3 +694,15 @@ /// This proc may be called when someone of this job is made into a traitor to create custom objectives related to the job. /datum/job/proc/generate_traitor_objective() return null + +/// Returns a large (due to cropping) icon of this job's sechud icon state. +/datum/job/proc/get_lobby_icon() as /icon + var/datum/outfit/job_outfit = outfit + if(!job_outfit || !job_outfit::id_trim) + CRASH("[src.type] has no job outfit but isn't overwriting get_lobby_icon().") + var/datum/id_trim/job_trim = job_outfit::id_trim + var/icon_state = job_trim::sechud_icon_state + if(!icon_state || icon_state == SECHUD_UNKNOWN) + CRASH("[src.type] has no job icon state.") + + return icon('icons/mob/huds/hud.dmi', icon_state) diff --git a/code/modules/jobs/job_types/ai.dm b/code/modules/jobs/job_types/ai.dm index cafbf2d276b..6048deaa79b 100644 --- a/code/modules/jobs/job_types/ai.dm +++ b/code/modules/jobs/job_types/ai.dm @@ -113,3 +113,6 @@ /datum/job/ai/on_respawn(mob/new_character) new_character.AIize() + +/datum/job/ai/get_lobby_icon() + return icon('icons/mob/huds/hud.dmi', "hudai") diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index c4d26aa5509..9d58d8ca2cc 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -23,7 +23,7 @@ paycheck = PAYCHECK_COMMAND paycheck_department = ACCOUNT_CMD // SKYRAT EDIT - Original: paycheck_department = ACCOUNT_SEC - mind_traits = list(HEAD_OF_STAFF_MIND_TRAITS) + mind_traits = list(HEAD_OF_STAFF_MIND_TRAITS, TRAIT_DESENSITIZED) liver_traits = list(TRAIT_ROYAL_METABOLISM) display_order = JOB_DISPLAY_ORDER_CAPTAIN diff --git a/code/modules/jobs/job_types/chaplain/chaplain.dm b/code/modules/jobs/job_types/chaplain/chaplain.dm index 6f84c0f840a..efa1ec7db2a 100644 --- a/code/modules/jobs/job_types/chaplain/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain/chaplain.dm @@ -13,6 +13,8 @@ outfit = /datum/outfit/job/chaplain plasmaman_outfit = /datum/outfit/plasmaman/chaplain + mind_traits = list(TRAIT_SPIRITUAL, TRAIT_DESENSITIZED) + paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_SRV diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index 13a9eb97515..b28c6c3e428 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -27,7 +27,7 @@ paycheck = PAYCHECK_COMMAND paycheck_department = ACCOUNT_MED - mind_traits = list(HEAD_OF_STAFF_MIND_TRAITS) + mind_traits = list(HEAD_OF_STAFF_MIND_TRAITS, MEDICAL_MIND_TRAITS) liver_traits = list(TRAIT_MEDICAL_METABOLISM, TRAIT_ROYAL_METABOLISM) display_order = JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index 0d6c90b8d6a..a7a7fc77896 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -101,6 +101,5 @@ H.fully_replace_character_name(H.real_name, pick(GLOB.clown_names)) //rename the mob AFTER they're equipped so their ID gets updated properly. H.dna.add_mutation(/datum/mutation/clumsy, MUTATION_SOURCE_CLOWN_CLUMSINESS) - var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] - fan.show_to(H) + ADD_TRAIT(H, TRAIT_CLOWN_ENJOYER, INNATE_TRAIT) H.faction |= FACTION_CLOWN diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index 0645a9cbb27..15fa431ef0f 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -16,6 +16,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_SRV + mind_traits = list(TRAIT_DESENSITIZED) // butcher liver_traits = list(TRAIT_CULINARY_METABOLISM) display_order = JOB_DISPLAY_ORDER_COOK diff --git a/code/modules/jobs/job_types/coroner.dm b/code/modules/jobs/job_types/coroner.dm index 982cb16f748..dd0b8e7a0bf 100644 --- a/code/modules/jobs/job_types/coroner.dm +++ b/code/modules/jobs/job_types/coroner.dm @@ -13,7 +13,7 @@ outfit = /datum/outfit/job/coroner plasmaman_outfit = /datum/outfit/plasmaman/coroner - mind_traits = list(TRAIT_MORBID) + mind_traits = list(TRAIT_MORBID, MEDICAL_MIND_TRAITS) liver_traits = list(TRAIT_CORONER_METABOLISM) paycheck = PAYCHECK_CREW diff --git a/code/modules/jobs/job_types/cyborg.dm b/code/modules/jobs/job_types/cyborg.dm index b2c863645e1..7e2388df727 100644 --- a/code/modules/jobs/job_types/cyborg.dm +++ b/code/modules/jobs/job_types/cyborg.dm @@ -54,3 +54,6 @@ /datum/job/cyborg/on_respawn(mob/new_character) new_character.Robotize(TRUE) + +/datum/job/cyborg/get_lobby_icon() + return icon('icons/mob/huds/hud.dmi', "hudcyborg") diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm index 087c237eac3..42b0503974a 100644 --- a/code/modules/jobs/job_types/detective.dm +++ b/code/modules/jobs/job_types/detective.dm @@ -23,6 +23,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_SEC + mind_traits = list(SECURITY_MIND_TRAITS) liver_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM) display_order = JOB_DISPLAY_ORDER_DETECTIVE diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index 470fdeb242c..9a20bb8ff23 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -24,7 +24,7 @@ /datum/job_department/command, ) - mind_traits = list(HEAD_OF_STAFF_MIND_TRAITS) + mind_traits = list(HEAD_OF_STAFF_MIND_TRAITS, SECURITY_MIND_TRAITS) liver_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM, TRAIT_ROYAL_METABOLISM) paycheck = PAYCHECK_COMMAND diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index ccfcbae1623..79a972c0457 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -16,6 +16,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_MED + mind_traits = list(MEDICAL_MIND_TRAITS) liver_traits = list(TRAIT_MEDICAL_METABOLISM) display_order = JOB_DISPLAY_ORDER_MEDICAL_DOCTOR diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index 50c48509dec..f4bc4955208 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -77,8 +77,7 @@ var/datum/action/cooldown/spell/vow_of_silence/vow = new(H.mind) vow.Grant(H) - var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] - fan.show_to(H) + ADD_TRAIT(H, TRAIT_MIME_FAN, INNATE_TRAIT) /obj/item/book/granter/action/spell/mime/mimery name = "Guide to Dank Mimery" diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index b852adacb33..d446a970060 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -16,6 +16,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_MED + mind_traits = list(MEDICAL_MIND_TRAITS) liver_traits = list(TRAIT_MEDICAL_METABOLISM) display_order = JOB_DISPLAY_ORDER_PARAMEDIC diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index 859c2ba07fa..3e522d0fc7c 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -20,6 +20,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_SEC + mind_traits = list(SECURITY_MIND_TRAITS) liver_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM) display_order = JOB_DISPLAY_ORDER_SECURITY_OFFICER @@ -165,7 +166,7 @@ GLOBAL_LIST_EMPTY(security_officer_distribution) department, distribution, ) - var/obj/machinery/announcement_system/announcement_system = get_announcement_system(/datum/aas_config_entry/announce_officer) + var/obj/machinery/announcement_system/announcement_system = get_announcement_system(/datum/aas_config_entry/announce_officer, null, list(RADIO_CHANNEL_SECURITY)) if (isnull(announcement_system)) return diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index 87cf40e00f8..4a5166d1fe8 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -21,6 +21,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_SEC + mind_traits = list(SECURITY_MIND_TRAITS) liver_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM, TRAIT_PRETENDER_ROYAL_METABOLISM) display_order = JOB_DISPLAY_ORDER_WARDEN diff --git a/code/modules/loadout/categories/pocket.dm b/code/modules/loadout/categories/pocket.dm index 10028b32405..2bbc2a0e046 100644 --- a/code/modules/loadout/categories/pocket.dm +++ b/code/modules/loadout/categories/pocket.dm @@ -355,3 +355,7 @@ UnregisterSignal(source, COMSIG_HUMAN_CHARACTER_SETUP_FINISHED) var/datum/record/crew/record = find_record(source.real_name) record?.medical_notes += new /datum/medical_note("Central Command", "Patient is a registered brain donor for Robotics research.", null) + +/datum/loadout_item/pocket_items/candles + name = "Box of Candles" + item_path = /obj/item/storage/fancy/candle_box diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm index 418a4b8e509..2fe5f1a9b45 100644 --- a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm @@ -254,16 +254,14 @@ if(!weapon.use_tool(src, user, delay = 15, volume = 40)) return TRUE + var/is_chill_with_robbing = HAS_MIND_TRAIT(user, TRAIT_MORBID) || HAS_PERSONALITY(user, /datum/personality/callous) || HAS_PERSONALITY(user, /datum/personality/misanthropic) if(opened) dug_closed = TRUE close(user) else if(open(user, force = TRUE) && affect_mood) - if(HAS_MIND_TRAIT(user, TRAIT_MORBID)) - user.add_mood_event("morbid_graverobbing", /datum/mood_event/morbid_graverobbing) - else - user.add_mood_event("graverobbing", /datum/mood_event/graverobbing) + user.add_mood_event("graverobbing", is_chill_with_robbing ? /datum/mood_event/morbid_graverobbing : /datum/mood_event/graverobbing) if(lead_tomb && first_open) - if(HAS_MIND_TRAIT(user, TRAIT_MORBID)) + if(is_chill_with_robbing) to_chat(user, span_notice("Did someone say something? I'm sure it was nothing.")) else user.gain_trauma(/datum/brain_trauma/magic/stalker) diff --git a/code/modules/mapping/space_management/traits.dm b/code/modules/mapping/space_management/traits.dm index 9841f85ebd7..a30eeb0b20a 100644 --- a/code/modules/mapping/space_management/traits.dm +++ b/code/modules/mapping/space_management/traits.dm @@ -30,7 +30,7 @@ return FALSE /// Get a list of all z which have the specified trait -/datum/controller/subsystem/mapping/proc/levels_by_trait(trait) +/datum/controller/subsystem/mapping/proc/levels_by_trait(trait) as /list return z_trait_levels[trait] || list() /// Get a list of all z which have any of the specified traits diff --git a/code/modules/mining/boulder_processing/boulder.dm b/code/modules/mining/boulder_processing/boulder.dm index 61de5688898..08376a2efd3 100644 --- a/code/modules/mining/boulder_processing/boulder.dm +++ b/code/modules/mining/boulder_processing/boulder.dm @@ -114,7 +114,7 @@ /obj/item/boulder/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) . = ..() if(istype(interacting_with, /turf/open/lava)) - if(!create_platform(interacting_with, user, interacting_with)) + if(!create_platform(interacting_with, user, null)) return ITEM_INTERACT_BLOCKING return ITEM_INTERACT_SUCCESS @@ -124,17 +124,23 @@ if(!create_platform(target, thrower)) return FALSE -/obj/item/boulder/proc/create_platform(atom/interacting_with, mob/living/user) +/obj/item/boulder/proc/create_platform(atom/interacting_with, mob/living/user, timer_override = null) if(locate(/obj/structure/lattice/catwalk/boulder, interacting_with)) - to_chat(user, span_warning("There is already a boulder platform here!")) - return FALSE + if(user) + to_chat(user, span_warning("There is already a boulder platform here!")) + return null + + var/active_platform_lifespan = platform_lifespan //Default to the assigned value. + if(timer_override) + active_platform_lifespan = timer_override var/obj/structure/lattice/catwalk/boulder/platform = new(interacting_with) - addtimer(CALLBACK(platform, TYPE_PROC_REF(/obj/structure/lattice/catwalk/boulder, pre_self_destruct)), platform_lifespan) + addtimer(CALLBACK(platform, TYPE_PROC_REF(/obj/structure/lattice/catwalk/boulder, pre_self_destruct)), active_platform_lifespan) // See Lattice.dm for more info visible_message(span_notice("\The [src] floats on \the [interacting_with], forming a temporary platform!")) qdel(src) - return TRUE + return platform + /** * This is called when a boulder is processed by a mob or tool, and reduces the durability of the boulder. * @param obj/item/weapon The weapon that is being used to process the boulder, that we pull toolspeed from. If null, we use the override_speed_multiplier instead. diff --git a/code/modules/mining/equipment/kinetic_crusher/trophies_megafauna.dm b/code/modules/mining/equipment/kinetic_crusher/trophies_megafauna.dm index 0c5393d154b..4799c04ab24 100644 --- a/code/modules/mining/equipment/kinetic_crusher/trophies_megafauna.dm +++ b/code/modules/mining/equipment/kinetic_crusher/trophies_megafauna.dm @@ -150,7 +150,7 @@ denied_type = /obj/item/crusher_trophy/wendigo_horn /obj/item/crusher_trophy/wendigo_horn/effect_desc() - return "melee hits inflict twice as much damage" + return "melee hits to inflict twice as much damage" /obj/item/crusher_trophy/wendigo_horn/add_to(obj/item/kinetic_crusher/crusher, mob/living/user) . = ..() diff --git a/code/modules/mining/lavaland/cain_and_abel/_cain_and_abel.dm b/code/modules/mining/lavaland/cain_and_abel/_cain_and_abel.dm index bcb5c968e3c..ec32f5a4d07 100644 --- a/code/modules/mining/lavaland/cain_and_abel/_cain_and_abel.dm +++ b/code/modules/mining/lavaland/cain_and_abel/_cain_and_abel.dm @@ -13,6 +13,7 @@ attack_verb_simple = list("attack", "saw", "slice", "tear", "lacerate", "rip", "dice", "cut") force = 15 attack_speed = 6 + resistance_flags = FIRE_PROOF | LAVA_PROOF actions_types = list(/datum/action/cooldown/dagger_swing) hitsound = 'sound/items/weapons/bladeslice.ogg' w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/mining/lavaland/mining_loot/clothing.dm b/code/modules/mining/lavaland/mining_loot/clothing.dm index 360388b61b6..620c93a8391 100644 --- a/code/modules/mining/lavaland/mining_loot/clothing.dm +++ b/code/modules/mining/lavaland/mining_loot/clothing.dm @@ -114,14 +114,17 @@ fire = 100 acid = 30 +/obj/item/clothing/gloves/gauntlets/Initialize(mapload) + . = ..() + AddComponent(/datum/component/martial_art_giver, /datum/martial_art/boxing/hunter) + /obj/item/clothing/gloves/gauntlets/equipped(mob/user, slot) . = ..() - if(slot & ITEM_SLOT_GLOVES) - tool_behaviour = TOOL_MINING - RegisterSignal(user, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(rocksmash)) - RegisterSignal(user, COMSIG_MOVABLE_BUMP, PROC_REF(rocksmash)) - else - stopmining(user) + if(!(slot & ITEM_SLOT_GLOVES)) + return + tool_behaviour = TOOL_MINING + RegisterSignal(user, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(rocksmash)) + RegisterSignal(user, COMSIG_MOVABLE_BUMP, PROC_REF(rocksmash)) /obj/item/clothing/gloves/gauntlets/dropped(mob/user) . = ..() diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/colossus.dm b/code/modules/mining/lavaland/mining_loot/megafauna/colossus.dm index 10c37355495..a5c24eabb95 100644 --- a/code/modules/mining/lavaland/mining_loot/megafauna/colossus.dm +++ b/code/modules/mining/lavaland/mining_loot/megafauna/colossus.dm @@ -373,7 +373,7 @@ if(isanimal_or_basicmob(loc)) holder_animal = loc RegisterSignal(holder_animal, COMSIG_LIVING_DEATH, PROC_REF(on_holder_animal_death)) - AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) + AddElement(/datum/element/empprotection, EMP_PROTECT_ALL|EMP_NO_EXAMINE) /obj/structure/closet/stasis/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) . = ..() diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/the_thing.dm b/code/modules/mining/lavaland/mining_loot/megafauna/the_thing.dm index cea00930325..19c04179d25 100644 --- a/code/modules/mining/lavaland/mining_loot/megafauna/the_thing.dm +++ b/code/modules/mining/lavaland/mining_loot/megafauna/the_thing.dm @@ -37,7 +37,7 @@ /obj/item/organ/brain/cybernetic/ai/on_mob_insert(mob/living/carbon/brain_owner, special, movement_flags) . = ..() - brain_owner.add_traits(list(HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src)) + brain_owner.add_traits(list(TRAIT_BASIC_HEALTH_HUD_VISIBLE, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src)) update_med_hud_status(brain_owner) RegisterSignal(brain_owner, COMSIG_LIVING_HEALTH_UPDATE, PROC_REF(update_med_hud_status)) RegisterSignal(brain_owner, COMSIG_CLICK, PROC_REF(owner_clicked)) @@ -53,7 +53,7 @@ /obj/item/organ/brain/cybernetic/ai/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags) undeploy() . = ..() - organ_owner.remove_traits(list(HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src)) + organ_owner.remove_traits(list(TRAIT_BASIC_HEALTH_HUD_VISIBLE, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src)) UnregisterSignal(organ_owner, list(COMSIG_LIVING_HEALTH_UPDATE, COMSIG_CLICK, COMSIG_MOB_GET_STATUS_TAB_ITEMS, COMSIG_MOB_MIND_BEFORE_MIDROUND_ROLL, COMSIG_QDELETING, COMSIG_LIVING_PRE_WABBAJACKED)) var/obj/item/implant/radio/radio = radio_weakref.resolve() diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index d2d7e91c2d5..54cb5fc6e7d 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -15,69 +15,14 @@ integrity_failure = 0 //prevents bust_open from firing /// var to check if it got opened by a key var/spawned_loot = FALSE + /// What random loot spawner our chest uses + var/loot_to_spawn = /obj/effect/spawner/random/mining_loot /obj/structure/closet/crate/necropolis/tendril/attackby(obj/item/item, mob/user, list/modifiers, list/attack_modifiers) if(!istype(item, /obj/item/skeleton_key) || spawned_loot) return ..() - var/loot = rand(1,21) - var/mod - switch(loot) - if(1) - new /obj/item/shared_storage/red(src) - if(2) - new /obj/item/soulstone/anybody/mining(src) - if(3) - new /obj/item/organ/cyberimp/arm/toolkit/shard/katana(src) - if(4) - new /obj/item/clothing/glasses/godeye(src) - if(5) - new /obj/item/reagent_containers/cup/bottle/potion/flight(src) - if(6) - new /obj/item/clothing/gloves/gauntlets(src) - if(7) - mod = rand(1,4) - switch(mod) - if(1) - new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src) - if(2) - new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src) - if(3) - new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src) - if(4) - new /obj/item/disk/design_disk/modkit_disc/bounty(src) - if(8) - new /obj/item/rod_of_asclepius(src) - if(9) - new /obj/item/organ/heart/cursed/wizard(src) - if(10) - new /obj/item/ship_in_a_bottle(src) - if(11) - new /obj/item/clothing/suit/hooded/berserker(src) - if(12) - new /obj/item/jacobs_ladder(src) - if(13) - new /obj/item/guardian_creator/miner(src) - if(14) - new /obj/item/warp_cube/red(src) - if(15) - new /obj/item/wisp_lantern(src) - if(16) - new /obj/item/immortality_talisman(src) - if(17) - new /obj/item/book/granter/action/spell/summonitem(src) - if(18) - new /obj/item/book_of_babel(src) - if(19) - new /obj/item/borg/upgrade/modkit/lifesteal(src) - new /obj/item/bedsheet/cult(src) - if(20) - new /obj/item/clothing/neck/necklace/memento_mori(src) - if(21) - new /obj/item/clothing/gloves/fingerless/punch_mitts(src) - new /obj/item/clothing/head/cowboy(src) - if(!contents.len) - to_chat(user, span_warning("[src] makes a clunking sound as you try to open it. You feel compelled to let the gods know! (Please open an adminhelp and try again!)")) - CRASH("Failed to generate loot. loot number: [loot][mod ? "subloot: [mod]" : null]") + new loot_to_spawn(src) + spawned_loot = TRUE qdel(item) to_chat(user, span_notice("You disable the magic lock, revealing the loot.")) @@ -95,6 +40,10 @@ //Megafauna chests +/obj/structure/closet/crate/necropolis/tendril/demonic + name = "demonic chest" + loot_to_spawn = /obj/effect/spawner/random/mining_loot/demonic + /obj/structure/closet/crate/necropolis/dragon name = "dragon chest" diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index d0c63bd3b7a..a2515ac76dd 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -248,7 +248,7 @@ on = FALSE else var/out = get_step(src, output_dir) - materials.retrieve_sheets(sheets_to_remove, mat, out) + materials.retrieve_stack(sheets_to_remove, mat, out) /obj/machinery/mineral/processing_unit/proc/smelt_alloy(seconds_per_tick = 2) var/datum/design/alloy = stored_research.isDesignResearchedID(selected_alloy) //check if it's a valid design diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index 82b87421d29..d408ef29592 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -78,7 +78,7 @@ MATCONTAINER_EXAMINE, \ container_signals = list( \ COMSIG_MATCONTAINER_ITEM_CONSUMED = TYPE_PROC_REF(/obj/machinery/ore_silo, on_item_consumed), \ - COMSIG_MATCONTAINER_SHEETS_RETRIEVED = TYPE_PROC_REF(/obj/machinery/ore_silo, log_sheets_ejected), \ + COMSIG_MATCONTAINER_STACK_RETRIEVED = TYPE_PROC_REF(/obj/machinery/ore_silo, log_sheets_ejected), \ ), \ allowed_items = /obj/item/stack \ ) @@ -330,7 +330,7 @@ if(isnull(amount)) return - materials.retrieve_sheets(amount, ejecting, drop_location(), user_data = ID_DATA(ui.user)) + materials.retrieve_stack(amount, ejecting, drop_location(), user_data = ID_DATA(ui.user)) return TRUE if("toggle_ban") diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index db734992c61..6e7340dbac7 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -112,6 +112,7 @@ w_class = WEIGHT_CLASS_TINY mine_experience = 0 //its sand merge_type = /obj/item/stack/ore/glass + usable_for_construction = TRUE GLOBAL_LIST_INIT(sand_recipes, list(\ new /datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ @@ -124,7 +125,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ AddComponent(/datum/component/storm_hating) /obj/item/stack/ore/glass/on_orm_collection() //we need to smelt the glass beforehand because the silo and orm don't accept sand mats - var/obj/item/stack/sheet/glass = new refined_type(drop_location(), amount, merge = FALSE) //The newly spawned glass should not merge with other stacks on the turf, else it could cause issues. + //If we spawn the sheet of glass on the turf the ORM is "listening" to, it'll get redeemed before we can use it as return value and weird stuff my happen. + var/obj/item/stack/sheet/glass = new refined_type(null, amount) qdel(src) return glass @@ -439,7 +441,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/cooldown = 0 var/value = 0 var/coinflip - item_flags = NO_MAT_REDEMPTION //You know, it's kind of a problem that money is worth more extrinsicly than intrinsically in this universe. ///If you do not want this coin to be valued based on its materials and instead set a custom value set this to TRUE and set value to the desired value. var/override_material_worth = FALSE /// The name of the heads side of the coin @@ -483,7 +484,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ user.set_suicide(TRUE) user.suicide_log() else - user.visible_message(span_suicide("\the [src] lands on [coinflip]! [user] keeps on living!")) + user.visible_message(span_suicide("\the [src] lands on [coinflip]! [user] keeps on living!")) //Don't put it in your pocket. It's your lucky quarter. /obj/item/coin/examine(mob/user) . = ..() @@ -548,36 +549,46 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/coin/gold custom_materials = list(/datum/material/gold = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/gold = 4) /obj/item/coin/silver custom_materials = list(/datum/material/silver = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/silver = 4) /obj/item/coin/diamond custom_materials = list(/datum/material/diamond = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/carbon = 4) /obj/item/coin/plasma custom_materials = list(/datum/material/plasma = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/toxin/plasma = 4) /obj/item/coin/uranium custom_materials = list(/datum/material/uranium = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/uranium = 4) /obj/item/coin/titanium custom_materials = list(/datum/material/titanium = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/flash_powder = 4) /obj/item/coin/bananium custom_materials = list(/datum/material/bananium = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/consumable/nutriment/soup/clown_tears = 4) /obj/item/coin/adamantine custom_materials = list(/datum/material/adamantine = COIN_MATERIAL_AMOUNT) /obj/item/coin/mythril custom_materials = list(/datum/material/mythril = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/medicine/omnizine/godblood = 4) /obj/item/coin/plastic custom_materials = list(/datum/material/plastic = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/plastic_polymers = 4) /obj/item/coin/runite custom_materials = list(/datum/material/runite = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/iron = 2, /datum/reagent/consumable/ethanol/ritual_wine = 2) /obj/item/coin/twoheaded desc = "Hey, this coin's the same on both sides!" @@ -592,11 +603,14 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ heads_name = "valid" material_flags = NONE override_material_worth = TRUE + grind_results = list(/datum/reagent/ants = 2, /datum/reagent/consumable/eggyolk = 2) /obj/item/coin/iron + grind_results = list(/datum/reagent/iron = 4) /obj/item/coin/gold/debug custom_materials = list(/datum/material/gold = COIN_MATERIAL_AMOUNT) + grind_results = list(/datum/reagent/gold/cursed = 4) desc = "If you got this somehow, be aware that it will dust you. Almost certainly." /obj/item/coin/gold/debug/attack_self(mob/user) @@ -639,6 +653,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ heads_name = "heretic" has_action = TRUE material_flags = NONE + grind_results = list(/datum/reagent/carbon = 5, /datum/reagent/toxin/plasma = 5, /datum/reagent/eldritch = 4) /// The range at which airlocks are effected. var/airlock_range = 5 diff --git a/code/modules/mining/voucher_sets.dm b/code/modules/mining/voucher_sets.dm index b5190b2686d..ee083ebdaff 100644 --- a/code/modules/mining/voucher_sets.dm +++ b/code/modules/mining/voucher_sets.dm @@ -98,3 +98,13 @@ set_items = list( /obj/item/storage/backpack/duffelbag/mining_conscript, ) + +/datum/voucher_set/mining/punching_mitts + name = "Punching Mitts" + description = "Contains a pair of punching mitts for turning the local wilderness into the local gravel pit with your BARE HANDS." + icon = 'icons/obj/clothing/gloves.dmi' + icon_state = "punch_mitts" + set_items = list( + /obj/item/clothing/gloves/fingerless/punch_mitts, + /obj/item/clothing/head/cowboy, + ) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index e12abfd9647..883a0f04557 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -271,8 +271,12 @@ if(CONFIG_GET(flag/allow_latejoin_antagonists) && !EMERGENCY_PAST_POINT_OF_NO_RETURN && humanc) //Borgs aren't allowed to be antags. Will need to be tweaked if we get true latejoin ais. SSdynamic.on_latejoin(humanc) - if((job.job_flags & JOB_ASSIGN_QUIRKS) && humanc && CONFIG_GET(flag/roundstart_traits)) - SSquirks.AssignQuirks(humanc, humanc.client) + if(humanc) + if(job.job_flags & JOB_ASSIGN_QUIRKS) + if(CONFIG_GET(flag/roundstart_traits)) + SSquirks.AssignQuirks(humanc, humanc.client) + else // clear any personalities the prefs added since our job clearly does not want them + humanc.clear_personalities() if(humanc) // Quirks may change manifest datapoints, so inject only after assigning quirks GLOB.manifest.inject(humanc, null, humanc.client) // SKYRAT EDIT - Added humanc.client - ALTERNATIVE_JOB_TITLES 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 c82eee3e067..77671ced07a 100644 --- a/code/modules/mob/living/basic/blob_minions/blob_mob.dm +++ b/code/modules/mob/living/basic/blob_minions/blob_mob.dm @@ -23,15 +23,16 @@ damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1) /// Size of cloud produced from a dying spore var/death_cloud_size = BLOBMOB_CLOUD_NONE - var/list/loot = list(/obj/item/food/spore_sack) + var/loot = /obj/item/food/spore_sack /mob/living/basic/blob_minion/Initialize(mapload) . = ..() add_traits(list(TRAIT_BLOB_ALLY, TRAIT_MUTE), INNATE_TRAIT) AddComponent(/datum/component/blob_minion, on_strain_changed = CALLBACK(src, PROC_REF(on_strain_updated)), new_death_cloud_size = death_cloud_size) - if(length(loot)) - loot = string_list(loot) + if(loot) + if (islist(loot)) + loot = string_list(loot) AddElement(/datum/element/death_drops, loot) /// Called when our blob overmind changes their variant, update some of our mob properties diff --git a/code/modules/mob/living/basic/blob_minions/blob_spore.dm b/code/modules/mob/living/basic/blob_minions/blob_spore.dm index 8b55cd6a1fa..e78e67602b5 100644 --- a/code/modules/mob/living/basic/blob_minions/blob_spore.dm +++ b/code/modules/mob/living/basic/blob_minions/blob_spore.dm @@ -124,7 +124,7 @@ icon_state = "blobpod_independent" //we hate gold cores gold_core_spawnable = NO_SPAWN - loot = list(/obj/item/food/spore_sack/independent) + loot = /obj/item/food/spore_sack/independent /mob/living/basic/blob_minion/spore/independent/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/blob_minions/blobbernaut.dm b/code/modules/mob/living/basic/blob_minions/blobbernaut.dm index b02c599b58f..17ce832e456 100644 --- a/code/modules/mob/living/basic/blob_minions/blobbernaut.dm +++ b/code/modules/mob/living/basic/blob_minions/blobbernaut.dm @@ -26,7 +26,7 @@ pressure_resistance = 50 mob_size = MOB_SIZE_LARGE ai_controller = /datum/ai_controller/basic_controller/blobbernaut - loot = list() + loot = null ///The HUD given to blobbernauts, updated by the Blob itself var/atom/movable/screen/healths/blob/overmind/overmind_hud ///The overlay for veins. diff --git a/code/modules/mob/living/basic/boss/boss.dm b/code/modules/mob/living/basic/boss/boss.dm index c488912b507..d682d254a73 100644 --- a/code/modules/mob/living/basic/boss/boss.dm +++ b/code/modules/mob/living/basic/boss/boss.dm @@ -18,28 +18,23 @@ mob_size = MOB_SIZE_HUGE layer = LARGE_MOB_LAYER flags_1 = PREVENT_CONTENTS_EXPLOSION_1 - /// List of loot if not killed by crusher. - var/list/loot - /// List of loot if killed by crusher. - var/list/crusher_loot - /// Achievement given to surrounding players when the megafauna is killed - var/achievement_type - /// Crusher achievement given to players when megafauna is killed - var/crusher_achievement_type - /// Score given to players when megafauna is killed - var/score_achievement_type - /// If the megafauna was actually killed (not just dying, then transforming into another type) - var/elimination = FALSE /// Name for the GPS signal of the megafauna var/gps_name = null - /// If this is a megafauna that is real (has achievements, gps signal) - var/true_spawn = TRUE + /// What crusher trophy this mob drops, if any + var/crusher_loot /mob/living/basic/boss/Initialize(mapload) . = ..() AddElement(/datum/element/wall_tearer, tear_time = 1 SECONDS) - if(gps_name && true_spawn) + if(gps_name) AddComponent(/datum/component/gps, gps_name) + if(crusher_loot) + AddElement(\ + /datum/element/crusher_loot,\ + trophy_type = crusher_loot,\ + guaranteed_drop = 0.6,\ + drop_immediately = basic_mob_flags & DEL_ON_DEATH,\ + ) ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) add_traits(list(TRAIT_NO_TELEPORT, TRAIT_MARTIAL_ARTS_IMMUNE, TRAIT_LAVA_IMMUNE,TRAIT_ASHSTORM_IMMUNE, TRAIT_NO_FLOATING_ANIM), MEGAFAUNA_TRAIT) AddComponent(/datum/component/seethrough_mob) @@ -53,51 +48,13 @@ /mob/living/basic/boss/dust(just_ash, drop_items, force) if(!force && health > 0) return - loot.Cut() - crusher_loot.Cut() return ..() -/mob/living/basic/boss/death(gibbed, list/force_grant) - if(gibbed) // in case they've been force dusted - return ..() - - if(health > 0) // prevents instakills +/mob/living/basic/boss/death(gibbed) + if (health > 0 && !gibbed) // prevents instakills return - var/datum/status_effect/crusher_damage/crusher_dmg = has_status_effect(/datum/status_effect/crusher_damage) - ///Whether we killed the megafauna with primarily crusher damage or not - var/crusher_kill = (crusher_dmg && (crusher_dmg.total_damage >= floor(maxHealth * 0.6))) - if(true_spawn && !(flags_1 & ADMIN_SPAWNED_1)) - var/tab = "megafauna_kills" - if(crusher_kill) - tab = "megafauna_kills_crusher" - if(!elimination) //used so the achievment only occurs for the last legion to die. - grant_achievement(achievement_type, score_achievement_type, crusher_kill, force_grant) - SSblackbox.record_feedback("tally", tab, 1, "[initial(name)]") - - for(var/path in crusher_kill ? crusher_loot : loot) // using this instead of deathdrops and crusher_loot because we calculate differently and removing the element is ass - new path(drop_location()) - return ..() -/// Grants medals and achievements to surrounding players -/mob/living/basic/boss/proc/grant_achievement(medaltype, scoretype, crusher_kill, list/grant_achievement = list()) - if(!achievement_type || (flags_1 & ADMIN_SPAWNED_1) || !SSachievements.achievements_enabled) //Don't award medals if the medal type isn't set - return FALSE - if(!grant_achievement.len) - for(var/mob/living/victor in view(7,src)) - grant_achievement += victor - for(var/mob/living/victor in grant_achievement) - if(victor.stat || !victor.client) - continue - victor.add_mob_memory(/datum/memory/megafauna_slayer, antagonist = src) - victor.client.give_award(/datum/award/achievement/boss/boss_killer, victor) - victor.client.give_award(achievement_type, victor) - if(crusher_kill && istype(victor.get_active_held_item(), /obj/item/kinetic_crusher)) - victor.client.give_award(crusher_achievement_type, victor) - victor.client.give_award(/datum/award/score/boss_score, victor) //Score progression for bosses killed in general - victor.client.give_award(score_achievement_type, victor) //Score progression for specific boss killed - return TRUE - /mob/living/basic/boss/early_melee_attack(mob/living/target, list/modifiers, ignore_cooldown) . = ..() if(!. || !istype(target)) diff --git a/code/modules/mob/living/basic/boss/thing/thing.dm b/code/modules/mob/living/basic/boss/thing/thing.dm index 402f9aba436..752c136f1d8 100644 --- a/code/modules/mob/living/basic/boss/thing/thing.dm +++ b/code/modules/mob/living/basic/boss/thing/thing.dm @@ -21,12 +21,8 @@ speed = 3.5 //dont make this any faster PLEASE gps_name = "L-4 Biohazard Beacon" ai_controller = /datum/ai_controller/basic_controller/thing_boss - loot = list(/obj/item/keycard/thing_boss) - crusher_loot = list(/obj/item/keycard/thing_boss, /obj/item/crusher_trophy/flesh_glob) + crusher_loot = /obj/item/crusher_trophy/flesh_glob mouse_opacity = MOUSE_OPACITY_OPAQUE - achievement_type = /datum/award/achievement/boss/thething_kill - crusher_achievement_type = /datum/award/achievement/boss/thething_crusher - score_achievement_type = /datum/award/score/thething_score /// Current phase of the boss fight var/phase = 1 /// Time the Thing will be invulnerable between phases @@ -45,6 +41,15 @@ /mob/living/basic/boss/thing/Initialize(mapload) . = ..() + var/static/list/achievements = list( + /datum/award/achievement/boss/boss_killer, + /datum/award/achievement/boss/thething_kill, + /datum/award/score/boss_score, + /datum/award/score/thething_score, + ) + AddElement(/datum/element/kill_achievement, achievements, /datum/award/achievement/boss/thething_crusher, /datum/memory/megafauna_slayer) + AddElement(/datum/element/death_drops, /obj/item/keycard/thing_boss, FALSE) + var/static/list/innate_actions = list( /datum/action/cooldown/mob_cooldown/the_thing/decimate = BB_THETHING_DECIMATE, /datum/action/cooldown/mob_cooldown/charge/the_thing = BB_THETHING_CHARGE, @@ -57,12 +62,13 @@ AddElement(/datum/element/relay_attackers) // used to immediately aggro if shot from outside aggro range RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(immediate_aggro)) maploaded = mapload - if(maploaded) - spawn_loc = loc - RegisterSignal(src, COMSIG_AI_BLACKBOARD_KEY_SET(BB_BASIC_MOB_CURRENT_TARGET), PROC_REF(target_gained)) - RegisterSignal(src, COMSIG_AI_BLACKBOARD_KEY_CLEARED(BB_BASIC_MOB_CURRENT_TARGET), PROC_REF(target_lost)) - SSqueuelinks.add_to_queue(src, RUIN_QUEUE, 0) - return INITIALIZE_HINT_LATELOAD + if(!maploaded) + return + spawn_loc = loc + RegisterSignal(src, COMSIG_AI_BLACKBOARD_KEY_SET(BB_BASIC_MOB_CURRENT_TARGET), PROC_REF(target_gained)) + RegisterSignal(src, COMSIG_AI_BLACKBOARD_KEY_CLEARED(BB_BASIC_MOB_CURRENT_TARGET), PROC_REF(target_lost)) + SSqueuelinks.add_to_queue(src, RUIN_QUEUE, 0) + return INITIALIZE_HINT_LATELOAD /mob/living/basic/boss/thing/LateInitialize() SSqueuelinks.pop_link(RUIN_QUEUE) @@ -183,9 +189,9 @@ spawn_loc = null return ..() -/mob/living/basic/boss/thing/with_ruin_loot - loot = list(/obj/item/organ/brain/cybernetic/ai) // the only, relevant main loot of the ruin, but if admin spawned the keycard is useless - crusher_loot = list(/obj/item/organ/brain/cybernetic/ai, /obj/item/crusher_trophy/flesh_glob) +/mob/living/basic/boss/thing/with_ruin_loot/Initialize(mapload) + . = ..() + AddElement(/datum/element/death_drops, /obj/item/organ/brain/cybernetic/ai, FALSE) // special stuff for our ruin to make a cooler bossfight diff --git a/code/modules/mob/living/basic/bots/_bots.dm b/code/modules/mob/living/basic/bots/_bots.dm index 4cdf7f8ecf3..58ecef8863d 100644 --- a/code/modules/mob/living/basic/bots/_bots.dm +++ b/code/modules/mob/living/basic/bots/_bots.dm @@ -84,7 +84,7 @@ GLOBAL_LIST_INIT(command_strings, list( var/list/current_pathed_turfs = list() ///The type of data HUD the bot uses. Diagnostic by default. - var/data_hud_type = DATA_HUD_DIAGNOSTIC + var/data_hud_type = TRAIT_DIAGNOSTIC_HUD /// If true we will allow ghosts to control this mob var/can_be_possessed = FALSE /// Message to display upon possession @@ -139,8 +139,7 @@ GLOBAL_LIST_INIT(command_strings, list( //If a bot has its own HUD (for player bots), provide it. if(!isnull(data_hud_type)) - var/datum/atom_hud/datahud = GLOB.huds[data_hud_type] - datahud.show_to(src) + ADD_TRAIT(src, data_hud_type, INNATE_TRAIT) if(mapload && is_station_level(z) && (bot_mode_flags & BOT_MODE_CAN_BE_SAPIENT) && (bot_mode_flags & BOT_MODE_ROUNDSTART_POSSESSION)) enable_possession(mapload = mapload) diff --git a/code/modules/mob/living/basic/bots/dedbot.dm b/code/modules/mob/living/basic/bots/dedbot.dm index cbefc55898f..07d81bcda83 100644 --- a/code/modules/mob/living/basic/bots/dedbot.dm +++ b/code/modules/mob/living/basic/bots/dedbot.dm @@ -39,13 +39,10 @@ var/exenteration_cooldown_duration = 0.5 SECONDS //aoe slash ability var/datum/action/cooldown/mob_cooldown/bot/exenterate - var/list/remains = list(/obj/effect/gibspawner/robot) /mob/living/basic/bot/dedbot/Initialize(mapload) . = ..() - if(length(remains)) - remains = string_list(remains) - AddElement(/datum/element/death_drops, remains) + AddElement(/datum/element/death_drops, /obj/effect/gibspawner/robot) var/static/list/innate_actions = list( SPIN_SLASH_ABILITY_TYPEPATH = BB_DEDBOT_SLASH, ) diff --git a/code/modules/mob/living/basic/bots/honkbots/honkbot.dm b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm index 13caade7c94..68fdb431a96 100644 --- a/code/modules/mob/living/basic/bots/honkbots/honkbot.dm +++ b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm @@ -12,7 +12,7 @@ bot_mode_flags = BOT_MODE_ON | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_AUTOPATROL | BOT_MODE_ROUNDSTART_POSSESSION hackables = "sound control systems" path_image_color = "#FF69B4" - data_hud_type = DATA_HUD_SECURITY_BASIC + data_hud_type = TRAIT_SECURITY_HUD_ID_ONLY additional_access = /datum/id_trim/job/clown possessed_message = "You are a honkbot! Make sure the crew are having a great time!" ///our voicelines diff --git a/code/modules/mob/living/basic/bots/medbot/medbot.dm b/code/modules/mob/living/basic/bots/medbot/medbot.dm index dda8fd44db1..d78f7d66a41 100644 --- a/code/modules/mob/living/basic/bots/medbot/medbot.dm +++ b/code/modules/mob/living/basic/bots/medbot/medbot.dm @@ -19,7 +19,7 @@ radio_key = /obj/item/encryptionkey/headset_med radio_channel = RADIO_CHANNEL_MEDICAL bot_type = MED_BOT - data_hud_type = DATA_HUD_MEDICAL_ADVANCED + data_hud_type = TRAIT_MEDICAL_HUD hackables = "health processor circuits" possessed_message = "You are a medbot! Ensure good health among the crew to the best of your ability!" diff --git a/code/modules/mob/living/basic/bots/vibebot/vibebot.dm b/code/modules/mob/living/basic/bots/vibebot/vibebot.dm index c8e2d713623..b881e74fc92 100644 --- a/code/modules/mob/living/basic/bots/vibebot/vibebot.dm +++ b/code/modules/mob/living/basic/bots/vibebot/vibebot.dm @@ -14,7 +14,7 @@ radio_key = /obj/item/encryptionkey/headset_service radio_channel = RADIO_CHANNEL_SERVICE bot_type = VIBE_BOT - data_hud_type = DATA_HUD_DIAGNOSTIC + data_hud_type = TRAIT_DIAGNOSTIC_HUD path_image_color = "#2cac12" possessed_message = "You are a vibebot! Maintain the station's vibes to the best of your ability!" diff --git a/code/modules/mob/living/basic/clown/clown.dm b/code/modules/mob/living/basic/clown/clown.dm index 8026fd7a325..2c23f4bb8dc 100644 --- a/code/modules/mob/living/basic/clown/clown.dm +++ b/code/modules/mob/living/basic/clown/clown.dm @@ -1,6 +1,6 @@ /mob/living/basic/clown name = "Clown" - desc = "A denizen of clown planet." + desc = "A denizen of Clown Planet." icon = 'icons/mob/simple/clown_mobs.dmi' icon_state = "clown" icon_living = "clown" @@ -32,8 +32,8 @@ var/list/loot = list(/obj/effect/gibspawner/human) // BUBBER EDIT CHANGE - Original: /obj/effect/mob_spawn/corpse/human/clown ///blackboard emote list var/list/emotes = list( - BB_EMOTE_SAY = list("HONK", "Honk!", "Welcome to clown planet!"), - BB_EMOTE_HEAR = list("honks", "squeaks"), + BB_EMOTE_SAY = list("HONK!!", "Honk!", "Welcome to Clown Planet!"), + BB_EMOTE_HEAR = list("honks!", "squeaks!"), BB_EMOTE_SOUND = list('sound/items/bikehorn.ogg'), //WE LOVE TO PARTY BB_SPEAK_CHANCE = 5, ) @@ -72,7 +72,7 @@ /mob/living/basic/clown/lube name = "Living Lube" - desc = "A puddle of lube brought to life by the honkmother." + desc = "A puddle of lube brought to life by the Honkmother." icon_state = "lube" icon_living = "lube" maxHealth = 50 @@ -84,8 +84,8 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_SLIME damage_coeff = list(BRUTE = 0.25, BURN = 1, TOX = 1, STAMINA = 1, OXY = 1) emotes = list( - BB_EMOTE_SAY = list("HONK", "Honk!", "Welcome to clown planet!"), - BB_EMOTE_HEAR = list("bubbles", "oozes"), + BB_EMOTE_SAY = list("HONK!!", "Honk!", "Welcome to Clown Planet!"), + BB_EMOTE_HEAR = list("bubbles.", "oozes."), ) waddles = FALSE loot = list( @@ -152,16 +152,16 @@ ) emotes = list( BB_EMOTE_SAY = list( - "HONK", + "HONK!!", "Honk!", - "I didn't ask for this", - "I feel constant and horrible pain", - "I was born out of mirthful pranking but I live in suffering", - "This body is a merciless and unforgiving prison", + "I didn't ask for this...", + "I feel constant and horrible pain!!", + "I was born out of mirthful pranking but I live in suffering!!", + "This body is a merciless and unforgiving prison!!", "YA-HONK!!!", ), - BB_EMOTE_HEAR = list("honks", "contemplates its existence"), - BB_EMOTE_SEE = list("sweats", "jiggles"), + BB_EMOTE_HEAR = list("honks!", "contemplates its existence."), + BB_EMOTE_SEE = list("sweats.", "jiggles."), BB_SPEAK_CHANCE = 5, ) @@ -196,7 +196,7 @@ ) emotes = list( BB_EMOTE_SAY = list("YA-HONK!!!"), - BB_EMOTE_HEAR = list("honks", "squeaks"), + BB_EMOTE_HEAR = list("honks!", "squeaks!"), BB_SPEAK_CHANCE = 60, ) @@ -234,9 +234,9 @@ /obj/item/clothing/mask/gas/clown_hat, ) emotes = list( - BB_EMOTE_SAY = list("HONK", "Honk!", "HAUAUANK!!!", "GUUURRRRAAAHHH!!!"), - BB_EMOTE_HEAR = list("honks", "grunts"), - BB_EMOTE_SEE = list("sweats"), + BB_EMOTE_SAY = list("HONK!!", "Honk!", "HAUAUANK!!!", "GUUURRRRAAAHHH!!!"), + BB_EMOTE_HEAR = list("honks!", "grunts!"), + BB_EMOTE_SEE = list("sweats!"), BB_SPEAK_CHANCE = 5, ) @@ -265,8 +265,8 @@ /obj/item/clothing/mask/gas/clown_hat, ) emotes = list( - BB_EMOTE_SAY = list("HONK", "Honk!", "Bruh", "cheeaaaahhh?"), - BB_EMOTE_SEE = list("asserts his dominance", "emasculates everyone implicitly"), + BB_EMOTE_SAY = list("HONK!!", "Honk!", "Bruh.", "cheeaaaahhh?"), + BB_EMOTE_SEE = list("asserts his dominance!", "emasculates everyone implicitly!"), BB_SPEAK_CHANCE = 5, ) @@ -292,8 +292,8 @@ /obj/item/clothing/mask/gas/clown_hat, ) emotes = list( - BB_EMOTE_SAY = list("honk"), - BB_EMOTE_SEE = list("squirms", "writhes"), + BB_EMOTE_SAY = list("honk!"), + BB_EMOTE_SEE = list("squirms!", "writhes!"), ) /mob/living/basic/clown/clownhulk/honkmunculus/Initialize(mapload) @@ -333,9 +333,9 @@ /obj/item/clothing/mask/gas/clown_hat, ) emotes = list( - BB_EMOTE_SAY = list("HONK!!!", "The Honkmother is merciful, so I must act out her wrath.", "parce mihi ad beatus honkmother placet mihi ut peccata committere,", "DIE!!!"), - BB_EMOTE_HEAR = list("honks", "grunts"), - BB_EMOTE_SEE = list("sweats"), + BB_EMOTE_SAY = list("HONK!!!", "The Honkmother is merciful, so I must act out her wrath.", "Parce mihi ad beatus honkmother placet mihi ut peccata committere.", "DIE!!!"), + BB_EMOTE_HEAR = list("honks!", "grunts!"), + BB_EMOTE_SEE = list("sweats!"), BB_SPEAK_CHANCE = 5, ) @@ -370,15 +370,15 @@ /obj/item/clothing/mask/gas/clown_hat, ) emotes = list( - BB_EMOTE_SAY = list("aaaaaahhhhuuhhhuhhhaaaaa", "AAAaaauuuaaAAAaauuhhh", "huuuuuh... hhhhuuuooooonnnnkk", "HuaUAAAnKKKK"), - BB_EMOTE_SEE = list("squirms", "writhes", "pulsates", "froths", "oozes"), + BB_EMOTE_SAY = list("aaaaaahhhhuuhhhuhhhaaaaa...", "AAAaaauuuaaAAAaauuhhh!!", "huuuuuh... hhhhuuuooooonnnnkk...", "HuaUAAAnKKKK!!"), + BB_EMOTE_SEE = list("squirms!", "writhes!", "pulsates!", "froths!", "oozes!"), BB_SPEAK_CHANCE = 10, ) /mob/living/basic/clown/mutant/glutton name = "banana glutton" - desc = "Something that was once a clown" + desc = "Something that was once a clown." icon_state = "glutton" icon_living = "glutton" health = 200 @@ -401,8 +401,8 @@ /obj/effect/spawner/random/chance_for_freedom, ) emotes = list( - BB_EMOTE_SAY = list("hey, buddy", "HONK!!!", "H-h-h-H-HOOOOONK!!!!", "HONKHONKHONK!!!", "HEY, BUCKO, GET BACK HERE!!!", "HOOOOOOOONK!!!"), - BB_EMOTE_SEE = list("jiggles", "wobbles"), + BB_EMOTE_SAY = list("hey, buddy!", "HONK!!!", "H-h-h-H-HOOOOONK!!!!", "HONKHONKHONK!!!", "HEY, BUCKO, GET BACK HERE!!!", "HOOOOOOOONK!!!"), + BB_EMOTE_SEE = list("jiggles!", "wobbles!"), ) death_sound = 'sound/misc/sadtrombone.ogg' waddles = FALSE @@ -564,8 +564,8 @@ /obj/effect/spawner/random/peel_or_nana, ) emotes = list( - BB_EMOTE_SAY = list("HONK", "Honk!", "YA-HONK!!!"), - BB_EMOTE_SEE = list("bites into the banana", "plucks a banana off its head", "photosynthesizes"), + BB_EMOTE_SAY = list("HONK!!", "Honk!", "YA-HONK!!!"), + BB_EMOTE_SEE = list("bites into the banana!", "plucks a banana off its head!", "photosynthesizes!"), BB_EMOTE_SOUND = list('sound/items/bikehorn.ogg'), ) diff --git a/code/modules/mob/living/basic/cult/constructs/_construct.dm b/code/modules/mob/living/basic/cult/constructs/_construct.dm index 53ecd0710df..26e126e9c4c 100644 --- a/code/modules/mob/living/basic/cult/constructs/_construct.dm +++ b/code/modules/mob/living/basic/cult/constructs/_construct.dm @@ -49,18 +49,18 @@ var/smashes_walls = FALSE /// The different flavors of goop constructs can drop, depending on theme. var/static/list/remains_by_theme = list( - THEME_CULT = list(/obj/item/ectoplasm/construct), - THEME_HOLY = list(/obj/item/ectoplasm/angelic), - THEME_WIZARD = list(/obj/item/ectoplasm/mystic), - THEME_HERETIC = list(/obj/item/ectoplasm/construct), + THEME_CULT = /obj/item/ectoplasm/construct, + THEME_HOLY = /obj/item/ectoplasm/angelic, + THEME_WIZARD = /obj/item/ectoplasm/mystic, + THEME_HERETIC = /obj/item/ectoplasm/construct, ) /mob/living/basic/construct/Initialize(mapload) . = ..() throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) AddElement(/datum/element/simple_flying) - var/list/remains = string_list(remains_by_theme[theme]) - if(length(remains)) + var/remains = remains_by_theme[theme] + if(remains) AddElement(/datum/element/death_drops, remains) if(smashes_walls) AddElement(/datum/element/wall_tearer, allow_reinforced = FALSE) diff --git a/code/modules/mob/living/basic/cult/constructs/artificer.dm b/code/modules/mob/living/basic/cult/constructs/artificer.dm index 0e65e8ae5ef..f16ef6d35a1 100644 --- a/code/modules/mob/living/basic/cult/constructs/artificer.dm +++ b/code/modules/mob/living/basic/cult/constructs/artificer.dm @@ -30,14 +30,11 @@ can_repair = TRUE can_repair_self = TRUE smashes_walls = TRUE - ///The health HUD applied to this mob. - var/health_hud = DATA_HUD_MEDICAL_ADVANCED /mob/living/basic/construct/artificer/Initialize(mapload) . = ..() AddElement(/datum/element/ai_retaliate) - var/datum/atom_hud/datahud = GLOB.huds[health_hud] - datahud.show_to(src) + ADD_TRAIT(src, TRAIT_MEDICAL_HUD, INNATE_TRAIT) /// Hostile NPC version. Heals nearby constructs and cult structures, avoids targets that aren't extremely hurt. /mob/living/basic/construct/artificer/hostile diff --git a/code/modules/mob/living/basic/cult/shade.dm b/code/modules/mob/living/basic/cult/shade.dm index d122202aab7..41db06e178d 100644 --- a/code/modules/mob/living/basic/cult/shade.dm +++ b/code/modules/mob/living/basic/cult/shade.dm @@ -33,9 +33,10 @@ var/theme = THEME_CULT /// The different flavors of goop shades can drop, depending on theme. var/static/list/remains_by_theme = list( - THEME_CULT = list(/obj/item/ectoplasm/construct), - THEME_HOLY = list(/obj/item/ectoplasm/angelic), - THEME_WIZARD = list(/obj/item/ectoplasm/mystic), + THEME_CULT = /obj/item/ectoplasm/construct, + THEME_HOLY = /obj/item/ectoplasm/angelic, + THEME_WIZARD = /obj/item/ectoplasm/mystic, + THEME_HERETIC = /obj/item/ectoplasm/construct, ) /mob/living/basic/shade/Initialize(mapload) @@ -45,8 +46,8 @@ if(isnull(theme)) return icon_state = "shade_[theme]" - var/list/remains = string_list(remains_by_theme[theme]) - if(length(remains)) + var/remains = remains_by_theme[theme] + if(remains) AddElement(/datum/element/death_drops, remains) /mob/living/basic/shade/update_icon_state() diff --git a/code/modules/mob/living/basic/festivus_pole.dm b/code/modules/mob/living/basic/festivus_pole.dm index 8c4e74332f8..0cd745d156b 100644 --- a/code/modules/mob/living/basic/festivus_pole.dm +++ b/code/modules/mob/living/basic/festivus_pole.dm @@ -45,8 +45,7 @@ /mob/living/basic/festivus/Initialize(mapload) . = ..() AddComponent(/datum/component/seethrough_mob) - var/static/list/death_loot = list(/obj/item/stack/rods) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/item/stack/rods) AddComponent(/datum/component/aggro_emote, emote_list = string_list(list("growls")), emote_chance = 20) grant_actions_by_list(list(/datum/action/cooldown/mob_cooldown/charge_apc = BB_FESTIVE_APC)) diff --git a/code/modules/mob/living/basic/guardian/guardian.dm b/code/modules/mob/living/basic/guardian/guardian.dm index bcd8751441c..9ea6cf12a35 100644 --- a/code/modules/mob/living/basic/guardian/guardian.dm +++ b/code/modules/mob/living/basic/guardian/guardian.dm @@ -89,8 +89,7 @@ GLOB.parasites += src src.theme = theme theme?.apply(src) - var/list/death_loot = string_list(list(/obj/item/stack/sheet/mineral/wood)) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/effect/temp_visual/guardian/phase/out) AddElement(/datum/element/simple_flying) AddComponent(/datum/component/basic_inhands) // life link diff --git a/code/modules/mob/living/basic/guardian/guardian_types/support.dm b/code/modules/mob/living/basic/guardian/guardian_types/support.dm index 46b69652cf5..3e05b403fbc 100644 --- a/code/modules/mob/living/basic/guardian/guardian_types/support.dm +++ b/code/modules/mob/living/basic/guardian/guardian_types/support.dm @@ -27,8 +27,7 @@ after_healed = CALLBACK(src, PROC_REF(after_healed)),\ ) - var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medsensor.show_to(src) + ADD_TRAIT(src, TRAIT_MEDICAL_HUD, INNATE_TRAIT) var/datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon/teleport = new(src) teleport.Grant(src) diff --git a/code/modules/mob/living/basic/heretic/_heretic_summon.dm b/code/modules/mob/living/basic/heretic/_heretic_summon.dm index 4a5c8882486..960965ec949 100644 --- a/code/modules/mob/living/basic/heretic/_heretic_summon.dm +++ b/code/modules/mob/living/basic/heretic/_heretic_summon.dm @@ -34,5 +34,5 @@ /mob/living/basic/heretic_summon/Initialize(mapload) . = ..() - AddElement(/datum/element/death_drops, string_list(list(/obj/effect/gibspawner/generic))) + AddElement(/datum/element/death_drops, /obj/effect/gibspawner/generic) ADD_TRAIT(src, TRAIT_HERETIC_SUMMON, INNATE_TRAIT) diff --git a/code/modules/mob/living/basic/heretic/star_gazer.dm b/code/modules/mob/living/basic/heretic/star_gazer.dm index 69db11ebdc5..ec28da95352 100644 --- a/code/modules/mob/living/basic/heretic/star_gazer.dm +++ b/code/modules/mob/living/basic/heretic/star_gazer.dm @@ -40,8 +40,7 @@ /mob/living/basic/heretic_summon/star_gazer/Initialize(mapload) . = ..() - var/static/list/death_loot = list(/obj/effect/temp_visual/cosmic_domain) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/effect/temp_visual/cosmic_domain) AddElement(/datum/element/death_explosion, 3, 6, 12) AddElement(/datum/element/footstep, FOOTSTEP_MOB_SHOE) AddElement(/datum/element/wall_smasher, ENVIRONMENT_SMASH_RWALLS) diff --git a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm index fbe205ba074..d6082793103 100644 --- a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm +++ b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm @@ -29,9 +29,8 @@ /mob/living/basic/mining/hivelord/Initialize(mapload) . = ..() - var/static/list/death_loot = list(/obj/item/organ/monster_core/regenerative_core) AddElement(/datum/element/relay_attackers) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/item/organ/monster_core/regenerative_core) AddComponent(/datum/component/clickbox, icon_state = "hivelord", max_scale = INFINITY, dead_state = "hivelord_dead") // They writhe so much. AddComponent(/datum/component/appearance_on_aggro, aggro_state = "hivelord_alert") spawn_brood = new(src) diff --git a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm index 10dab01c8c7..576cc24cf82 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm @@ -271,7 +271,7 @@ GLOBAL_LIST_EMPTY(raptor_population) /mob/living/basic/raptor/green/Initialize(mapload) . = ..() - AddElement(/datum/element/proficient_miner) + AddComponent(/datum/component/proficient_miner) /mob/living/basic/raptor/white name = "white raptor" diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm index eb63db2cd00..33271e7dec8 100644 --- a/code/modules/mob/living/basic/minebots/minebot.dm +++ b/code/modules/mob/living/basic/minebots/minebot.dm @@ -66,8 +66,7 @@ neutral_overlay = mutable_appearance(icon = 'icons/mob/silicon/aibots.dmi', icon_state = "mining_drone_grey") combat_overlay = mutable_appearance(icon = 'icons/mob/silicon/aibots.dmi', icon_state = "mining_drone_offense_grey") AddComponent(/datum/component/obeys_commands, pet_commands) - var/static/list/death_drops = list(/obj/effect/decal/cleanable/blood/gibs/robot_debris/old) - AddElement(/datum/element/death_drops, death_drops) + AddElement(/datum/element/death_drops, /obj/effect/decal/cleanable/blood/gibs/robot_debris/old) add_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE, TRAIT_MINING_AOE_IMMUNE), INNATE_TRAIT) AddElement(/datum/element/footstep, FOOTSTEP_OBJ_ROBOT, 1, -6, sound_vary = TRUE) diff --git a/code/modules/mob/living/basic/minebots/minebot_abilities.dm b/code/modules/mob/living/basic/minebots/minebot_abilities.dm index bc778a7bfe7..6d6229d7e53 100644 --- a/code/modules/mob/living/basic/minebots/minebot_abilities.dm +++ b/code/modules/mob/living/basic/minebots/minebot_abilities.dm @@ -131,7 +131,7 @@ /obj/effect/temp_visual/rising_rocket/Initialize(mapload) . = ..() playsound(src, 'sound/items/weapons/minebot_rocket.ogg', 100, FALSE) - animate(src, pixel_y = base_pixel_y + 500, time = duration, easing = EASE_IN) + animate(src, pixel_y = base_pixel_y + 500, time = duration, easing = QUAD_EASING|EASE_IN) /obj/effect/temp_visual/falling_rocket name = "Missile" diff --git a/code/modules/mob/living/basic/pets/gondolas/gondola.dm b/code/modules/mob/living/basic/pets/gondolas/gondola.dm index 535afa32cc1..8e235dc9688 100644 --- a/code/modules/mob/living/basic/pets/gondolas/gondola.dm +++ b/code/modules/mob/living/basic/pets/gondolas/gondola.dm @@ -27,7 +27,7 @@ //Gondolas aren't affected by cold. unsuitable_atmos_damage = 0 - basic_mob_flags = DEL_ON_DEATH + basic_mob_flags = SENDS_DEATH_MOODLETS|DEL_ON_DEATH ///List of loot drops on death, since it deletes itself on death (like trooper). var/list/loot = list( diff --git a/code/modules/mob/living/basic/pets/pet.dm b/code/modules/mob/living/basic/pets/pet.dm index 64896a3f2ab..e4882a67ff7 100644 --- a/code/modules/mob/living/basic/pets/pet.dm +++ b/code/modules/mob/living/basic/pets/pet.dm @@ -3,12 +3,6 @@ mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST blood_volume = BLOOD_VOLUME_NORMAL + basic_mob_flags = SENDS_DEATH_MOODLETS /// if the mob is protected from being renamed by collars. var/unique_pet = FALSE - - -/mob/living/basic/pet/death(gibbed) - . = ..() - add_memory_in_range(src, 7, /datum/memory/pet_died, deuteragonist = src) //Protagonist is the person memorizing it - - diff --git a/code/modules/mob/living/basic/revolutionary.dm b/code/modules/mob/living/basic/revolutionary.dm index 76582540218..031552e3aa0 100644 --- a/code/modules/mob/living/basic/revolutionary.dm +++ b/code/modules/mob/living/basic/revolutionary.dm @@ -86,8 +86,7 @@ attack_verb_simple = possible_weapons[weapon_of_choice] attack_verb_continuous = "[attack_verb_simple]s" - var/static/list/death_loot = list(/obj/effect/mob_spawn/corpse/human/revolutionary) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/effect/mob_spawn/corpse/human/revolutionary) apply_dynamic_human_appearance(src, mob_spawn_path = /obj/effect/mob_spawn/corpse/human/revolutionary, l_hand = weapon_of_choice) gender = pick(MALE, FEMALE, PLURAL) diff --git a/code/modules/mob/living/basic/ruin_defender/blob_of_flesh.dm b/code/modules/mob/living/basic/ruin_defender/blob_of_flesh.dm index 8972b13860d..b2fcb510f31 100644 --- a/code/modules/mob/living/basic/ruin_defender/blob_of_flesh.dm +++ b/code/modules/mob/living/basic/ruin_defender/blob_of_flesh.dm @@ -40,7 +40,7 @@ . = ..() grant_actions_by_list(list(/datum/action/consume/fleshblob)) ADD_TRAIT(src, TRAIT_STRONG_GRABBER, INNATE_TRAIT) - AddElement(/datum/element/death_drops, string_list(list(/obj/effect/gibspawner/generic))) + AddElement(/datum/element/death_drops, /obj/effect/gibspawner/generic) AddComponent(\ /datum/component/blood_walk, \ blood_type = /obj/effect/decal/cleanable/blood/trail_holder, \ diff --git a/code/modules/mob/living/basic/ruin_defender/cybersun_aicore.dm b/code/modules/mob/living/basic/ruin_defender/cybersun_aicore.dm index 4e6f19cdf72..c13c2896a30 100644 --- a/code/modules/mob/living/basic/ruin_defender/cybersun_aicore.dm +++ b/code/modules/mob/living/basic/ruin_defender/cybersun_aicore.dm @@ -38,8 +38,7 @@ /mob/living/basic/cybersun_ai_core/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_IMMOBILIZED, INNATE_TRAIT) - var/static/list/death_loot = list(/obj/effect/temp_visual/cybersun_ai_core_death) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/effect/temp_visual/cybersun_ai_core_death) AddElement(/datum/element/relay_attackers) var/static/list/innate_actions = list( LIGHTNING_ABILITY_TYPEPATH = BB_CYBERSUN_CORE_LIGHTNING, diff --git a/code/modules/mob/living/basic/ruin_defender/dark_wizard.dm b/code/modules/mob/living/basic/ruin_defender/dark_wizard.dm index 45c6a229a7c..abe0004de24 100644 --- a/code/modules/mob/living/basic/ruin_defender/dark_wizard.dm +++ b/code/modules/mob/living/basic/ruin_defender/dark_wizard.dm @@ -29,12 +29,9 @@ /mob/living/basic/dark_wizard/Initialize(mapload) . = ..() - apply_dynamic_human_appearance(src, mob_spawn_path = /obj/effect/mob_spawn/corpse/human/wizard/dark, r_hand = /obj/item/staff) add_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), INNATE_TRAIT) - - var/corpse = string_list(list(/obj/effect/decal/remains/human)) - AddElement(/datum/element/death_drops, corpse) + AddElement(/datum/element/death_drops, /obj/effect/decal/remains/human) AddElement(/datum/element/footstep, FOOTSTEP_MOB_SHOE) AddElement(/datum/element/ai_retaliate) diff --git a/code/modules/mob/living/basic/ruin_defender/flesh.dm b/code/modules/mob/living/basic/ruin_defender/flesh.dm index 0f4f0444e3e..610db57f1c0 100644 --- a/code/modules/mob/living/basic/ruin_defender/flesh.dm +++ b/code/modules/mob/living/basic/ruin_defender/flesh.dm @@ -44,7 +44,7 @@ /mob/living/basic/living_limb_flesh/Initialize(mapload, obj/item/bodypart/limb) . = ..() AddComponent(/datum/component/swarming, max_x = 8, max_y = 8) - AddElement(/datum/element/death_drops, string_list(list(/obj/effect/gibspawner/generic))) + AddElement(/datum/element/death_drops, /obj/effect/gibspawner/generic) if(!isnull(limb)) register_to_limb(limb) diff --git a/code/modules/mob/living/basic/ruin_defender/mad_piano.dm b/code/modules/mob/living/basic/ruin_defender/mad_piano.dm index 6ffa90c3912..25d41dd91c8 100644 --- a/code/modules/mob/living/basic/ruin_defender/mad_piano.dm +++ b/code/modules/mob/living/basic/ruin_defender/mad_piano.dm @@ -34,16 +34,13 @@ COOLDOWN_DECLARE(tantrum_time) //length of aggro state var/tantrum_time_duration = 3.5 SECONDS - var/list/remains = list(/obj/effect/gibspawner/robot) /mob/living/basic/mad_piano/Initialize(mapload) . = ..() - if(length(remains)) - remains = string_list(remains) - AddElement(/datum/element/death_drops, remains) var/static/list/connections = list(COMSIG_ATOM_ENTERED = PROC_REF(aggro_tantrum)) AddComponent(/datum/component/connect_range, tracked = src, connections = connections, range = 1, works_in_containers = FALSE) AddElementTrait(TRAIT_WADDLING, INNATE_TRAIT, /datum/element/waddling) + AddElement(/datum/element/death_drops, /obj/effect/gibspawner/robot) ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_GENERIC) ADD_TRAIT(src, TRAIT_PACIFISM, TRAIT_GENERIC) name_calm = name diff --git a/code/modules/mob/living/basic/ruin_defender/stickman.dm b/code/modules/mob/living/basic/ruin_defender/stickman.dm index df39d77fbd3..24be8389a5b 100644 --- a/code/modules/mob/living/basic/ruin_defender/stickman.dm +++ b/code/modules/mob/living/basic/ruin_defender/stickman.dm @@ -72,8 +72,7 @@ /mob/living/basic/stickman/ranged/Initialize(mapload) . = ..() - var/static/list/stickman_drops = list(/obj/item/gun/ballistic/automatic/pistol/stickman) - AddElement(/datum/element/death_drops, stickman_drops) + AddElement(/datum/element/death_drops, /obj/item/gun/ballistic/automatic/pistol/stickman) AddComponent(/datum/component/ranged_attacks, casing_type = /obj/item/ammo_casing/c9mm, projectile_sound = 'sound/misc/bang.ogg', cooldown_time = 5 SECONDS) /datum/ai_controller/basic_controller/stickman/ranged diff --git a/code/modules/mob/living/basic/ruin_defender/zombie.dm b/code/modules/mob/living/basic/ruin_defender/zombie.dm index 37e1f972d9e..41376b3d7f9 100644 --- a/code/modules/mob/living/basic/ruin_defender/zombie.dm +++ b/code/modules/mob/living/basic/ruin_defender/zombie.dm @@ -31,7 +31,7 @@ /mob/living/basic/zombie/Initialize(mapload) . = ..() apply_dynamic_human_appearance(src, outfit, /datum/species/zombie, bloody_slots = ITEM_SLOT_OCLOTHING) - AddElement(/datum/element/death_drops, string_list(list(/obj/effect/decal/remains/human))) + AddElement(/datum/element/death_drops, /obj/effect/decal/remains/human) /mob/living/basic/zombie/melee_attack(atom/target, list/modifiers, ignore_cooldown) . = ..() 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 ce6a582d4d6..d2ab4e691b5 100644 --- a/code/modules/mob/living/basic/space_fauna/garden_gnome.dm +++ b/code/modules/mob/living/basic/space_fauna/garden_gnome.dm @@ -104,7 +104,7 @@ var/datum/callback/retaliate_callback = CALLBACK(src, PROC_REF(ai_retaliate_behaviour)) chosen_hat_colour = pick_weight(gnome_hat_colours) apply_colour() - AddElement(/datum/element/death_drops, string_list(list(/obj/effect/gibspawner/generic))) + AddElement(/datum/element/death_drops, /obj/effect/gibspawner/generic) AddElement(/datum/element/footstep, FOOTSTEP_MOB_SHOE) AddComponent(/datum/component/ai_retaliate_advanced, retaliate_callback) AddComponent(/datum/component/swarming) diff --git a/code/modules/mob/living/basic/space_fauna/ghost.dm b/code/modules/mob/living/basic/space_fauna/ghost.dm index 3e1dd4b9df5..8d417ccae7c 100644 --- a/code/modules/mob/living/basic/space_fauna/ghost.dm +++ b/code/modules/mob/living/basic/space_fauna/ghost.dm @@ -46,8 +46,7 @@ /mob/living/basic/ghost/Initialize(mapload) . = ..() - var/static/list/death_loot = list(/obj/item/ectoplasm) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/item/ectoplasm) AddElement(/datum/element/simple_flying) AddElement(/datum/element/ai_retaliate) 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 7c21e14fd2b..925b5eb271e 100644 --- a/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm +++ b/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm @@ -41,8 +41,7 @@ /mob/living/basic/hivebot/Initialize(mapload) . = ..() - var/static/list/death_loot = list(/obj/effect/decal/cleanable/blood/gibs/robot_debris) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/effect/decal/cleanable/blood/gibs/robot_debris) AddComponent(/datum/component/appearance_on_aggro, overlay_icon = icon, overlay_state = "[initial(icon_state)]_attack") if(!ranged_attacker) return diff --git a/code/modules/mob/living/basic/space_fauna/lightgeist.dm b/code/modules/mob/living/basic/space_fauna/lightgeist.dm index 8fe00b40484..1237df72584 100644 --- a/code/modules/mob/living/basic/space_fauna/lightgeist.dm +++ b/code/modules/mob/living/basic/space_fauna/lightgeist.dm @@ -48,13 +48,11 @@ /mob/living/basic/lightgeist/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) + ADD_TRAIT(src, TRAIT_MEDICAL_HUD, INNATE_TRAIT) remove_verb(src, /mob/living/verb/pulled) remove_verb(src, /mob/verb/me_verb) - var/datum/atom_hud/medical_sensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medical_sensor.show_to(src) - AddElement(/datum/element/simple_flying) AddComponent(\ /datum/component/healing_touch,\ 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 e5b988e13d1..4314a099554 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 @@ -36,8 +36,7 @@ /mob/living/basic/meteor_heart/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_IMMOBILIZED, INNATE_TRAIT) - var/static/list/death_loot = list(/obj/effect/temp_visual/meteor_heart_death) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/effect/temp_visual/meteor_heart_death) AddElement(/datum/element/relay_attackers) var/static/list/innate_actions = list( diff --git a/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm b/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm index d958da623a7..c2103f2397a 100644 --- a/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm +++ b/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm @@ -101,5 +101,4 @@ /mob/living/basic/migo/hatsune/Initialize(mapload) . = ..() - var/static/list/death_loot = list(/obj/item/instrument/piano_synth) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/item/instrument/piano_synth) diff --git a/code/modules/mob/living/basic/space_fauna/paper_wizard/paper_wizard.dm b/code/modules/mob/living/basic/space_fauna/paper_wizard/paper_wizard.dm index 070c6d119df..d94b2c71292 100644 --- a/code/modules/mob/living/basic/space_fauna/paper_wizard/paper_wizard.dm +++ b/code/modules/mob/living/basic/space_fauna/paper_wizard/paper_wizard.dm @@ -26,9 +26,6 @@ var/datum/action/cooldown/spell/conjure/wizard_summon_minions/summon ///spell to summon clones var/datum/action/cooldown/spell/pointed/wizard_mimic/mimic - ///the loot we will drop - var/static/list/dropped_loot = list(/obj/effect/temp_visual/paperwiz_dying) - /mob/living/basic/paper_wizard/Initialize(mapload) . = ..() @@ -46,7 +43,7 @@ grant_actions_by_list(innate_actions) /mob/living/basic/paper_wizard/proc/grant_loot() - AddElement(/datum/element/death_drops, dropped_loot) + AddElement(/datum/element/death_drops, /obj/effect/temp_visual/paperwiz_dying) /datum/ai_controller/basic_controller/paper_wizard blackboard = list( diff --git a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm index 0f2be5a8ac1..5ef69e41242 100644 --- a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm +++ b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm @@ -216,7 +216,7 @@ * * atom/lean_target - the target we try to add the spit to */ /mob/living/basic/regal_rat/proc/poison_target(atom/target) - if(isnull(target.reagents) || !target.is_injectable(src, allowmobs = TRUE)) + if(isnull(target.reagents) || !target.is_injectable(src, /*allowmobs = */TRUE)) return FALSE visible_message( 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 68629154ab6..6d0f3771a82 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 @@ -169,8 +169,6 @@ web_speed = 0.25 web_type = /datum/action/cooldown/mob_cooldown/lay_web/sealer menu_description = "Avarage speed spider able to heal other spiders and itself together with a fast web laying capability, has low damage and health." - ///The health HUD applied to the mob. - var/health_hud = DATA_HUD_MEDICAL_ADVANCED ///Used in the caves away mission. /mob/living/basic/spider/giant/nurse/away_caves @@ -179,8 +177,7 @@ /mob/living/basic/spider/giant/nurse/Initialize(mapload) . = ..() - var/datum/atom_hud/datahud = GLOB.huds[health_hud] - datahud.show_to(src) + ADD_TRAIT(src, TRAIT_MEDICAL_HUD, INNATE_TRAIT) AddComponent(/datum/component/healing_touch,\ heal_brute = 10,\ diff --git a/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.dm b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.dm index e245f3adcc9..a3f0fc1c64f 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.dm @@ -92,13 +92,10 @@ speed = 0.7 web_speed = 0.5 web_type = /datum/action/cooldown/mob_cooldown/lay_web/sealer - ///The health HUD applied to the mob. - var/health_hud = DATA_HUD_MEDICAL_ADVANCED /mob/living/basic/spider/growing/young/nurse/Initialize(mapload) . = ..() - var/datum/atom_hud/datahud = GLOB.huds[health_hud] - datahud.show_to(src) + ADD_TRAIT(src, TRAIT_MEDICAL_HUD, INNATE_TRAIT) AddComponent(/datum/component/healing_touch,\ heal_brute = 15,\ 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 35eb81872ba..c1dca8b23e7 100644 --- a/code/modules/mob/living/basic/space_fauna/statue/statue.dm +++ b/code/modules/mob/living/basic/space_fauna/statue/statue.dm @@ -156,5 +156,4 @@ /mob/living/basic/statue/frosty/Initialize(mapload) . = ..() - var/static/list/death_loot = list(/obj/item/dnainjector/geladikinesis) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/item/dnainjector/geladikinesis) 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 bbe27fed003..dd966839bbe 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 @@ -51,8 +51,7 @@ /mob/living/basic/wumborian_fugu/Initialize(mapload) . = ..() AddComponent(/datum/component/seethrough_mob) - var/static/list/death_loot = list(/obj/item/fugu_gland) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/item/fugu_gland) add_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE), ROUNDSTART_TRAIT) expand = new(src) expand.Grant(src) diff --git a/code/modules/mob/living/basic/tree.dm b/code/modules/mob/living/basic/tree.dm index dbbc11a4bcc..0ea6b25b3ab 100644 --- a/code/modules/mob/living/basic/tree.dm +++ b/code/modules/mob/living/basic/tree.dm @@ -56,8 +56,7 @@ . = ..() AddComponent(/datum/component/seethrough_mob) AddElement(/datum/element/swabable, CELL_LINE_TABLE_PINE, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) - var/list/death_loot = string_list(list(/obj/item/stack/sheet/mineral/wood)) - AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/death_drops, /obj/item/stack/sheet/mineral/wood) AddComponent(/datum/component/aggro_emote, emote_list = string_list(list("growls")), emote_chance = 20) /mob/living/basic/tree/Life(seconds_per_tick = SSMOBS_DT, times_fired) diff --git a/code/modules/mob/living/basic/vermin/cockroach/cockroach.dm b/code/modules/mob/living/basic/vermin/cockroach/cockroach.dm index a6bd1cf6d8f..6a1c3f703df 100644 --- a/code/modules/mob/living/basic/vermin/cockroach/cockroach.dm +++ b/code/modules/mob/living/basic/vermin/cockroach/cockroach.dm @@ -38,8 +38,6 @@ var/minion_path = /mob/living/basic/cockroach/sewer /// Command list given to minionised cockroaches var/list/minion_commands - /// Cockroach death drops - var/static/list/death_drops = list(/obj/effect/decal/cleanable/insectguts) /mob/living/basic/cockroach/Initialize(mapload) var/turf/our_turf = get_turf(src) @@ -50,7 +48,7 @@ minimum_survivable_temperature = 140 // 40kelvin below icebox temp add_atom_colour("#66ccff", FIXED_COLOUR_PRIORITY) . = ..() - AddElement(/datum/element/death_drops, death_drops) + AddElement(/datum/element/death_drops, /obj/effect/decal/cleanable/insectguts) AddElement(/datum/element/swabable, cockroach_cell_line, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 7) AddComponent( \ /datum/component/squashable, \ @@ -99,12 +97,10 @@ icon_dead = "bloodroach_no_animation" health = 3 maxHealth = 3 // Wow!! - var/static/list/blood_drops = list(/obj/effect/decal/cleanable/blood/gibs/old) /mob/living/basic/cockroach/bloodroach/Initialize(mapload) . = ..() - // Overriding the static drops of parent - AddElement(/datum/element/death_drops, blood_drops) + AddElement(/datum/element/death_drops, /obj/effect/decal/cleanable/blood/gibs/old) /mob/living/basic/cockroach/bloodroach/death(gibbed) if(HAS_TRAIT(src, TRAIT_BUGKILLER_DEATH)) diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index 5cda9b845dd..77611210d8c 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -4,8 +4,6 @@ losebreath = 0 breathing_loop.stop() //This would've happened eventually but it's nice to make it stop immediatelly in this case - if(!gibbed) - add_memory_in_range(src, 7, /datum/memory/witnessed_death, protagonist = src) reagents.end_metabolization(src) . = ..() @@ -18,7 +16,6 @@ BT.on_death() /mob/living/carbon/gib(drop_bitflags=NONE) - add_memory_in_range(src, 7, /datum/memory/witness_gib, protagonist = src) if(drop_bitflags & DROP_ITEMS) for(var/obj/item/W in src) if(dropItemToGround(W)) diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index 1cb33d3442b..49e78aaa719 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -180,7 +180,7 @@ if(appears_dead) bleed_text += ", but it has pooled and is not flowing." else - if(HAS_TRAIT(src, TRAIT_BLOODY_MESS)) + if(HAS_TRAIT(src, TRAIT_BLOOD_FOUNTAIN)) bleed_text += " incredibly quickly" bleed_text += "!" @@ -230,7 +230,7 @@ living_user.add_mood_event("encountered_evil", /datum/mood_event/encountered_evil) living_user.set_jitter_if_lower(15 SECONDS) - if(HAS_TRAIT(user, TRAIT_SPIRITUAL) && mind?.holy_role) + if(HAS_TRAIT(user, TRAIT_SPIRITUAL) && mind?.holy_role && user != src) . += "[t_He] [t_has] a holy aura about [t_him]." living_user.add_mood_event("religious_comfort", /datum/mood_event/religiously_comforted) diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index 04e679958e9..4829759c91f 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -910,8 +910,22 @@ GLOBAL_LIST_EMPTY(features_by_species) //Someone in a grapple is much more vulnerable to being harmed by punches. var/grappled = (target.pulledby && target.pulledby.grab_state >= GRAB_AGGRESSIVE) - var/damage = rand(attacking_bodypart.unarmed_damage_low, attacking_bodypart.unarmed_damage_high) + // Our lower and upper unarmed damage values. Damage is rolled between these two values. + var/lower_unarmed_damage = attacking_bodypart.unarmed_damage_low + var/upper_unarmed_damage = attacking_bodypart.unarmed_damage_high + + // The presence of TRAIT_STRENGTH increases our upper unarmed damage. This is a damage cap increase. + upper_unarmed_damage += HAS_TRAIT(user, TRAIT_STRENGTH) ? 2 : 0 + + // Out athletics skill is used to set our potential base damage roll. It won't increase our potential damage roll, but will make our unarmed attack more consistent. + // For a normal human arm, this would cap at 10, and for a normal human leg, this would go up to 14. + lower_unarmed_damage = min(lower_unarmed_damage + (user.mind?.get_skill_level(/datum/skill/athletics) || 0), upper_unarmed_damage) + + // The actual damage roll. May still be augmented by further factors. + var/damage = rand(lower_unarmed_damage, upper_unarmed_damage) + // Limb accuracy is used to determine miss probabilities (higher the value, the less likely you are to miss), armor penetration (if entitled) and the possible result from a stagger combo hit. var/limb_accuracy = attacking_bodypart.unarmed_effectiveness + // Limb sharpness determines the type of wounds this unarmed strike could possibly roll. By default, most limbs are blunt and have no sharpness. var/limb_sharpness = attacking_bodypart.unarmed_sharpness if(grappled) @@ -950,7 +964,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/bodypart/affecting = target.get_bodypart(hit_zone) var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases - if(attacking_bodypart.unarmed_damage_low) + if(lower_unarmed_damage) if((target.body_position == LYING_DOWN) || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER) || staggered || user_drunkenness && HAS_TRAIT(user, TRAIT_DRUNKEN_BRAWLER)) //kicks and attacks against staggered targets never miss (provided your species deals more than 0 damage). Drunken brawlers while drunk also don't miss miss_chance = 0 else @@ -1035,8 +1049,8 @@ GLOBAL_LIST_EMPTY(features_by_species) /// Handles the stagger combo effect of our punch. Follows the same logic as the above proc, target is our owner, user is our attacker. /datum/species/proc/stagger_combo(mob/living/carbon/human/user, mob/living/carbon/human/target, atk_verb = "hit", limb_accuracy = 0, armor_block = 0) - // Randomly determines the effects of our punch. Limb accuracy is a bonus, armor block is a defense - var/roll_them_bones = rand(-20, 20) + limb_accuracy - armor_block + // Randomly determines the effects of our punch. Limb accuracy is a bonus, armor block is a defense, attacker athletics provides a minor to significant bonus. + var/roll_them_bones = rand(-20, 20) + limb_accuracy - armor_block + ((user.mind?.get_skill_modifier(/datum/skill/athletics, SKILL_RANDS_MODIFIER) / 2) || 0) switch(roll_them_bones) if (-INFINITY to 0) //Mostly a gimmie, this one just keeps them staggered briefly diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1774312ed4d..230737bbfbb 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -34,14 +34,9 @@ ///Get all the clothing on a specific body part /mob/living/carbon/human/proc/get_clothing_on_part(obj/item/bodypart/def_zone) var/list/covering_part = list() - var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, back, gloves, shoes, belt, s_store, glasses, ears, wear_id, wear_neck) //Everything but pockets. Pockets are l_store and r_store. (if pockets were allowed, putting something armored, gloves or hats for example, would double up on the armor) - for(var/bp in body_parts) - if(!bp) - continue - if(bp && istype(bp , /obj/item/clothing)) - var/obj/item/clothing/C = bp - if(C.body_parts_covered & def_zone.body_part) - covering_part += C + for(var/obj/item/clothing/equipped in get_equipped_items()) + if(equipped.body_parts_covered & def_zone.body_part) + covering_part += equipped return covering_part /mob/living/carbon/human/bullet_act(obj/projectile/bullet, def_zone, piercing_hit = FALSE) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 5a9003ca44b..21ce842467a 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -305,6 +305,9 @@ for(var/datum/quirk/original_quircks as anything in quirks) clone.add_quirk(original_quircks.type, override_client = client, announce = FALSE) + for(var/personality_type in personalities) + clone.add_personality(personality_type) + clone.updateappearance(mutcolor_update = TRUE, mutations_overlay_update = TRUE) return clone diff --git a/code/modules/mob/living/carbon/human/human_stripping.dm b/code/modules/mob/living/carbon/human/human_stripping.dm index a8453712937..6b94c681bf1 100644 --- a/code/modules/mob/living/carbon/human/human_stripping.dm +++ b/code/modules/mob/living/carbon/human/human_stripping.dm @@ -55,6 +55,8 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( actions += "adjust_sensor" if(jumpsuit.can_adjust) actions += "adjust_jumpsuit" + if(length(jumpsuit.attached_accessories)) + actions += "strip_accessory" return actions @@ -70,6 +72,8 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( do_adjust_jumpsuit(source, user, jumpsuit) if("adjust_sensor") do_adjust_sensor(source, user, jumpsuit) + if("strip_accessory") + do_strip_accessory(source, user, jumpsuit) else stack_trace("Unknown action key: [action_key] for [type]") @@ -114,15 +118,43 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( return to_chat(source, span_notice("[user] is trying to adjust your [jumpsuit.name]'s sensor.")) - if(!do_after(user, jumpsuit.strip_delay * 0.5, source)) // takes the same amount of time as adjusting it + if(!do_after(user, jumpsuit.strip_delay * 0.5, source) || !jumpsuit.set_sensor_mode(new_mode)) // takes the same amount of time as adjusting it source.balloon_alert(user, "failed!") return source.balloon_alert(user, "changed sensors") - jumpsuit.sensor_mode = new_mode to_chat(source, span_notice("[user] successfully adjusted your [jumpsuit.name]'s sensor.")) - if(ishuman(source)) - var/mob/living/carbon/human/humano = source - humano.update_suit_sensors() + +/datum/strippable_item/mob_item_slot/jumpsuit/proc/do_strip_accessory(atom/source, mob/user, obj/item/clothing/under/jumpsuit) + var/list/accessory_choices = list() + for(var/obj/item/clothing/accessory/jumpsuit_accessory as anything in jumpsuit.attached_accessories) + if(!istype(jumpsuit_accessory)) + continue + accessory_choices[jumpsuit_accessory.name] += jumpsuit_accessory + + var/chosen_accessory_name = tgui_input_list(user, "Select which accessory to strip", "Select Accessory", accessory_choices) + var/obj/item/clothing/accessory/chosen_accessory = accessory_choices[chosen_accessory_name] + if(isnull(chosen_accessory)) + return + + if(!user.Adjacent(source)) + source.balloon_alert(user, "can't reach!") + return + + to_chat(source, span_notice("[user] is trying to take [chosen_accessory] off of [jumpsuit]!")) + if(!do_after(user, chosen_accessory.strip_delay, source)) + source.balloon_alert(user, "failed!") + return + + to_chat(source, span_notice("[user] has taken [chosen_accessory] off of [jumpsuit].")) + jumpsuit.remove_accessory(chosen_accessory) + jumpsuit.update_appearance() + chosen_accessory.forceMove(jumpsuit.drop_location()) + + if(!ismob(source)) + return + + var/mob/mob_source = source + mob_source.update_worn_undersuit() /datum/strippable_item/mob_item_slot/suit key = STRIPPABLE_ITEM_SUIT diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 85ac5c3c0f6..57590ce9602 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -192,7 +192,6 @@ if(w_uniform) return w_uniform = equipping - update_suit_sensors() update_worn_undersuit() if(ITEM_SLOT_LPOCKET) l_store = equipping @@ -234,7 +233,6 @@ update_worn_oversuit() else if(item_dropping == w_uniform) w_uniform = null - update_suit_sensors() if(!QDELETED(src)) update_worn_undersuit() if(invdrop) 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 77ba4b89d6d..7178d569f01 100644 --- a/code/modules/mob/living/carbon/human/species_types/abductors.dm +++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm @@ -3,6 +3,7 @@ id = SPECIES_ABDUCTOR sexes = FALSE inherent_traits = list( + TRAIT_ABDUCTOR_HUD, TRAIT_CHUNKYFINGERS_IGNORE_BATON, TRAIT_NEVER_WOUNDED, TRAIT_NOBLOOD, @@ -32,16 +33,6 @@ return "Abductors do not need to breathe, eat, do not have blood, a heart, stomach, or lungs and cannot be infected by human viruses. \ Their hardy physique prevents their skin from being wounded or dismembered, but their chunky tridactyl hands make it hard to operate human equipment." -/datum/species/abductor/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load, regenerate_icons) - . = ..() - var/datum/atom_hud/abductor_hud = GLOB.huds[DATA_HUD_ABDUCTOR] - abductor_hud.show_to(C) - -/datum/species/abductor/on_species_loss(mob/living/carbon/C) - . = ..() - var/datum/atom_hud/abductor_hud = GLOB.huds[DATA_HUD_ABDUCTOR] - abductor_hud.hide_from(C) - /datum/species/abductor/get_species_description() return "Abductors, colloquially known as \"Greys\" (or \"Grays\"), \ are, three fingered, pale skinned inquisitive aliens who can't communicate well to the average crew-member." 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 40c7087d483..0cfeafa742e 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -7,6 +7,7 @@ mutanttongue = /obj/item/organ/tongue/zombie inherent_traits = list( // SHARED WITH ALL ZOMBIES + TRAIT_BLOODY_MESS, TRAIT_EASILY_WOUNDED, TRAIT_EASYDISMEMBER, TRAIT_FAKEDEATH, @@ -102,6 +103,7 @@ inherent_traits = list( // SHARED WITH ALL ZOMBIES + TRAIT_BLOODY_MESS, TRAIT_EASILY_WOUNDED, TRAIT_EASYDISMEMBER, TRAIT_FAKEDEATH, diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 3b237c570f2..4c757cc52a2 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -17,6 +17,7 @@ if(stat != DEAD) death(TRUE) + send_death_moodlets(/datum/mood_event/see_death) ghostize() spill_organs(drop_bitflags) @@ -102,6 +103,8 @@ // keep us upright so the animation fits. ADD_TRAIT(src, TRAIT_FORCED_STANDING, TRAIT_GENERIC) + send_death_moodlets(/datum/mood_event/see_death/dusted) + if(drop_items) unequip_everything() @@ -160,6 +163,47 @@ ash.pixel_z = -5 ash.pixel_w = rand(-1, 1) +/** + * Sends a moodlet to all nearby living mobs that are not blind or unconscious + * to indicate that they saw this mob die (and thus feel bad about it) + * + * Note: If the mob already has a death moodlet, and the same moodlet is applied, the existing moodlet will simply worsen. + * Note: If the mob has a death moodlet, and a worse moodlet is applied, the worse moodlet will take priority. + * + * Arguments: + * * moodlet - The type of moodlet to send. Defaults to [/datum/mood_event/see_death] + */ +/mob/living/proc/send_death_moodlets(datum/mood_event/moodlet = /datum/mood_event/see_death) + if(flags_1 & HOLOGRAM_1) + return + + for(var/mob/living/nearby in viewers(src)) + if(nearby.stat >= UNCONSCIOUS || nearby.is_blind()) + continue + nearby.add_mood_event("saw_death", moodlet, src) + +/mob/living/silicon/send_death_moodlets(datum/mood_event/moodlet) + return // You are a machine + +/mob/living/basic/send_death_moodlets(datum/mood_event/moodlet) + if(!(basic_mob_flags & SENDS_DEATH_MOODLETS)) + return + . = ..() + add_memory_in_range(src, 7, /datum/memory/pet_died, deuteragonist = src) //Protagonist is the person memorizing it + +/mob/living/simple_animal/send_death_moodlets(datum/mood_event/moodlet) + return // I don't care about you anymore + +/mob/living/carbon/human/send_death_moodlets(datum/mood_event/moodlet) + for(var/datum/surgery/organ_manipulation/manipulation in surgeries) + // This check exists so debraining someone doesn't make the surgeon super sad + if(manipulation.location == BODY_ZONE_HEAD && body_position == LYING_DOWN) + return + + . = ..() + var/memory_type = ispath(moodlet, /datum/mood_event/see_death/gibbed) ? /datum/memory/witness_gib : /datum/memory/witnessed_death + add_memory_in_range(src, 7, memory_type, protagonist = src) + /* * Called when the mob dies. Can also be called manually to kill a mob. * @@ -170,8 +214,10 @@ if(stat == DEAD) return FALSE - if(!gibbed && (death_sound || death_message || (living_flags & ALWAYS_DEATHGASP))) - INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), "deathgasp") + if(!gibbed) + if(death_sound || death_message || (living_flags & ALWAYS_DEATHGASP)) + INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), "deathgasp") + send_death_moodlets(/datum/mood_event/see_death) set_stat(DEAD) timeofdeath = world.time diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index d60a99f3f41..eeaeb9d3b72 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -70,6 +70,10 @@ RegisterSignal(src, COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY, PROC_REF(edit_immerse_overlay)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_BASIC_HEALTH_HUD_VISIBLE), PROC_REF(add_to_basic_health_hud)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_BASIC_HEALTH_HUD_VISIBLE), PROC_REF(remove_from_basic_health_hud)) + + /// Called when [TRAIT_KNOCKEDOUT] is added to the mob. /mob/living/proc/on_knockedout_trait_gain(datum/source) SIGNAL_HANDLER @@ -297,3 +301,15 @@ /mob/living/proc/on_hearing_regain() SIGNAL_HANDLER refresh_looping_ambience() + +/// When gaining [TRAIT_BASIC_HEALTH_HUD_VISIBLE], add to the basic health hud +/mob/living/proc/add_to_basic_health_hud(datum/source) + SIGNAL_HANDLER + var/datum/atom_hud/data/human/medical/basic/hud = GLOB.huds[DATA_HUD_MEDICAL_BASIC] + hud.add_atom_to_hud(src) + +/// When losing [TRAIT_BASIC_HEALTH_HUD_VISIBLE], remove from the basic health hud +/mob/living/proc/remove_from_basic_health_hud(datum/source) + SIGNAL_HANDLER + var/datum/atom_hud/data/human/medical/basic/hud = GLOB.huds[DATA_HUD_MEDICAL_BASIC] + hud.remove_atom_from_hud(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 74ab707d464..58267fd7651 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -33,8 +33,9 @@ else effect.be_replaced() - if(buckled) - buckled.unbuckle_mob(src,force=1) + clear_personalities() // must be done for the personalities which process + + buckled?.unbuckle_mob(src,force=1) remove_from_all_data_huds() GLOB.mob_living_list -= src @@ -43,7 +44,7 @@ QDEL_LIST(imaginary_group) QDEL_LAZYLIST(diseases) QDEL_LIST(surgeries) - QDEL_LIST(quirks) + QDEL_LAZYLIST(quirks) return ..() /mob/living/onZImpact(turf/impacted_turf, levels, impact_flags = NONE) @@ -1329,7 +1330,7 @@ var/matrix/flipped_matrix = transform flipped_matrix.b = -flipped_matrix.b flipped_matrix.e = -flipped_matrix.e - animate(src, transform = flipped_matrix, time = 0.5 SECONDS, easing = EASE_OUT, flags = ANIMATION_PARALLEL) + animate(src, transform = flipped_matrix, time = 0.5 SECONDS, easing = SINE_EASING|EASE_OUT, flags = ANIMATION_PARALLEL) add_offsets(NEGATIVE_GRAVITY_TRAIT, y_add = 4) if(NEGATIVE_GRAVITY + 0.01 to 0) if(!istype(gravity_alert, /atom/movable/screen/alert/weightless)) @@ -1354,7 +1355,7 @@ var/matrix/flipped_matrix = transform flipped_matrix.b = -flipped_matrix.b flipped_matrix.e = -flipped_matrix.e - animate(src, transform = flipped_matrix, time = 0.5 SECONDS, easing = EASE_OUT, flags = ANIMATION_PARALLEL) + animate(src, transform = flipped_matrix, time = 0.5 SECONDS, easing = SINE_EASING|EASE_OUT, flags = ANIMATION_PARALLEL) remove_offsets(NEGATIVE_GRAVITY_TRAIT) /mob/living/singularity_pull(atom/singularity, current_size) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 1add46217ee..6595712ff8d 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -89,7 +89,11 @@ */ var/incorporeal_move = FALSE - var/list/quirks = list() + /// Lazylist of all quirks the mob has. These are not singletons + var/list/quirks + /// Lazylist of all typepaths of personalities the mob has. + var/list/personalities + ///a list of surgery datums. generally empty, they're added when the player wants them. var/list/surgeries = list() ///Mob specific surgery speed modifier diff --git a/code/modules/mob/living/living_update_icons.dm b/code/modules/mob/living/living_update_icons.dm index a8a517008c1..274a5a4f101 100644 --- a/code/modules/mob/living/living_update_icons.dm +++ b/code/modules/mob/living/living_update_icons.dm @@ -51,7 +51,7 @@ //if true, we want to avoid any animation time, it'll tween and not rotate at all otherwise. var/is_opposite_angle = REVERSE_ANGLE(lying_angle) == lying_prev var/animate_time = is_opposite_angle ? 0 : UPDATE_TRANSFORM_ANIMATION_TIME - animate(src, transform = ntransform, time = animate_time, dir = final_dir, easing = (EASE_IN|EASE_OUT)) + animate(src, transform = ntransform, time = animate_time, dir = final_dir, easing = SINE_EASING) for (var/hud_key in hud_list) var/image/hud_image = hud_list[hud_key] if (istype(hud_image)) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index ace9054ca49..221f66bb87b 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -81,16 +81,22 @@ //They aren't given a c_tag so they don't show up in camera consoles builtInCamera = new(src) + var/static/list/alert_areas + if(isnull(alert_areas)) + alert_areas = (GLOB.the_station_areas + typesof(/area/mine)) + if(is_station_level(z)) + alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), SSmapping.levels_by_trait(ZTRAIT_STATION), alert_areas, camera_view = TRUE) + else + alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), (SSmapping.levels_by_trait(ZTRAIT_STATION) + z), alert_areas, camera_view = TRUE) + RegisterSignal(alert_control.listener, COMSIG_ALARM_LISTENER_TRIGGERED, PROC_REF(alarm_triggered)) + RegisterSignal(alert_control.listener, COMSIG_ALARM_LISTENER_CLEARED, PROC_REF(alarm_cleared)) + ai_tracking_tool = new(src) RegisterSignal(ai_tracking_tool, COMSIG_TRACKABLE_TRACKING_TARGET, PROC_REF(on_track_target)) RegisterSignal(ai_tracking_tool, COMSIG_TRACKABLE_GLIDE_CHANGED, PROC_REF(tracked_glidesize_changed)) add_traits(list(TRAIT_PULL_BLOCKED, TRAIT_AI_ACCESS, TRAIT_HANDS_BLOCKED, TRAIT_CAN_GET_AI_TRACKING_MESSAGE, TRAIT_LOUD_BINARY), INNATE_TRAIT) - alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), list(z), camera_view = TRUE) - RegisterSignal(alert_control.listener, COMSIG_ALARM_LISTENER_TRIGGERED, PROC_REF(alarm_triggered)) - RegisterSignal(alert_control.listener, COMSIG_ALARM_LISTENER_CLEARED, PROC_REF(alarm_cleared)) - //Heads up to other binary chat listeners that a new AI is online and listening to Binary. if(announce_init_to_others && !is_centcom_level(z)) //Skip new syndicate AIs and also new AIs on centcom Z for(var/mob/McMobby as anything in GLOB.player_list) diff --git a/code/modules/mob/living/silicon/ai/ai_defines.dm b/code/modules/mob/living/silicon/ai/ai_defines.dm index 2ce27d098a8..e1399a1ddb1 100644 --- a/code/modules/mob/living/silicon/ai/ai_defines.dm +++ b/code/modules/mob/living/silicon/ai/ai_defines.dm @@ -12,7 +12,7 @@ mob_size = MOB_SIZE_LARGE can_buckle_to = FALSE - silicon_huds = list(DATA_HUD_MEDICAL_BASIC, DATA_HUD_SECURITY_BASIC, DATA_HUD_DIAGNOSTIC, DATA_HUD_BOT_PATH) + silicon_huds = list(TRAIT_MEDICAL_HUD_SENSOR_ONLY, TRAIT_SECURITY_HUD_ID_ONLY, TRAIT_DIAGNOSTIC_HUD, TRAIT_BOT_PATH_HUD) radio = /obj/item/radio/headset/silicon/ai radiomod = ";" //AIs will, by default, state their laws on the internal radio. diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm index 03057bc83ac..eb7996c42f3 100644 --- a/code/modules/mob/living/silicon/robot/examine.dm +++ b/code/modules/mob/living/silicon/robot/examine.dm @@ -52,3 +52,6 @@ . += "" . += ..() + +/mob/living/silicon/robot/examine_descriptor(mob/user) + return "cyborg" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 3ae1063cc78..9cfe533087a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -88,7 +88,13 @@ log_silicon("New cyborg [key_name(src)] created with [connected_ai ? "master AI: [key_name(connected_ai)]" : "no master AI"]") log_current_laws() - alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), list(z)) + var/static/list/alert_areas + if(isnull(alert_areas)) + alert_areas = (GLOB.the_station_areas + typesof(/area/mine)) + if(is_station_level(z)) + alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), SSmapping.levels_by_trait(ZTRAIT_STATION), alert_areas) + else + alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), (SSmapping.levels_by_trait(ZTRAIT_STATION) + z), alert_areas) RegisterSignal(alert_control.listener, COMSIG_ALARM_LISTENER_TRIGGERED, PROC_REF(alarm_triggered)) RegisterSignal(alert_control.listener, COMSIG_ALARM_LISTENER_CLEARED, PROC_REF(alarm_cleared)) alert_control.listener.RegisterSignal(src, COMSIG_LIVING_DEATH, TYPE_PROC_REF(/datum/alarm_listener, prevent_alarm_changes)) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index b26ca10574e..3758c8698e3 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -40,7 +40,7 @@ ///Are our siliconHUDs on? TRUE for yes, FALSE for no. var/sensors_on = TRUE - var/list/silicon_huds = list(DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_SECURITY_ADVANCED, DATA_HUD_DIAGNOSTIC) + var/list/silicon_huds = list(TRAIT_MEDICAL_HUD, TRAIT_SECURITY_HUD, TRAIT_DIAGNOSTIC_HUD) var/law_change_counter = 0 var/obj/machinery/camera/silicon/builtInCamera @@ -419,15 +419,16 @@ /mob/living/silicon/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) //Secbots won't hunt silicon units return -10 +/// Innate, toggleable silicon HUDs +#define SILICON_HUD_TRAIT "silicon_hud" + /mob/living/silicon/proc/remove_sensors() - for (var/hud_type in silicon_huds) - var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] - silicon_hud.hide_from(src) + remove_traits(silicon_huds, SILICON_HUD_TRAIT) /mob/living/silicon/proc/add_sensors() - for (var/hud_type in silicon_huds) - var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] - silicon_hud.show_to(src) + add_traits(silicon_huds, SILICON_HUD_TRAIT) + +#undef SILICON_HUD_TRAIT /mob/living/silicon/proc/toggle_sensors() if(incapacitated) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index cb740063e55..7fbe53a584e 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -94,7 +94,7 @@ var/turf/nearest_beacon_loc ///The type of data HUD the bot uses. Diagnostic by default. - var/data_hud_type = DATA_HUD_DIAGNOSTIC + var/data_hud_type = TRAIT_DIAGNOSTIC_HUD var/datum/atom_hud/data/bot_path/private/path_hud var/path_image_icon = 'icons/mob/silicon/aibots.dmi' var/path_image_icon_state = "path_indicator" @@ -191,8 +191,7 @@ //If a bot has its own HUD (for player bots), provide it. if(!isnull(data_hud_type)) - var/datum/atom_hud/datahud = GLOB.huds[data_hud_type] - datahud.show_to(src) + ADD_TRAIT(src, data_hud_type, INNATE_TRAIT) if(path_hud) path_hud.add_atom_to_hud(src) path_hud.show_to(src) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index fa1bdd78a51..eea52b6bb16 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -20,7 +20,7 @@ radio_channel = RADIO_CHANNEL_SECURITY //Security channel bot_type = SEC_BOT bot_mode_flags = ~BOT_MODE_CAN_BE_SAPIENT - data_hud_type = DATA_HUD_SECURITY_ADVANCED + data_hud_type = TRAIT_SECURITY_HUD hackables = "target identification systems" path_image_color = COLOR_RED possessed_message = "You are a securitron! Guard the station to the best of your ability!" 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 6cf309e8a75..24f75ff9300 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm @@ -35,14 +35,14 @@ can_buckle_to = FALSE /// Crusher loot dropped when the megafauna is killed with a crusher var/list/crusher_loot + /// Should the crusher drop replace our main loot entirely? + var/replace_crusher_drop = FALSE /// Achievement given to surrounding players when the megafauna is killed var/achievement_type /// Crusher achievement given to players when megafauna is killed var/crusher_achievement_type /// Score given to players when megafauna is killed var/score_achievement_type - /// If the megafauna was actually killed (not just dying, then transforming into another type) - var/elimination = 0 /// Modifies attacks when at lower health var/anger_modifier = 0 /// Name for the GPS signal of the megafauna @@ -62,17 +62,32 @@ /mob/living/simple_animal/hostile/megafauna/Initialize(mapload) . = ..() - AddComponent(\ /datum/component/basic_mob_attack_telegraph,\ display_telegraph_overlay = FALSE,\ telegraph_duration = attack_delay,\ ) - AddComponent(/datum/component/seethrough_mob) AddElement(/datum/element/simple_flying) + if (achievement_type || score_achievement_type) + var/list/achievements = list(/datum/award/achievement/boss/boss_killer, /datum/award/score/boss_score) + if (achievement_type) + achievements += achievement_type + if (score_achievement_type) + achievements += score_achievement_type + AddElement(/datum/element/kill_achievement, string_list(achievements), crusher_achievement_type, /datum/memory/megafauna_slayer) if(gps_name && true_spawn) AddComponent(/datum/component/gps, gps_name) + if(crusher_loot) + if (islist(crusher_loot)) + crusher_loot = string_list(crusher_loot) + AddElement(\ + /datum/element/crusher_loot,\ + trophy_type = crusher_loot,\ + guaranteed_drop = 0.6,\ + replace_all = replace_crusher_drop,\ + drop_immediately = del_on_death,\ + ) ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) add_traits(list(TRAIT_NO_TELEPORT), MEGAFAUNA_TRAIT) grant_actions_by_list(attack_action_types) @@ -83,41 +98,14 @@ return ..() return ..() -/mob/living/simple_animal/hostile/megafauna/death(gibbed, list/force_grant) - if(gibbed) // in case they've been force dusted - return ..() - - if(health > 0) // prevents instakills +/mob/living/simple_animal/hostile/megafauna/death(gibbed) + if(health > 0 && !gibbed) // prevents instakills return - var/datum/status_effect/crusher_damage/crusher_dmg = has_status_effect(/datum/status_effect/crusher_damage) - ///Whether we killed the megafauna with primarily crusher damage or not - var/crusher_kill = FALSE - if(crusher_dmg && crusher_dmg.total_damage >= maxHealth * 0.6) - crusher_kill = TRUE - if(crusher_loot) // spawn crusher loot, if any - spawn_crusher_loot() - // SKYRAT EDIT ADDITION START - ASHWALKER TROPHIES - var/datum/status_effect/ashwalker_damage/ashie_damage = has_status_effect(/datum/status_effect/ashwalker_damage) - if(!crusher_kill && ashie_damage && crusher_loot && ashie_damage.total_damage >= maxHealth * 0.6) - spawn_crusher_loot() - // SKYRAT EDIT ADDITION END - if(true_spawn && !(flags_1 & ADMIN_SPAWNED_1)) - var/tab = "megafauna_kills" - if(crusher_kill) - tab = "megafauna_kills_crusher" - if(!elimination) //used so the achievment only occurs for the last legion to die. - grant_achievement(achievement_type, score_achievement_type, crusher_kill, force_grant) - SSblackbox.record_feedback("tally", tab, 1, "[initial(name)]") return ..() -/// Spawns crusher loot instead of normal loot -/mob/living/simple_animal/hostile/megafauna/proc/spawn_crusher_loot() - loot = crusher_loot - /mob/living/simple_animal/hostile/megafauna/gib() if(health > 0) return - return ..() /mob/living/simple_animal/hostile/megafauna/singularity_act() @@ -127,10 +115,7 @@ /mob/living/simple_animal/hostile/megafauna/dust(just_ash, drop_items, force) if(!force && health > 0) return - - crusher_loot.Cut() loot.Cut() - return ..() /mob/living/simple_animal/hostile/megafauna/AttackingTarget(atom/attacked_target) @@ -209,25 +194,6 @@ if(cooldown_updates[COOLDOWN_UPDATE_ADD_RANGED]) ranged_cooldown += cooldown_updates[COOLDOWN_UPDATE_ADD_RANGED] -/// Grants medals and achievements to surrounding players -/mob/living/simple_animal/hostile/megafauna/proc/grant_achievement(medaltype, scoretype, crusher_kill, list/grant_achievement = list()) - if(!achievement_type || (flags_1 & ADMIN_SPAWNED_1) || !SSachievements.achievements_enabled) //Don't award medals if the medal type isn't set - return FALSE - if(!grant_achievement.len) - for(var/mob/living/L in view(7,src)) - grant_achievement += L - for(var/mob/living/L in grant_achievement) - if(L.stat || !L.client) - continue - L.add_mob_memory(/datum/memory/megafauna_slayer, antagonist = src) - L.client.give_award(/datum/award/achievement/boss/boss_killer, L) - L.client.give_award(achievement_type, L) - if(crusher_kill && istype(L.get_active_held_item(), /obj/item/kinetic_crusher)) - L.client.give_award(crusher_achievement_type, L) - L.client.give_award(/datum/award/score/boss_score, L) //Score progression for bosses killed in general - L.client.give_award(score_achievement_type, L) //Score progression for specific boss killed - return TRUE - /datum/action/innate/megafauna_attack name = "Megafauna Attack" button_icon = 'icons/mob/actions/actions_animal.dmi' diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index dc469a813bf..ab8aa9aa31e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -37,7 +37,7 @@ Difficulty: Medium rapid_melee = 5 // starts fast because the saw's closed. gets reduced appropriately when extended, see their transform_weapon ability pixel_x = -16 base_pixel_x = -16 - crusher_loot = list(/obj/item/melee/cleaving_saw, /obj/item/gun/energy/recharge/kinetic_accelerator, /obj/item/crusher_trophy/miner_eye, /obj/item/knife/hunting/wildhunter) + crusher_loot = list(/obj/item/crusher_trophy/miner_eye, /obj/item/knife/hunting/wildhunter) loot = list(/obj/item/melee/cleaving_saw, /obj/item/gun/energy/recharge/kinetic_accelerator) wander = FALSE del_on_death = TRUE @@ -188,11 +188,11 @@ Difficulty: Medium if(dir & (EAST|WEST)) //Facing east or west final_dir = pick(NORTH, SOUTH) //So you fall on your side rather than your face or ass - animate(src, transform = our_matrix, pixel_y = -6, dir = final_dir, time = 2, easing = EASE_IN|EASE_OUT) + animate(src, transform = our_matrix, pixel_y = -6, dir = final_dir, time = 2, easing = QUAD_EASING) sleep(0.5 SECONDS) - animate(src, color = list("#A7A19E", "#A7A19E", "#A7A19E", list(0, 0, 0)), time = 10, easing = EASE_IN, flags = ANIMATION_PARALLEL) + animate(src, color = list("#A7A19E", "#A7A19E", "#A7A19E", list(0, 0, 0)), time = 10, easing = SINE_EASING|EASE_IN, flags = ANIMATION_PARALLEL) sleep(0.4 SECONDS) - animate(src, alpha = 0, time = 6, easing = EASE_OUT, flags = ANIMATION_PARALLEL) + animate(src, alpha = 0, time = 6, easing = SINE_EASING|EASE_OUT, flags = ANIMATION_PARALLEL) /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/guidance guidance = TRUE 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 f947909ae40..e1ea630a465 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -58,8 +58,9 @@ Difficulty: Hard maptext_height = 96 maptext_width = 96 del_on_death = TRUE - crusher_loot = list(/obj/structure/closet/crate/necropolis/bubblegum/crusher) loot = list(/obj/structure/closet/crate/necropolis/bubblegum) + crusher_loot = /obj/structure/closet/crate/necropolis/bubblegum/crusher + replace_crusher_drop = TRUE blood_volume = BLOOD_VOLUME_MAXIMUM //BLEED FOR ME gps_name = "Bloody Signal" achievement_type = /datum/award/achievement/boss/bubblegum_kill @@ -287,9 +288,9 @@ Difficulty: Hard else B.setDir(pick(GLOB.cardinals)) -/mob/living/simple_animal/hostile/megafauna/bubblegum/grant_achievement(medaltype,scoretype) +/mob/living/simple_animal/hostile/megafauna/bubblegum/death(gibbed) . = ..() - if(!(flags_1 & ADMIN_SPAWNED_1)) + if(!gibbed && health > 0 && true_spawn && !(flags_1 & ADMIN_SPAWNED_1)) SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_BUBBLEGUM] = TRUE /mob/living/simple_animal/hostile/megafauna/bubblegum/AttackingTarget(atom/attacked_target) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm index 4b8f5ae3679..5758a59faaa 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm @@ -33,7 +33,6 @@ I'd rather there be something than the clockwork ruin be entirely empty though s ranged = TRUE gps_name = "Clockwork Signal" loot = list(/obj/item/clockwork_alloy) - crusher_loot = list(/obj/item/clockwork_alloy) wander = FALSE del_on_death = TRUE death_message = "falls, quickly decaying into centuries old dust." diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index bb761b53423..bf7d88143f3 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -51,8 +51,9 @@ achievement_type = /datum/award/achievement/boss/colossus_kill crusher_achievement_type = /datum/award/achievement/boss/colossus_crusher score_achievement_type = /datum/award/score/colussus_score - crusher_loot = list(/obj/structure/closet/crate/necropolis/colossus/crusher) loot = list(/obj/structure/closet/crate/necropolis/colossus) + crusher_loot = /obj/structure/closet/crate/necropolis/colossus/crusher + replace_crusher_drop = TRUE death_message = "disintegrates, leaving a glowing core in its wake." death_sound = 'sound/effects/magic/demon_dies.ogg' summon_line = "Your trial begins now." diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index a84a581ed07..a29e003dcca 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -32,7 +32,7 @@ Difficulty: Extremely Hard move_to_delay = 20 gps_name = "Bloodchilling Signal" ranged = TRUE - crusher_loot = list(/obj/effect/decal/remains/plasma, /obj/item/crusher_trophy/ice_block_talisman, /obj/item/ice_energy_crystal) + crusher_loot = /obj/item/crusher_trophy/ice_block_talisman loot = list(/obj/effect/decal/remains/plasma, /obj/item/ice_energy_crystal) wander = FALSE del_on_death = TRUE @@ -177,7 +177,7 @@ Difficulty: Extremely Hard return return ..() -/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/death(gibbed, list/force_grant) +/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/death(gibbed) if(health > 0) return var/turf/T = get_turf(src) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 2e23dad951b..dce5053b067 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -56,8 +56,9 @@ base_pixel_x = -32 maptext_height = 64 maptext_width = 64 - crusher_loot = list(/obj/structure/closet/crate/necropolis/dragon/crusher) loot = list(/obj/structure/closet/crate/necropolis/dragon) + crusher_loot = /obj/structure/closet/crate/necropolis/dragon/crusher + replace_crusher_drop = TRUE butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30) guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/ashdrake = 10) initial_language_holder = /datum/language_holder/lizard/hear_common @@ -312,7 +313,9 @@ mouse_opacity = MOUSE_OPACITY_ICON damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1) loot = list() - crusher_loot = list() + crusher_loot = null + achievement_type = null + score_achievement_type = null butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30) attack_action_types = list() @@ -326,8 +329,6 @@ . = ..() lava_swoop?.enraged = FALSE // In case taking damage caused us to start deleting ourselves -/mob/living/simple_animal/hostile/megafauna/dragon/lesser/grant_achievement(medaltype,scoretype) - return #undef DRAKE_ENRAGED #undef SWOOP_DAMAGEABLE diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 185c208fd08..5314d79a6a0 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -60,7 +60,7 @@ Difficulty: Hard ranged_cooldown_time = 4 SECONDS aggro_vision_range = 21 //so it can see to one side of the arena to the other loot = list(/obj/item/hierophant_club) - crusher_loot = list(/obj/item/hierophant_club, /obj/item/crusher_trophy/vortex_talisman) + crusher_loot = /obj/item/crusher_trophy/vortex_talisman wander = FALSE gps_name = "Zealous Signal" achievement_type = /datum/award/achievement/boss/hierophant_kill @@ -366,14 +366,14 @@ Difficulty: Hard for(var/t in RANGE_TURFS(1, source)) var/obj/effect/temp_visual/hierophant/blast/damaging/B = new(t, src, FALSE) B.damage = 30 - animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out + animate(src, alpha = 0, time = 2, easing = SINE_EASING|EASE_OUT) //fade out SLEEP_CHECK_DEATH(1, src) visible_message(span_hierophant_warning("[src] fades out!")) ADD_TRAIT(src, TRAIT_UNDENSE, VANISHING_TRAIT) SLEEP_CHECK_DEATH(2, src) forceMove(T) SLEEP_CHECK_DEATH(1, src) - animate(src, alpha = 255, time = 2, easing = EASE_IN) //fade IN + animate(src, alpha = 255, time = 2, easing = SINE_EASING|EASE_IN) //fade IN SLEEP_CHECK_DEATH(1, src) REMOVE_TRAIT(src, TRAIT_UNDENSE, VANISHING_TRAIT) visible_message(span_hierophant_warning("[src] fades in!")) @@ -437,17 +437,14 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/hierophant/death() if(health > 0 || stat == DEAD) return - else - set_stat(DEAD) - blinking = TRUE //we do a fancy animation, release a huge burst(), and leave our staff. - visible_message(span_hierophant("\"Mrmxmexmrk wipj-hiwxvygx wiuyirgi...\"")) - visible_message(span_hierophant_warning("[src] shrinks, releasing a massive burst of energy!")) - var/list/stored_nearby = list() - for(var/mob/living/L in view(7,src)) - stored_nearby += L // store the people to grant the achievements to once we die - hierophant_burst(null, get_turf(src), 10) - set_stat(CONSCIOUS) // deathgasp won't run if dead, stupid - ..(force_grant = stored_nearby) + + set_stat(DEAD) + blinking = TRUE //we do a fancy animation, release a huge burst(), and leave our staff. + visible_message(span_hierophant("\"Mrmxmexmrk wipj-hiwxvygx wiuyirgi...\"")) + visible_message(span_hierophant_warning("[src] shrinks, releasing a massive burst of energy!")) + hierophant_burst(null, get_turf(src), 10) + set_stat(CONSCIOUS) // deathgasp won't run if dead, stupid + ..() /mob/living/simple_animal/hostile/megafauna/hierophant/celebrate_kill(mob/living/L) visible_message(span_hierophant_warning("\"[pick(kill_phrases)]\"")) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 5f26b073046..3be549a536d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -46,16 +46,14 @@ minimum_distance = 5 ranged_cooldown_time = 2 SECONDS gps_name = "Echoing Signal" - achievement_type = /datum/award/achievement/boss/legion_kill + // Achievements not set as they're added only when the last skull is killed crusher_achievement_type = /datum/award/achievement/boss/legion_crusher - score_achievement_type = /datum/award/score/legion_score SET_BASE_PIXEL(-32, -16) maptext_height = 96 maptext_width = 96 loot = list(/obj/item/stack/sheet/bone = 3) vision_range = 13 wander = FALSE - elimination = TRUE appearance_flags = LONG_GLIDE mouse_opacity = MOUSE_OPACITY_ICON var/size = LEGION_LARGE @@ -175,7 +173,8 @@ break if(last_legion) loot = list(/obj/item/storm_staff) - elimination = FALSE + var/list/achievements = list(/datum/award/achievement/boss/boss_killer, /datum/award/score/boss_score, /datum/award/score/legion_score, /datum/award/achievement/boss/legion_kill) + AddElement(/datum/element/kill_achievement, string_list(achievements), crusher_achievement_type, /datum/memory/megafauna_slayer) else if(prob(20)) //20% chance for sick lootz. loot = list(/obj/structure/closet/crate/necropolis/tendril) if(!true_spawn) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 78dd32d1023..f0f11b583c8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -35,7 +35,7 @@ Difficulty: Hard loot = list() butcher_results = list() guaranteed_butcher_results = list(/obj/item/wendigo_blood = 1, /obj/item/wendigo_skull = 1) - crusher_loot = list(/obj/item/crusher_trophy/wendigo_horn) + crusher_loot = /obj/item/crusher_trophy/wendigo_horn wander = FALSE del_on_death = FALSE blood_volume = BLOOD_VOLUME_NORMAL @@ -180,7 +180,7 @@ Difficulty: Hard all_turfs -= stomp_turf SLEEP_CHECK_DEATH(delay, owner) -/mob/living/simple_animal/hostile/megafauna/wendigo/death(gibbed, list/force_grant) +/mob/living/simple_animal/hostile/megafauna/wendigo/death(gibbed) if(health > 0) return diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index 9746fef4675..01ec3612afd 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -146,14 +146,14 @@ new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(t, src) for(var/t in RANGE_TURFS(1, source)) new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(t, src) - animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out + animate(src, alpha = 0, time = 2, easing = SINE_EASING|EASE_OUT) //fade out visible_message(span_hierophant_warning("[src] fades out!")) ADD_TRAIT(src, TRAIT_UNDENSE, VANISHING_TRAIT) addtimer(CALLBACK(src, PROC_REF(pandora_teleport_3), T), 0.2 SECONDS) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/pandora_teleport_3(turf/T) forceMove(T) - animate(src, alpha = 255, time = 2, easing = EASE_IN) //fade IN + animate(src, alpha = 255, time = 2, easing = CIRCULAR_EASING|EASE_IN) //fade IN REMOVE_TRAIT(src, TRAIT_UNDENSE, VANISHING_TRAIT) visible_message(span_hierophant_warning("[src] fades in!")) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 68cf5480ae6..5c63775048c 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -361,17 +361,18 @@ . += "Health: [round((health / maxHealth) * 100)]% ([health]/[maxHealth])" . += "Combat Mode: [combat_mode ? "On" : "Off"]" -/mob/living/simple_animal/proc/drop_loot() +/mob/living/simple_animal/proc/drop_loot(drop_loc) if (!length(loot)) return for(var/i in loot) - new i(drop_location()) + new i(drop_loc) loot.Cut() /mob/living/simple_animal/death(gibbed) - drop_loot() + var/drop_loc = drop_location() if(del_on_death) ..() + drop_loot(drop_loc) //Prevent infinite loops if the mob Destroy() is overridden in such //a manner as to cause a call to death() again //Pain del_on_death = FALSE @@ -383,7 +384,8 @@ if(flip_on_death) transform = transform.Turn(180) ADD_TRAIT(src, TRAIT_UNDENSE, BASIC_MOB_DEATH_TRAIT) - return ..() + . = ..() + drop_loot(drop_loc) /mob/living/simple_animal/proc/CanAttack(atom/the_target) if(!isatom(the_target)) // no diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index 725d8766e3a..c331b8d4f3d 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -489,6 +489,26 @@ return quirk return null +/// Helper to easily add a personality by a typepath +/mob/living/proc/add_personality(personality_type) + var/datum/personality/personality = SSpersonalities.personalities_by_type[personality_type] + personality.apply_to_mob(src) + +/// Helper to easily add multiple personalities by a list of typepaths +/mob/living/proc/add_personalities(list/new_personalities) + for(var/personality_type in new_personalities) + add_personality(personality_type) + +/// Helper to easily remove a personality by a typepath +/mob/living/proc/remove_personality(personality_type) + var/datum/personality/personality = SSpersonalities.personalities_by_type[personality_type] + personality.remove_from_mob(src) + +/// Helper to clear all personalities from a mob +/mob/living/proc/clear_personalities() + for(var/personality_type in personalities) + remove_personality(personality_type) + /mob/living/proc/cure_husk(source) REMOVE_TRAIT(src, TRAIT_HUSK, source) if(HAS_TRAIT(src, TRAIT_HUSK)) @@ -527,6 +547,8 @@ emote("deathgasp") station_timestamp_timeofdeath = station_time_timestamp() + if(!HAS_TRAIT(src, TRAIT_FAKEDEATH) && !silent) + send_death_moodlets(/datum/mood_event/see_death) add_traits(list(TRAIT_FAKEDEATH, TRAIT_DEATHCOMA), source) ///Unignores all slowdowns that lack the IGNORE_NOSLOW flag. diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 398b08265d9..4decc4a213e 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1726,13 +1726,44 @@ for(var/hud_trait in GLOB.trait_to_hud) RegisterSignal(src, SIGNAL_ADDTRAIT(hud_trait), PROC_REF(hud_trait_enabled)) RegisterSignal(src, SIGNAL_REMOVETRAIT(hud_trait), PROC_REF(hud_trait_disabled)) + for(var/hud_trait in GLOB.trait_blockers_to_hud) + RegisterSignal(src, SIGNAL_ADDTRAIT(hud_trait), PROC_REF(hud_trait_blocker_gained)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(hud_trait), PROC_REF(hud_trait_blocker_lost)) /mob/proc/hud_trait_enabled(datum/source, new_trait) SIGNAL_HANDLER + + for(var/blocker, blocked_traits in GLOB.trait_blockers_to_hud) + if(HAS_TRAIT(src, blocker) && (new_trait in blocked_traits)) + return + var/datum/atom_hud/datahud = GLOB.huds[GLOB.trait_to_hud[new_trait]] datahud.show_to(src) -/mob/proc/hud_trait_disabled(datum/source, new_trait) +/mob/proc/hud_trait_disabled(datum/source, lost_trait) SIGNAL_HANDLER - var/datum/atom_hud/datahud = GLOB.huds[GLOB.trait_to_hud[new_trait]] + + for(var/blocker, blocked_traits in GLOB.trait_blockers_to_hud) + if(HAS_TRAIT(src, blocker) && (lost_trait in blocked_traits)) + return // it may seem counterintuitive to check for blockers on trait removal, the blocker now has total reign over whether the hud should come back + + var/datum/atom_hud/datahud = GLOB.huds[GLOB.trait_to_hud[lost_trait]] datahud.hide_from(src) + +/mob/proc/hud_trait_blocker_gained(datum/source, new_trait) + SIGNAL_HANDLER + + for(var/trait in GLOB.trait_blockers_to_hud[new_trait]) + if(!HAS_TRAIT(src, trait)) + continue + var/datum/atom_hud/datahud = GLOB.huds[GLOB.trait_to_hud[trait]] + datahud.hide_from(src) + +/mob/proc/hud_trait_blocker_lost(datum/source, new_trait) + SIGNAL_HANDLER + + for(var/trait in GLOB.trait_blockers_to_hud[new_trait]) + if(!HAS_TRAIT(src, trait)) + continue + var/datum/atom_hud/datahud = GLOB.huds[GLOB.trait_to_hud[trait]] + datahud.show_to(src) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index f33cde396f8..57a53319a3f 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -382,10 +382,14 @@ * force_drop = the slip forces them to drop held items */ /mob/proc/slip(knockdown_amount, obj/slipped_on, lube_flags, paralyze, daze, force_drop = FALSE) - add_mob_memory(/datum/memory/was_slipped, antagonist = slipped_on) - SEND_SIGNAL(src, COMSIG_MOB_SLIPPED, knockdown_amount, slipped_on, lube_flags, paralyze, daze, force_drop) +/mob/living/slip(knockdown_amount, obj/slipped_on, lube_flags, paralyze, daze, force_drop = FALSE) + add_mob_memory(/datum/memory/was_slipped, antagonist = slipped_on) + add_mood_event("slipped", /datum/mood_event/slipped) + add_personality_mood_to_viewers(src, "slip_observed", list(/datum/personality/whimsical = /datum/mood_event/whimsical_slip), range = 5) + return ..() + //bodypart selection verbs - Cyberboss //8: repeated presses toggles through head - eyes - mouth //7: mouth 8: head 9: eyes diff --git a/code/modules/mob_spawn/mob_spawn.dm b/code/modules/mob_spawn/mob_spawn.dm index 5b57b2a5e89..fab7c13d776 100644 --- a/code/modules/mob_spawn/mob_spawn.dm +++ b/code/modules/mob_spawn/mob_spawn.dm @@ -358,8 +358,7 @@ // Or on crew monitors var/obj/item/clothing/under/sensor_clothes = spawned_human.w_uniform if(istype(sensor_clothes)) - sensor_clothes.sensor_mode = SENSOR_OFF - spawned_human.update_suit_sensors() + sensor_clothes.set_sensor_mode(SENSOR_OFF) //don't use this in subtypes, just add 1000 brute yourself. that being said, this is a type that has 1000 brute. it doesn't really have a home anywhere else, it just needs to exist /obj/effect/mob_spawn/corpse/human/damaged diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index 8486e608289..6d624c702b5 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -132,11 +132,14 @@ /obj/item/mod/module/orebag, /obj/item/mod/module/clamp, /obj/item/mod/module/drill, + /obj/item/mod/module/magnetic_harness, /obj/item/mod/module/mouthhole, ) default_pins = list( /obj/item/mod/module/gps, /obj/item/mod/module/drill, + /obj/item/mod/module/clamp, + /obj/item/mod/module/orebag, /obj/item/mod/module/sphere_transform, ) diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm index ffe4cde8075..d2e916f2ff5 100644 --- a/code/modules/mod/modules/_module.dm +++ b/code/modules/mod/modules/_module.dm @@ -179,6 +179,7 @@ balloon_alert(mod.wearer, "[src] activated, [used_button]-click to use") // As of now, only wearers can "use" mods active = TRUE SEND_SIGNAL(src, COMSIG_MODULE_ACTIVATED) + SEND_SIGNAL(mod, COMSIG_MOD_MODULE_ACTIVATED, src) on_activation(activator) update_clothing_slots() return TRUE @@ -198,6 +199,7 @@ UnregisterSignal(mod.wearer, used_signal) used_signal = null SEND_SIGNAL(src, COMSIG_MODULE_DEACTIVATED, mod.wearer) + SEND_SIGNAL(mod, COMSIG_MOD_MODULE_DEACTIVATED, src) on_deactivation(activator, display_message = TRUE, deleting = FALSE) update_clothing_slots() return TRUE diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index cd2e8ce06d4..7f6789affff 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -386,7 +386,7 @@ var/datum/storage/holding_storage = mod.loc.atom_storage if(!holding_storage || holding_storage.max_specific_storage >= mod.w_class) return - mod.forceMove(drop_location()) + mod.forceMove(mod.drop_location()) /obj/item/mod/module/demoralizer name = "MOD psi-echo demoralizer module" diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 63da26b1df4..58416273456 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -840,11 +840,6 @@ ) /// Materials that will be extracted. var/list/accepted_mats - var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_obj_entered), - COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON = PROC_REF(on_atom_initialized_on), - ) - var/datum/component/connect_loc_behalf/connector var/datum/component/material_container/container /obj/item/mod/module/recycler/Initialize(mapload) @@ -859,7 +854,7 @@ 50 * SHEET_MATERIAL_AMOUNT, \ MATCONTAINER_EXAMINE | MATCONTAINER_NO_INSERT, \ container_signals = list( \ - COMSIG_MATCONTAINER_SHEETS_RETRIEVED = TYPE_PROC_REF(/obj/item/mod/module/recycler, InsertSheets) \ + COMSIG_MATCONTAINER_STACK_RETRIEVED = TYPE_PROC_REF(/obj/item/mod/module/recycler, InsertSheets) \ ) \ ) @@ -868,16 +863,20 @@ return ..() /obj/item/mod/module/recycler/on_activation(mob/activator) - connector = AddComponent(/datum/component/connect_loc_behalf, mod.wearer, loc_connections) RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(on_wearer_moved)) /obj/item/mod/module/recycler/on_deactivation(mob/activator, display_message, deleting = FALSE) - QDEL_NULL(connector) - UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(on_wearer_moved)) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + if(mod.wearer.loc) + UnregisterSignal(mod.wearer.loc, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) /obj/item/mod/module/recycler/proc/on_wearer_moved(datum/source, atom/old_loc, dir, forced) SIGNAL_HANDLER - + if(old_loc) + UnregisterSignal(mod.wearer.loc, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) + if(mod.wearer.loc) + RegisterSignal(mod.wearer.loc, COMSIG_ATOM_ENTERED, PROC_REF(on_obj_entered)) + RegisterSignal(mod.wearer.loc, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, PROC_REF(on_atom_initialized_on)) for(var/obj/item/item in mod.wearer.loc) if(!is_type_in_list(item, allowed_item_types)) return @@ -885,18 +884,14 @@ /obj/item/mod/module/recycler/proc/on_obj_entered(atom/new_loc, atom/movable/arrived, atom/old_loc) SIGNAL_HANDLER - - if(!is_type_in_list(arrived, allowed_item_types)) - return - insert_trash(arrived) + if(is_type_in_list(arrived, allowed_item_types)) + insert_trash(arrived) /obj/item/mod/module/recycler/proc/on_atom_initialized_on(atom/loc, atom/new_atom) SIGNAL_HANDLER - - if(!is_type_in_list(new_atom, allowed_item_types)) - return - //Give the new atom the time to fully initialize and maybe live if the wearer moves away. - addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/mod/module/recycler, insert_trash_if_nearby), new_atom), 0.5 SECONDS) + // Give the new atom the time to fully initialize and maybe live if the wearer moves away. + if(is_type_in_list(new_atom, allowed_item_types)) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/mod/module/recycler, insert_trash_if_nearby), new_atom), 0.5 SECONDS) /obj/item/mod/module/recycler/proc/insert_trash_if_nearby(atom/new_atom) if(new_atom && mod?.wearer && new_atom.loc == mod.wearer.loc) diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm index 2e0b2dba3a0..05c9af1b33d 100644 --- a/code/modules/mod/modules/modules_maint.dm +++ b/code/modules/mod/modules/modules_maint.dm @@ -317,10 +317,16 @@ var/you_fucked_up = FALSE /obj/item/mod/module/atrocinator/on_activation(mob/activator) + // Auto-unbuckle anyone being carried to avoid lag issues + if(length(mod.wearer.buckled_mobs)) + mod.wearer.visible_message("As [mod.wearer] flips, [mod.wearer.buckled_mobs[1]] flies off of [mod.wearer.p_their()] back!") + mod.wearer.unbuckle_all_mobs() + playsound(src, 'sound/effects/curse/curseattack.ogg', 50) mod.wearer.AddElement(/datum/element/forced_gravity, NEGATIVE_GRAVITY) RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(check_upstairs)) RegisterSignal(mod.wearer, COMSIG_MOB_SAY, PROC_REF(on_talk)) + RegisterSignal(mod.wearer, COMSIG_MOVABLE_PREBUCKLE, PROC_REF(on_someone_buckled)) ADD_TRAIT(mod.wearer, TRAIT_SILENT_FOOTSTEPS, REF(src)) passtable_on(mod.wearer, REF(src)) check_upstairs() //todo at some point flip your screen around @@ -337,6 +343,7 @@ qdel(mod.wearer.RemoveElement(/datum/element/forced_gravity, NEGATIVE_GRAVITY)) UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) UnregisterSignal(mod.wearer, COMSIG_MOB_SAY) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_PREBUCKLE) step_count = 0 REMOVE_TRAIT(mod.wearer, TRAIT_SILENT_FOOTSTEPS, REF(src)) passtable_off(mod.wearer, REF(src)) @@ -350,6 +357,16 @@ if(you_fucked_up || mod.wearer.has_gravity() > NEGATIVE_GRAVITY) return + // Prevent infinite loops when being fireman carried - Stack trace if it does + if(mod.wearer.buckled) + stack_trace("Atrocinator user is buckled despite protections - this shouldn't happen!") + return + + // Prevent infinite loops when carrying someone - Stack trace if it does + if(length(mod.wearer.buckled_mobs)) + stack_trace("Atrocinator user is carrying someone despite protections - this shouldn't happen!") + return + var/turf/open/current_turf = get_turf(mod.wearer) var/turf/open/openspace/turf_above = get_step_multiz(mod.wearer, UP) if(current_turf && istype(turf_above)) @@ -384,6 +401,14 @@ SIGNAL_HANDLER speech_args[SPEECH_SPANS] |= "upside_down" +/// Prevent someone from being buckled to the wearer while atrocinator is active +/obj/item/mod/module/atrocinator/proc/on_someone_buckled(datum/source, mob/living/buckled_mob, mob/living/buckler) + SIGNAL_HANDLER + balloon_alert(buckler, "[buckler == mod.wearer ? "you're" : "they're"] upside down!") + return COMPONENT_BLOCK_BUCKLE + + + /obj/item/mod/module/recycler/donk/safe name = "MOD foam dart recycler module" desc = "A mod module that collects and repackages fired foam darts into half-sized ammo boxes. \ diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index 2eaebddaf55..4cacbddb811 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -10,7 +10,7 @@ incompatible_modules = list(/obj/item/mod/module/magnetic_harness) required_slots = list(ITEM_SLOT_OCLOTHING) /// Time before we activate the magnet. - var/magnet_delay = 0.8 SECONDS + var/magnet_delay = 0.5 SECONDS /// The typecache of all guns we allow. var/static/list/guns_typecache /// The guns already allowed by the modsuit chestplate. @@ -19,7 +19,14 @@ /obj/item/mod/module/magnetic_harness/Initialize(mapload) . = ..() if(!guns_typecache) - guns_typecache = typecacheof(list(/obj/item/gun/ballistic, /obj/item/gun/energy, /obj/item/gun/grenadelauncher, /obj/item/gun/chem, /obj/item/gun/syringe)) + guns_typecache = typecacheof(list( + /obj/item/gun/ballistic, + /obj/item/gun/energy, + /obj/item/gun/grenadelauncher, + /obj/item/gun/chem, + /obj/item/gun/syringe, + /obj/item/kinetic_crusher, + )) /obj/item/mod/module/magnetic_harness/on_install() . = ..() @@ -139,7 +146,7 @@ /obj/item/mod/module/holster/on_uninstall(deleting = FALSE) . = ..() if(holstered) - holstered.forceMove(drop_location()) + holstered.forceMove(mod.drop_location()) /obj/item/mod/module/holster/Exited(atom/movable/gone, direction) if(gone == holstered) diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index 4ba54760aca..5a183827233 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -47,7 +47,6 @@ /// The crates stored in the module. var/list/stored_crates = list() - /obj/item/mod/module/clamp/Initialize(mapload) . = ..() accepted_items = typecacheof(list( @@ -125,55 +124,110 @@ ///Drill - Lets you dig through rock and basalt. /obj/item/mod/module/drill name = "MOD drill module" - desc = "An integrated drill, typically extending over the user's hand. While useful for drilling through rock, \ - your drill is surely the one that both pierces and creates the heavens." + desc = "An arm-mounted drill, typically extending over the user's hand. While useful for drilling through rock, \ + your drill is surely the one that both pierces and creates the heavens. Integrates with mining MODs' sphere \ + transformation module, changing it from a mere traversal tool to high-powered excavation unit." icon_state = "drill" module_type = MODULE_ACTIVE complexity = 1 use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/drill) - cooldown_time = 0.5 SECONDS + cooldown_time = 0.2 SECONDS overlay_state_active = "module_drill" required_slots = list(ITEM_SLOT_GLOVES) + toolspeed = 0.25 + /// Are we currently in passive sphere mode? + var/ballin = FALSE + /// Last tick when we bumpmined. Prevents diagonal bumpnining being thrice as fast as normal + var/last_bumpmine_tick = -1 + /// Mining skill experience multiplier for bumpmining + var/exp_multiplier = 1 + /// Cooldown on gibtonite detonation warnings + COOLDOWN_DECLARE(gibtonite_warning_cd) + +/obj/item/mod/module/drill/on_install() + . = ..() + RegisterSignal(mod, COMSIG_MOD_MODULE_ACTIVATED, PROC_REF(on_module_activated)) + RegisterSignal(mod, COMSIG_MOD_MODULE_DEACTIVATED, PROC_REF(on_module_deactivated)) + +/obj/item/mod/module/drill/on_uninstall(deleting) + . = ..() + UnregisterSignal(mod, list(COMSIG_MOD_MODULE_ACTIVATED, COMSIG_MOD_MODULE_DEACTIVATED)) + toolspeed = initial(toolspeed) + use_energy_cost = initial(use_energy_cost) + exp_multiplier = initial(exp_multiplier) + ballin = FALSE /obj/item/mod/module/drill/on_activation(mob/activator) + if (ballin) + return + tool_behaviour = TOOL_MINING RegisterSignal(mod.wearer, COMSIG_MOVABLE_BUMP, PROC_REF(bump_mine)) /obj/item/mod/module/drill/on_deactivation(mob/activator, display_message = TRUE, deleting = FALSE) + if (ballin) + return + tool_behaviour = NONE UnregisterSignal(mod.wearer, COMSIG_MOVABLE_BUMP) /obj/item/mod/module/drill/on_select_use(atom/target) . = ..() - if(!.) + if(!. || !mod.wearer.Adjacent(target)) return - if(!mod.wearer.Adjacent(target)) + + if(!ismineralturf(target) || !isasteroidturf(target)) return - if(ismineralturf(target)) - var/turf/closed/mineral/mineral_turf = target - mineral_turf.gets_drilled(mod.wearer) - drain_power(use_energy_cost) - else if(isasteroidturf(target)) - var/turf/open/misc/asteroid/sand_turf = target - if(!sand_turf.can_dig(mod.wearer)) - return - sand_turf.getDug() - drain_power(use_energy_cost) + + if(drain_power(use_energy_cost)) + target.attackby(src, mod.wearer) /obj/item/mod/module/drill/proc/bump_mine(mob/living/carbon/human/bumper, atom/bumped_into, proximity) SIGNAL_HANDLER - if(!ismineralturf(bumped_into) || !drain_power(use_energy_cost)) - return - var/turf/closed/mineral/mineral_turf = bumped_into - var/turf/closed/mineral/gibtonite/giberal_turf = mineral_turf - if(istype(giberal_turf) && giberal_turf.stage != GIBTONITE_UNSTRUCK) - playsound(bumper, 'sound/machines/scanner/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) - to_chat(bumper, span_warning("[icon2html(src, bumper)] Unstable gibtonite ore deposit detected! Drills disabled.")) - on_deactivation() - return - mineral_turf.gets_drilled(mod.wearer) - return COMPONENT_CANCEL_ATTACK_CHAIN -///Ore Bag - Lets you pick up ores and drop them from the suit. + if (world.time == last_bumpmine_tick) + return + + if (!ismineralturf(bumped_into) || !drain_power(use_energy_cost)) + return + + var/turf/closed/mineral/gibtonite/giberal_turf = bumped_into + if (!istype(giberal_turf) || giberal_turf.stage != GIBTONITE_UNSTRUCK) + last_bumpmine_tick = world.time + var/turf/closed/mineral/rock = bumped_into + INVOKE_ASYNC(rock, TYPE_PROC_REF(/atom, attackby), src, bumper, null, null, exp_multiplier) + return + + if (!COOLDOWN_FINISHED(src, gibtonite_warning_cd)) + return + + COOLDOWN_START(src, gibtonite_warning_cd, 3 SECONDS) + playsound(bumper, 'sound/machines/scanner/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + to_chat(bumper, span_warning("[icon2html(src, bumper)] Unstable gibtonite ore deposit detected!")) + +/obj/item/mod/module/drill/proc/on_module_activated(datum/source, obj/item/mod/module/module) + SIGNAL_HANDLER + if (!istype(module, /obj/item/mod/module/sphere_transform)) + return + // In sphere mode we get instamine and halved power drain + toolspeed = 0 + use_energy_cost *= 0.5 + exp_multiplier *= 0.2 + if (!active) + on_activation() + ballin = TRUE + +/obj/item/mod/module/drill/proc/on_module_deactivated(datum/source, obj/item/mod/module/module) + SIGNAL_HANDLER + if (!istype(module, /obj/item/mod/module/sphere_transform)) + return + toolspeed = initial(toolspeed) + use_energy_cost *= 2 + exp_multiplier /= 2 + ballin = FALSE + if (!active) + on_deactivation() + +/// Ore Bag - Lets you pick up ores and drop them from the suit. /obj/item/mod/module/orebag name = "MOD ore bag module" desc = "An integrated ore storage system installed into the suit, \ @@ -187,39 +241,65 @@ cooldown_time = 0.5 SECONDS allow_flags = MODULE_ALLOW_INACTIVE required_slots = list(ITEM_SLOT_BACK) - /// The ores stored in the bag. - var/list/ores = list() + /// Are we currently dropping off ores? Used to prevent the bag from instantly picking up ores after dropping them + var/dropping_ores = FALSE /obj/item/mod/module/orebag/on_equip() - RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(ore_pickup)) + RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(on_wearer_moved)) + if (mod.wearer.loc) + RegisterSignal(mod.wearer.loc, COMSIG_ATOM_ENTERED, PROC_REF(on_obj_entered)) + RegisterSignal(mod.wearer.loc, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, PROC_REF(on_atom_initialized_on)) /obj/item/mod/module/orebag/on_unequip() UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + if (mod.wearer.loc) + UnregisterSignal(mod.wearer.loc, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) -/obj/item/mod/module/orebag/proc/ore_pickup(atom/movable/source, atom/old_loc, dir, forced) +/obj/item/mod/module/orebag/proc/on_wearer_moved(atom/movable/source, atom/old_loc, dir, forced) SIGNAL_HANDLER + if(old_loc) + UnregisterSignal(old_loc, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) + if(mod.wearer.loc) + RegisterSignal(mod.wearer.loc, COMSIG_ATOM_ENTERED, PROC_REF(on_obj_entered)) + RegisterSignal(mod.wearer.loc, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, PROC_REF(on_atom_initialized_on)) + + var/ore_found = FALSE for(var/obj/item/stack/ore/ore in get_turf(mod.wearer)) + ore_found = TRUE INVOKE_ASYNC(src, PROC_REF(move_ore), ore) - playsound(src, SFX_RUSTLE, 50, TRUE) + + if (ore_found) + playsound(mod.wearer, SFX_RUSTLE, 50, TRUE) /obj/item/mod/module/orebag/proc/move_ore(obj/item/stack/ore) - for(var/obj/item/stack/stored_ore as anything in ores) + for(var/obj/item/stack/ore/stored_ore as anything in src) if(!ore.can_merge(stored_ore)) continue ore.merge(stored_ore) if(QDELETED(ore)) return - break ore.forceMove(src) - ores += ore /obj/item/mod/module/orebag/on_use(mob/activator) - for(var/obj/item/ore as anything in ores) - ore.forceMove(drop_location()) - ores -= ore + dropping_ores = TRUE + for(var/obj/item/ore as anything in src) + ore.forceMove(mod.drop_location()) + dropping_ores = FALSE drain_power(use_energy_cost) +/obj/item/mod/module/orebag/proc/on_obj_entered(atom/new_loc, atom/movable/arrived, atom/old_loc) + SIGNAL_HANDLER + if(istype(arrived, /obj/item/stack/ore) && !dropping_ores) + INVOKE_ASYNC(src, PROC_REF(move_ore), arrived) + playsound(mod.wearer, SFX_RUSTLE, 50, TRUE) + +/obj/item/mod/module/orebag/proc/on_atom_initialized_on(atom/loc, atom/new_atom) + SIGNAL_HANDLER + if(is_type_in_list(new_atom, /obj/item/stack/ore)) + INVOKE_ASYNC(src, PROC_REF(move_ore), new_atom) + playsound(mod.wearer, SFX_RUSTLE, 50, TRUE) + /obj/item/mod/module/hydraulic name = "MOD loader hydraulic arms module" desc = "A pair of powerful hydraulic arms installed in a MODsuit." @@ -381,18 +461,18 @@ /// Armor values per tile. var/datum/armor/armor_mod = /datum/armor/mod_ash_accretion /// Speed added when you're fully covered in ash. - var/speed_added = -0.75 + var/speed_added = -0.5 /// Turfs that let us accrete ash. var/static/list/accretion_turfs /// Turfs that let us keep ash. var/static/list/keep_turfs /datum/armor/mod_ash_accretion - melee = 4 + melee = 3 // 50 armor when fully covered in ash, equal to two plates on an explorer suit bullet = 1 laser = 2 energy = 2 - bomb = 4 + bomb = 3 /obj/item/mod/module/ash_accretion/Initialize(mapload) . = ..() @@ -446,32 +526,44 @@ /obj/item/mod/module/ash_accretion/proc/on_move(atom/source, atom/oldloc, dir, forced) if(!isturf(mod.wearer.loc)) //dont lose ash from going in a locker return - if(traveled_tiles) //leave ash every tile - new /obj/effect/temp_visual/light_ash(get_turf(src)) + if(is_type_in_typecache(mod.wearer.loc, accretion_turfs)) if(traveled_tiles >= max_traveled_tiles) return + traveled_tiles++ for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) part.set_armor(part.get_armor().add_other_armor(armor_mod)) - if(traveled_tiles >= max_traveled_tiles) - balloon_alert(mod.wearer, "fully ash covered") - mod.wearer.color = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,3) //make them super light - animate(mod.wearer, 1 SECONDS, color = null, flags = ANIMATION_PARALLEL) - playsound(src, 'sound/effects/sparks/sparks1.ogg', 100, TRUE) - mod.update_speed() - else if(is_type_in_typecache(mod.wearer.loc, keep_turfs)) - return - else - if(traveled_tiles <= 0) + + if(traveled_tiles < max_traveled_tiles) return - traveled_tiles-- - if(traveled_tiles == max_traveled_tiles - 1) // Just lost our speed buff - mod.update_speed() - for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) - part.set_armor(part.get_armor().subtract_other_armor(armor_mod)) - if(traveled_tiles <= 0) - balloon_alert(mod.wearer, "ran out of ash!") + + balloon_alert(mod.wearer, "fully ash covered") + var/cur_color = mod.wearer.color + mod.wearer.color = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,3) // Make them super light + animate(mod.wearer, 1 SECONDS, color = cur_color, flags = ANIMATION_PARALLEL) + playsound(src, 'sound/effects/sparks/sparks1.ogg', 100, TRUE) + mod.update_speed() + return + + if(is_type_in_typecache(mod.wearer.loc, keep_turfs)) + return + + if(traveled_tiles) //leave ash every tile + new /obj/effect/temp_visual/light_ash(get_turf(src)) + + if(traveled_tiles <= 0) + return + + traveled_tiles-- + if(traveled_tiles == max_traveled_tiles - 1) // Just lost our speed buff + mod.update_speed() + + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) + part.set_armor(part.get_armor().subtract_other_armor(armor_mod)) + + if(traveled_tiles <= 0) + balloon_alert(mod.wearer, "ran out of ash!") /obj/item/mod/module/sphere_transform name = "MOD sphere transform module" @@ -483,17 +575,60 @@ active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/sphere_transform) - cooldown_time = 1.25 SECONDS + cooldown_time = 1 SECONDS required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_MASK, ITEM_SLOT_OCLOTHING|ITEM_SLOT_ICLOTHING, ITEM_SLOT_GLOVES, ITEM_SLOT_FEET) /// Time it takes us to complete the animation. var/animate_time = 0.25 SECONDS + /// Armor values when active + var/datum/armor/armor_mod = /datum/armor/mod_sphere_transform /// List of traits to add/remove from our subject as needed. - var/static/list/user_traits = list( + var/list/user_traits = list( TRAIT_FORCED_STANDING, TRAIT_HANDS_BLOCKED, - TRAIT_LAVA_IMMUNE, TRAIT_NO_SLIP_ALL, ) + /// Has the module been upgraded with bileworm hide plating? + var/hide_upgrade = FALSE + /// How much hide is required to reinforce the MOD + var/hide_amount = 2 // These are rather rare as of now, should be increased later once other methods of crossing lava are removed + +/datum/armor/mod_sphere_transform + melee = 20 // Can get up to 70 armor when ash covered and ballin, which is as good as a HECK suit... but you can't really attack anymore + bomb = 20 + +/obj/item/mod/module/sphere_transform/on_install() + . = ..() + RegisterSignal(mod, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_item_interaction)) + +// Isn't supposed to happen outside of deletion but just in case +/obj/item/mod/module/sphere_transform/on_uninstall(deleting) + . = ..() + // No need to drop the hide as we're supposed to be inbuilt and unremovable + UnregisterSignal(mod, COMSIG_ATOM_ITEM_INTERACTION) + +/obj/item/mod/module/sphere_transform/proc/on_item_interaction(atom/movable/source, mob/living/user, obj/item/item, modifiers) + SIGNAL_HANDLER + + if(!istype(item, /obj/item/stack/sheet/animalhide/bileworm)) + return NONE + + if (hide_upgrade) + to_chat(user, span_warning("[mod] is already reinforced with bileworm skin!")) + return ITEM_INTERACT_BLOCKING + + var/obj/item/stack/sheet/animalhide/bileworm/hide = item + if (!hide.use(hide_amount)) + to_chat(user, span_warning("You need more hide to fully reinforce [mod]!")) + return ITEM_INTERACT_BLOCKING + + hide_upgrade = TRUE + overlay_state_inactive = "module_bileworm_bracing" + user_traits += TRAIT_LAVA_IMMUNE + mod.balloon_alert(user, "plating reinforced!") + if (active) + ADD_TRAIT(mod.wearer, TRAIT_LAVA_IMMUNE, REF(src)) + update_clothing_slots() + return ITEM_INTERACT_SUCCESS /obj/item/mod/module/sphere_transform/activate(mob/activator) if(!mod.wearer.has_gravity()) @@ -507,13 +642,15 @@ mod.wearer.add_filter("mod_blur", 2, angular_blur_filter(size = 15)) mod.wearer.add_filter("mod_outline", 3, outline_filter(color = "#000000AA")) mod.wearer.add_offsets(REF(src), y_add = -4) - mod.wearer.SpinAnimation(1.5) + mod.wearer.SpinAnimation(1.5, tag = "sphere_transform") mod.wearer.add_traits(user_traits, REF(src)) mod.wearer.RemoveElement(/datum/element/footstep, FOOTSTEP_MOB_HUMAN, 1, -6) mod.wearer.AddElement(/datum/element/footstep, FOOTSTEP_OBJ_ROBOT, 1, -6, sound_vary = TRUE) mod.wearer.add_movespeed_mod_immunities(REF(src), /datum/movespeed_modifier/damage_slowdown) mod.wearer.add_movespeed_modifier(/datum/movespeed_modifier/sphere) RegisterSignal(mod.wearer, COMSIG_MOB_STATCHANGE, PROC_REF(on_statchange)) + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) + part.set_armor(part.get_armor().add_other_armor(armor_mod)) /obj/item/mod/module/sphere_transform/on_deactivation(mob/activator, display_message = TRUE, deleting = FALSE) if(!deleting) @@ -522,11 +659,13 @@ addtimer(CALLBACK(mod.wearer, TYPE_PROC_REF(/datum, remove_filter), list("mod_ball", "mod_blur", "mod_outline")), animate_time) mod.wearer.remove_traits(user_traits, REF(src)) mod.wearer.remove_movespeed_mod_immunities(REF(src), /datum/movespeed_modifier/damage_slowdown) - animate(mod.wearer, time = 0) + animate(mod.wearer, tag = "sphere_transform") mod.wearer.RemoveElement(/datum/element/footstep, FOOTSTEP_OBJ_ROBOT, 1, -6, sound_vary = TRUE) mod.wearer.AddElement(/datum/element/footstep, FOOTSTEP_MOB_HUMAN, 1, -6) mod.wearer.remove_movespeed_modifier(/datum/movespeed_modifier/sphere) UnregisterSignal(mod.wearer, COMSIG_MOB_STATCHANGE) + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) + part.set_armor(part.get_armor().subtract_other_armor(armor_mod)) /obj/item/mod/module/sphere_transform/used(mob/activator) if(!lavaland_equipment_pressure_check(get_turf(src))) @@ -539,7 +678,7 @@ . = ..() if(!.) return - var/obj/projectile/bomb = new /obj/projectile/bullet/mining_bomb(mod.wearer.loc) + var/obj/projectile/bullet/mining_bomb/bomb = new(mod.wearer.loc) bomb.aim_projectile(target, mod.wearer) bomb.firer = mod.wearer playsound(src, 'sound/items/weapons/gun/general/grenade_launch.ogg', 75, TRUE) @@ -547,17 +686,13 @@ drain_power(use_energy_cost) /obj/item/mod/module/sphere_transform/on_active_process(seconds_per_tick) - animate(mod.wearer) //stop the animation - mod.wearer.SpinAnimation(1.5) //start it back again if(!mod.wearer.has_gravity()) deactivate() //deactivate in no grav /obj/item/mod/module/sphere_transform/proc/on_statchange(datum/source) SIGNAL_HANDLER - - if(!mod.wearer.stat) - return - deactivate() + if(mod.wearer.stat) + deactivate() /obj/projectile/bullet/mining_bomb name = "mining bomb" @@ -596,46 +731,32 @@ light_power = 1 light_color = COLOR_LIGHT_ORANGE /// Time to prime the explosion - var/prime_time = 0.5 SECONDS + var/prime_time = 0.1 SECONDS /// Time to explode from the priming - var/explosion_time = 1 SECONDS + var/explosion_time = 0.9 SECONDS // Roughly this much until the blast part of the explosion animation /// Damage done on explosion. - var/damage = 12 + var/damage = 7 /// Damage multiplier on hostile fauna. var/fauna_boost = 4 - /// Image overlaid on explosion. - var/static/image/explosion_image - -/obj/structure/mining_bomb/Initialize(mapload, atom/movable/firer) - . = ..() - generate_image() - -/obj/structure/mining_bomb/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - if(same_z_layer) - return ..() - explosion_image = null - generate_image() - return ..() - -/obj/structure/mining_bomb/proc/generate_image() - explosion_image = image('icons/effects/96x96.dmi', "judicial_explosion") - explosion_image.pixel_w = -32 - explosion_image.pixel_z = -32 - SET_PLANE_EXPLICIT(explosion_image, ABOVE_GAME_PLANE, src) /obj/structure/mining_bomb/proc/prime(atom/movable/firer) - add_overlay(explosion_image) + var/mutable_appearance/explosion_image = mutable_appearance('icons/effects/96x96.dmi', "judicial_explosion", FLOAT_LAYER, src, ABOVE_GAME_PLANE) + explosion_image.pixel_w = -32 + explosion_image.pixel_z = -32 + var/turf/our_loc = get_turf(src) + our_loc.flick_overlay_view(explosion_image, 1.35 SECONDS) addtimer(CALLBACK(src, PROC_REF(boom), firer), explosion_time) /obj/structure/mining_bomb/proc/boom(atom/movable/firer) visible_message(span_danger("[src] explodes!")) playsound(src, 'sound/effects/magic/magic_missile.ogg', 200, vary = TRUE) - for(var/turf/closed/mineral/rock in circle_range_turfs(src, 2)) + for(var/turf/closed/mineral/rock in circle_range_turfs(src, 1)) rock.gets_drilled() for(var/mob/living/victim in range(1, src)) if(HAS_TRAIT(victim, TRAIT_MINING_AOE_IMMUNE)) continue victim.apply_damage(damage * (ismining(victim) ? fauna_boost : 1), BRUTE, spread_damage = TRUE) + to_chat(victim, span_userdanger("You are hit by a mining bomb explosion!")) if(!firer) continue if(ishostile(victim)) diff --git a/code/modules/modular_computers/file_system/programs/dept_order.dm b/code/modules/modular_computers/file_system/programs/dept_order.dm index e640d5ecb37..3677890dd0f 100644 --- a/code/modules/modular_computers/file_system/programs/dept_order.dm +++ b/code/modules/modular_computers/file_system/programs/dept_order.dm @@ -266,7 +266,7 @@ GLOBAL_VAR(department_cd_override) return FALSE /datum/aas_config_entry/department_orders - name = "Departmental Order Announcement" + name = "Departmental: Order Announcement" announcement_lines_map = list( "Order Placed" = "A department order has been placed by %PERSON for %ORDER.", "Cooldown Reset" = "Department order cooldown has expired! A new order may now be placed!", diff --git a/code/modules/pai/pai.dm b/code/modules/pai/pai.dm index c3914a88064..cd69226a886 100644 --- a/code/modules/pai/pai.dm +++ b/code/modules/pai/pai.dm @@ -59,12 +59,8 @@ var/master_name /// DNA string for owner verification var/master_dna - /// Toggles whether the Medical HUD is active or not - var/medHUD = FALSE /// Used as currency to purchase different abilities var/ram = 100 - /// Toggles whether the Security HUD is active or not - var/secHUD = FALSE /// The current leash to the owner var/datum/component/leash/leash diff --git a/code/modules/pai/software.dm b/code/modules/pai/software.dm index 359cddce5e0..9a25f141e28 100644 --- a/code/modules/pai/software.dm +++ b/code/modules/pai/software.dm @@ -224,6 +224,9 @@ stack_trace("Invalid mode passed to host scan: [mode || "null"]") return FALSE +/// Huds from PAI software +#define PAI_HUD_TRAIT "pai_hud" + /** * Proc that toggles any active huds based on the option. * @@ -232,18 +235,16 @@ /mob/living/silicon/pai/proc/toggle_hud(mode) if(isnull(mode)) return FALSE - var/datum/atom_hud/hud - var/hud_on if(mode == PAI_TOGGLE_MEDICAL_HUD) - hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medHUD = !medHUD - hud_on = medHUD + if(HAS_TRAIT_FROM(src, TRAIT_MEDICAL_HUD, PAI_HUD_TRAIT)) + REMOVE_TRAIT(src, TRAIT_MEDICAL_HUD, PAI_HUD_TRAIT) + else + ADD_TRAIT(src, TRAIT_MEDICAL_HUD, PAI_HUD_TRAIT) if(mode == PAI_TOGGLE_SECURITY_HUD) - hud = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] - secHUD = !secHUD - hud_on = secHUD - if(hud_on) - hud.show_to(src) - else - hud.hide_from(src) + if(HAS_TRAIT_FROM(src, TRAIT_SECURITY_HUD, PAI_HUD_TRAIT)) + REMOVE_TRAIT(src, TRAIT_SECURITY_HUD, PAI_HUD_TRAIT) + else + ADD_TRAIT(src, TRAIT_SECURITY_HUD, PAI_HUD_TRAIT) return TRUE + +#undef PAI_HUD_TRAIT diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 8c6e468ab16..e769a69eb47 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -77,7 +77,7 @@ SET_BASE_PIXEL(-8, 0) /obj/item/gun/ballistic/rifle/boltaction/add_bayonet_point() - AddComponent(/datum/component/bayonet_attachable, offset_x = 32, offset_y = 12) + AddComponent(/datum/component/bayonet_attachable, offset_x = 41, offset_y = 14, bayonet_overlay = "bayonet_thin") /obj/item/gun/ballistic/rifle/boltaction/sawoff(mob/user) . = ..() @@ -142,6 +142,9 @@ accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/surplus can_jam = TRUE +/obj/item/gun/ballistic/rifle/boltaction/surplus/add_bayonet_point() + AddComponent(/datum/component/bayonet_attachable, offset_x = 41, offset_y = 14, bayonet_overlay = "bayonet_thin_surplus") + /obj/item/gun/ballistic/rifle/boltaction/prime name = "\improper Sakhno-Zhihao Sporting Rifle" desc = "An upgrade and modernisation of the original Sakhno rifle, made with such wonders as \ diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 620bb89f30c..987e67e6f9a 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -60,6 +60,9 @@ spread = 14 pin = /obj/item/firing_pin/implant/pindicate +/obj/item/gun/energy/laser/carbine/cybersun/unrestricted + pin = /obj/item/firing_pin + /obj/item/gun/energy/laser/carbine/practice name = "practice laser carbine" desc = "A modified version of the laser carbine, this one fires even less concentrated energy bolts designed for target practice." diff --git a/code/modules/reagents/chem_splash.dm b/code/modules/reagents/chem_splash.dm index 3c3cab81d27..a4b6d2a622c 100644 --- a/code/modules/reagents/chem_splash.dm +++ b/code/modules/reagents/chem_splash.dm @@ -52,7 +52,7 @@ for(var/datum/reagents/reactant as anything in reactants) reactant.trans_to(holder, reactant.total_volume, threatscale, no_react = TRUE) - holder.chem_temp += extra_heat // Average temperature of reagents + extra heat. + holder.chem_temp = max(holder.chem_temp + extra_heat, TCMB) // Average temperature of reagents + extra heat. holder.handle_reactions() // React them now. if(holder.total_volume) diff --git a/code/modules/reagents/chemistry/holder/holder.dm b/code/modules/reagents/chemistry/holder/holder.dm index 13cd0541e87..37dcffec79b 100644 --- a/code/modules/reagents/chemistry/holder/holder.dm +++ b/code/modules/reagents/chemistry/holder/holder.dm @@ -776,10 +776,8 @@ * * coeff - multiplier to be applied on temp diff between param temp and current temp */ /datum/reagents/proc/expose_temperature(temperature, coeff = 0.02) - if(istype(my_atom,/obj/item/reagent_containers)) - var/obj/item/reagent_containers/RCs = my_atom - if(RCs.reagent_flags & NO_REACT) //stasis holders IE cryobeaker - return + if(flags & NO_REACT) //stasis holders IE cryobeaker + return var/temp_delta = (temperature - chem_temp) * coeff if(temp_delta > 0) chem_temp = min(chem_temp + max(temp_delta, 1), temperature) diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm index b868d2423ea..7cf10157aad 100644 --- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm +++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm @@ -33,8 +33,6 @@ /obj/machinery/chem_mass_spec/Initialize(mapload) . = ..() - ADD_TRAIT(src, TRAIT_DO_NOT_SPLASH, INNATE_TRAIT) - if(mapload) beaker2 = new /obj/item/reagent_containers/cup/beaker/large(src) diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 5b0df5747b4..b44ff4b098d 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -518,7 +518,7 @@ if(selected_container == default_container) // Tubes and bottles gain reagent name item_name_default = "[master_reagent.name] [item_name_default]" // BUBBER EDIT: needed for pen_medipens and bugfixes - else if(!(initial(selected_container.reagent_flags) & OPENCONTAINER)) // Closed containers get both reagent name and units in the name + else if(!(initial(selected_container.initial_reagent_flags) & OPENCONTAINER)) // Closed containers get both reagent name and units in the name item_name_default = "[master_reagent.name] [item_name_default] ([volume_in_each]u)" else // yeah, its kinda dumb item_name_default = "[master_reagent.name] [item_name_default]" diff --git a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm index c65c7bc771d..8e1dae733b0 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm @@ -1337,8 +1337,9 @@ /datum/reagent/consumable/ethanol/fetching_fizz/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) . = ..() - for(var/obj/item/stack/ore/O in orange(3, drinker)) - step_towards(O, get_turf(drinker)) + var/turf/drinker_turf = get_turf(drinker) + for(var/obj/item/stack/ore/ore in orange(3, drinker)) + step_towards(ore, drinker_turf) //Another reference. Heals those in critical condition extremely quickly. /datum/reagent/consumable/ethanol/hearty_punch @@ -2893,7 +2894,7 @@ quality = DRINK_VERYGOOD taste_description = "the aloha state" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - + /datum/reagent/consumable/ethanol/boston_sour name = "Boston Sour" description = "Whiskey sour texturally elevated by an egg white." @@ -2984,7 +2985,7 @@ affected_mob.adjust_disgust(-5 * REM * seconds_per_tick) //removes disgust, same with sol dry if(affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -0.5 * REM * seconds_per_tick * normalise_creation_purity(), required_organ_flag = affected_organ_flags)) //heals brain damage very slowly, about 12 damage per 5u return UPDATE_MOB_HEALTH - + /datum/reagent/consumable/ethanol/blue_blazer name = "Blue Blazer" description = "The signature drink of a legendary bartender from the 19th century. While remembered for how he innovated the art of bartending, at the end of the day this drink is really just warmed and sweetened whiskey." @@ -2993,7 +2994,7 @@ quality = DRINK_NICE taste_description = "scorched sweet whiskey" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - + /datum/reagent/consumable/ethanol/blue_blazer/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_bodytemperature(25 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 537b525554d..85dba88c139 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1576,21 +1576,21 @@ /datum/reagent/nitrous_oxide/on_mob_metabolize(mob/living/affected_mob) . = ..() if(!HAS_TRAIT(affected_mob, TRAIT_COAGULATING)) //IF the mob does not have a coagulant in them, we add the blood mess trait to make the bleed quicker - ADD_TRAIT(affected_mob, TRAIT_BLOODY_MESS, type) + ADD_TRAIT(affected_mob, TRAIT_BLOOD_FOUNTAIN, type) /datum/reagent/nitrous_oxide/on_mob_end_metabolize(mob/living/affected_mob) . = ..() - REMOVE_TRAIT(affected_mob, TRAIT_BLOODY_MESS, type) + REMOVE_TRAIT(affected_mob, TRAIT_BLOOD_FOUNTAIN, type) /datum/reagent/nitrous_oxide/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_drowsiness(4 SECONDS * REM * seconds_per_tick) - if(!HAS_TRAIT(affected_mob, TRAIT_BLOODY_MESS) && !HAS_TRAIT(affected_mob, TRAIT_COAGULATING)) //So long as they do not have a coagulant, if they did not have the bloody mess trait, they do now - ADD_TRAIT(affected_mob, TRAIT_BLOODY_MESS, type) + if(!HAS_TRAIT(affected_mob, TRAIT_BLOOD_FOUNTAIN) && !HAS_TRAIT(affected_mob, TRAIT_COAGULATING)) //So long as they do not have a coagulant, if they did not have the bloody mess trait, they do now + ADD_TRAIT(affected_mob, TRAIT_BLOOD_FOUNTAIN, type) else if(HAS_TRAIT(affected_mob, TRAIT_COAGULATING)) //if we find they now have a coagulant, we remove the trait - REMOVE_TRAIT(affected_mob, TRAIT_BLOODY_MESS, type) + REMOVE_TRAIT(affected_mob, TRAIT_BLOOD_FOUNTAIN, type) if(SPT_PROB(10, seconds_per_tick)) affected_mob.losebreath += 2 diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index ab4de8a550e..7ef27ee33db 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -1055,7 +1055,7 @@ toxpwr = 0 ph = 11.6 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - metabolized_traits = list(TRAIT_BLOODY_MESS) + metabolized_traits = list(TRAIT_BLOOD_FOUNTAIN) /datum/reagent/toxin/heparin/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) if(holder.has_reagent(/datum/reagent/medicine/coagulant)) //Directly purges coagulants from the system. Get rid of the heparin BEFORE attempting to use coagulants. diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 8ef6e4bb2bc..f79dc3f3f27 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -14,8 +14,8 @@ var/list/possible_transfer_amounts = list(5,10,15,20,25,30) /// The maximum amount of reagents this container can hold var/volume = 30 - /// Reagent flags, a few examples being if the container is open or not, if its transparent, if you can inject stuff in and out of the container, and so on - var/reagent_flags + /// The base reagent flags that our reagent datum takes on when created + var/initial_reagent_flags = NONE /// A list of what initial reagents this container should spawn with var/list/list_reagents = null /// The purity of the spawned reagents in list_reagents. Default purity if `null` @@ -74,7 +74,9 @@ . = ..() if(isnum(vol) && vol > 0) volume = vol - create_reagents(volume, reagent_flags) + if(!force) + item_flags |= NOBLUDGEON + create_reagents(volume, initial_reagent_flags) if(spawned_disease) var/datum/disease/F = new spawned_disease() var/list/data = list("viruses"= list(F)) @@ -97,18 +99,16 @@ . = ..() RegisterSignal(reagents, COMSIG_REAGENTS_HOLDER_UPDATED, PROC_REF(on_reagent_change)) -/obj/item/reagent_containers/attack(mob/living/target_mob, mob/living/user, list/modifiers, list/attack_modifiers) - if (!user.combat_mode) - return - return ..() - /obj/item/reagent_containers/proc/add_initial_reagents() if(list_reagents) reagents.add_reagent_list(list_reagents, added_purity = list_reagents_purity) /obj/item/reagent_containers/attack_self(mob/user) + if(reagents.flags & SEALED_CONTAINER) + return TRUE if(has_variable_transfer_amount) change_transfer_amount(user, FORWARD) + return TRUE /obj/item/reagent_containers/attack_self_secondary(mob/user) if(has_variable_transfer_amount) @@ -133,19 +133,16 @@ balloon_alert(user, "transferring [amount_per_transfer_from_this]u") mode_change_message(user) -/obj/item/reagent_containers/pre_attack_secondary(atom/target, mob/living/user, list/modifiers, list/attack_modifiers) - if(HAS_TRAIT(target, TRAIT_DO_NOT_SPLASH)) - return ..() +/obj/item/reagent_containers/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) if(!user.combat_mode) - return ..() - if (try_splash(user, target)) - return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN - - return ..() + return NONE // non-combat-mode-rmb allows for stuff like opening containers or attacking (bottle breaking) + if(try_splash(user, interacting_with)) + return ITEM_INTERACT_SUCCESS + return NONE /// Tries to splash the target, called when right-clicking with a reagent container. /obj/item/reagent_containers/proc/try_splash(mob/user, atom/target) - if (!spillable || reagent_flags & SMART_CAP) + if (!is_open_container() || (reagents.flags & NO_SPLASH)) return FALSE if (!reagents?.total_volume) @@ -153,7 +150,6 @@ var/punctuation = ismob(target) ? "!" : "." - var/reagent_text user.visible_message( span_danger("[user] splashes the contents of [src] onto [target][punctuation]"), span_danger("You splash the contents of [src] onto [target][punctuation]"), @@ -176,11 +172,8 @@ splash_animation.color = mix_color_from_reagents(reagents.reagent_list) target.flick_overlay_view(splash_animation, 1 SECONDS) - for(var/datum/reagent/reagent as anything in reagents.reagent_list) - reagent_text += "[reagent] ([num2text(reagent.volume)])," - reagents.expose(target, TOUCH) - log_combat(user, target, "splashed", reagent_text) + log_combat(user, target, "splashed", reagents.get_reagent_log_string()) reagents.clear_reagents() return TRUE @@ -188,6 +181,9 @@ /obj/item/reagent_containers/proc/canconsume(mob/eater, mob/user) if(!iscarbon(eater)) return FALSE + if(!reagents || !reagents.total_volume) + to_chat(user, span_warning("[src] is empty!")) + return FALSE var/mob/living/carbon/as_carbon = eater var/covered = "" if(as_carbon.is_mouth_covered(ITEM_SLOT_HEAD)) @@ -200,6 +196,18 @@ return FALSE return TRUE +/// Sets reagent flags to the passed flags outright +/obj/item/reagent_containers/proc/update_container_flags(new_flags) + reagents.flags = new_flags + +/// Adds the passed flags to the current reagent flags +/obj/item/reagent_containers/proc/add_container_flags(new_flags) + reagents.flags |= new_flags + +/// Resets to base flags +/obj/item/reagent_containers/proc/reset_container_flags() + reagents.flags = initial_reagent_flags + /* * On accidental consumption, transfer a portion of the reagents to the eater and the item it's in, then continue to the base proc (to deal with shattering glass containers) */ @@ -214,37 +222,40 @@ /obj/item/reagent_containers/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum, do_splash = TRUE) . = ..() if(do_splash) - SplashReagents(hit_atom, throwingdatum) + splash_reagents(hit_atom, throwingdatum?.get_thrower(), was_thrown = TRUE, allow_closed_splash = FALSE) /obj/item/reagent_containers/proc/bartender_check(atom/target, mob/thrown_by) . = FALSE if(target.CanPass(src, get_dir(target, src)) && thrown_by && HAS_TRAIT(thrown_by, TRAIT_BOOZE_SLIDER)) . = TRUE -/obj/item/reagent_containers/proc/SplashReagents(atom/target, datum/thrownthing/throwingdatum, override_spillable = FALSE) - if(!reagents || !reagents.total_volume || (!spillable && !override_spillable) || reagent_flags & SMART_CAP) +/** + * Attempts to splash the reagents in the container onto the target. + * + * * target - The target to splash the reagents onto. + * * throwingdatum - The throwingdatum behind the throw if the + */ +/obj/item/reagent_containers/proc/splash_reagents(atom/target, mob/splasher, was_thrown = FALSE, allow_closed_splash = FALSE) + if(!reagents || !reagents.total_volume || (!is_open_container() && !allow_closed_splash) || (reagents.flags & NO_SPLASH)) return - var/mob/thrown_by = throwingdatum?.get_thrower() if(ismob(target) && target.reagents) var/splash_multiplier = 1 - if(throwingdatum) + if(was_thrown) splash_multiplier *= (rand(5,10) * 0.1) //Not all of it makes contact with the target + var/turf_splash_multiplier = 1 - splash_multiplier var/mob/M = target var/turf/target_turf = get_turf(target) - var/R target.visible_message(span_danger("[M] is splashed with something!"), \ span_userdanger("[M] is splashed with something!")) - for(var/datum/reagent/A in reagents.reagent_list) - R += "[A.type] ([num2text(A.volume)])," - - if(thrown_by) - log_combat(thrown_by, M, "splashed", R) + if(splasher) + log_combat(splasher, M, "splashed", src, "containing [reagents.get_reagent_log_string()] [was_thrown ? "(thrown)" : ""]") reagents.expose(target, TOUCH, splash_multiplier) - reagents.expose(target_turf, TOUCH, (1 - splash_multiplier)) // 1 - splash_multiplier because it's what didn't hit the target - target_turf.add_liquid_from_reagents(reagents, reagent_multiplier = (1 - splash_multiplier)) // SKYRAT EDIT ADDITION - liquid spills (molotov buff) (huge) + if(turf_splash_multiplier > 0) + reagents.expose(target_turf, TOUCH, turf_splash_multiplier) // 1 - splash_multiplier because it's what didn't hit the target + target_turf.add_liquid_from_reagents(reagents, reagent_multiplier = (1 - splash_multiplier)) // SKYRAT EDIT ADDITION - liquid spills (molotov buff) (huge) - else if(throwingdatum && bartender_check(target, thrown_by)) + else if(bartender_check(target, splasher) && was_thrown) visible_message(span_notice("[src] lands onto \the [target] without spilling a single drop.")) return @@ -252,14 +263,13 @@ //SKYRAT EDIT CHANGE START - liquid spills on non-mobs if(target.can_liquid_spill_on_hit()) target.add_liquid_from_reagents(reagents, thrown_from = src, thrown_to = target) - if(reagents.reagent_list.len && thrown_by) - log_combat(thrown_by, target, "splashed (thrown) [english_list(reagents.reagent_list)]", "in [AREACOORD(target)]") - log_game("[key_name(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [AREACOORD(target)].") - message_admins("[ADMIN_LOOKUPFLW(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [ADMIN_VERBOSEJMP(target)].") + if(isturf(target) && length(reagents.reagent_list) && splasher) + log_combat(splasher, target, "splashed [english_list(reagents.reagent_list)]", src, "in [AREACOORD(target)] [was_thrown ? "(thrown)" : ""]") + message_admins("[ADMIN_LOOKUPFLW(splasher)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [ADMIN_VERBOSEJMP(target)].") else + visible_message(span_notice("[src] spills its contents all over [target].")) reagents.expose(target, TOUCH) //SKYRAT EDIT END - visible_message("[src] spills its contents all over [target].") if(QDELETED(src)) return @@ -387,3 +397,35 @@ // If consumed in crafting, we should dump contents out before qdeling them. if(!is_type_in_list(src, current_recipe.parts)) reagents.expose(loc, TOUCH) + +/obj/item/reagent_containers/proc/try_refill(atom/target, mob/living/user) + if(!reagents.total_volume) + to_chat(user, span_warning("[src] is empty!")) + return ITEM_INTERACT_BLOCKING + + if(target.reagents.holder_full()) + to_chat(user, span_warning("[target] is full.")) + return ITEM_INTERACT_BLOCKING + + var/trans = round(reagents.trans_to(target, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) + playsound(target.loc, SFX_LIQUID_POUR, 50, TRUE) + to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target].")) + SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_TO, target) + target.update_appearance() + return ITEM_INTERACT_SUCCESS + +/obj/item/reagent_containers/proc/try_drain(atom/target, mob/living/user) + if(!target.reagents.total_volume) + to_chat(user, span_warning("[target] is empty and can't be refilled!")) + return ITEM_INTERACT_BLOCKING + + if(reagents.holder_full()) + to_chat(user, span_warning("[src] is full.")) + return ITEM_INTERACT_BLOCKING + + var/trans = round(target.reagents.trans_to(src, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) + playsound(target.loc, SFX_LIQUID_POUR, 50, TRUE) + to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [target].")) + SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_FROM, target) + target.update_appearance() + return ITEM_INTERACT_SUCCESS diff --git a/code/modules/reagents/reagent_containers/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm index 98ffa2e596e..abe9d39dab9 100644 --- a/code/modules/reagents/reagent_containers/chem_pack.dm +++ b/code/modules/reagents/reagent_containers/chem_pack.dm @@ -4,43 +4,30 @@ icon = 'icons/obj/medical/bloodpack.dmi' icon_state = "chempack" volume = 100 - reagent_flags = OPENCONTAINER - spillable = TRUE + initial_reagent_flags = OPENCONTAINER obj_flags = UNIQUE_RENAME resistance_flags = ACID_PROOF fill_icon_thresholds = list(10, 20, 30, 40, 50, 60, 70, 80, 90, 100) has_variable_transfer_amount = FALSE interaction_flags_click = NEED_DEXTERITY - /// Whether this has been sealed shut - var/sealed = FALSE /obj/item/reagent_containers/chem_pack/click_alt(mob/living/user) - if(sealed) - balloon_alert(user, "sealed!") + if(reagents.flags & SEALED_CONTAINER) + balloon_alert(user, "already sealed!") return CLICK_ACTION_BLOCKING if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))) to_chat(user, span_warning("Uh... whoops! You accidentally spill the content of the bag onto yourself.")) - SplashReagents(user) + splash_reagents(user, user, allow_closed_splash = TRUE) return CLICK_ACTION_BLOCKING - reagents.flags = NONE - reagent_flags = DRAWABLE | INJECTABLE //To allow for sabotage or ghetto use. - reagents.flags = reagent_flags - spillable = FALSE - sealed = TRUE + update_container_flags(SEALED_CONTAINER | DRAWABLE | INJECTABLE) balloon_alert(user, "sealed") return CLICK_ACTION_SUCCESS /obj/item/reagent_containers/chem_pack/examine() . = ..() - if(sealed) + if(reagents.flags & SEALED_CONTAINER) . += span_notice("The bag is sealed shut.") else . += span_notice("Alt-click to seal it.") - - -/obj/item/reagent_containers/chem_pack/attack_self(mob/user) - if(sealed) - return - ..() diff --git a/code/modules/reagents/reagent_containers/condiment.dm b/code/modules/reagents/reagent_containers/condiment.dm index ed18b9672f5..99247ca1191 100644 --- a/code/modules/reagents/reagent_containers/condiment.dm +++ b/code/modules/reagents/reagent_containers/condiment.dm @@ -13,7 +13,7 @@ inhand_icon_state = "beer" //Generic held-item sprite until unique ones are made. lefthand_file = 'icons/mob/inhands/items/drinks_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/drinks_righthand.dmi' - reagent_flags = OPENCONTAINER + initial_reagent_flags = OPENCONTAINER obj_flags = UNIQUE_RENAME possible_transfer_amounts = list(1, 5, 10, 15, 20, 25, 30, 50) volume = 50 @@ -40,59 +40,61 @@ user.visible_message(span_suicide("[user] is trying to eat the entire [src]! It looks like [user.p_they()] forgot how food works!")) return OXYLOSS -/obj/item/reagent_containers/condiment/attack(mob/M, mob/user, def_zone) +/obj/item/reagent_containers/condiment/proc/try_eat(atom/target, mob/living/user) + if(!canconsume(target, user)) + return ITEM_INTERACT_BLOCKING - if(!reagents || !reagents.total_volume) - to_chat(user, span_warning("None of [src] left, oh no!")) - return FALSE - - if(!canconsume(M, user)) - return FALSE - - if(M == user) - user.visible_message(span_notice("[user] swallows some of the contents of \the [src]."), \ - span_notice("You swallow some of the contents of \the [src].")) + if(target == user) + user.visible_message( + span_notice("[user] swallows some of the contents of \the [src]."), + span_notice("You swallow some of the contents of \the [src]."), + ) else - M.visible_message(span_warning("[user] attempts to feed [M] from [src]."), \ - span_warning("[user] attempts to feed you from [src].")) - if(!do_after(user, 3 SECONDS, M)) - return + target.visible_message( + span_warning("[user] attempts to feed [target] from [src]."), + span_warning("[user] attempts to feed you from [src]."), + ) + if(!do_after(user, 3 SECONDS, target)) + return ITEM_INTERACT_BLOCKING if(!reagents || !reagents.total_volume) - return // The condiment might be empty after the delay. - M.visible_message(span_warning("[user] fed [M] from [src]."), \ - span_warning("[user] fed you from [src].")) - log_combat(user, M, "fed", reagents.get_reagent_log_string()) + return ITEM_INTERACT_BLOCKING // The condiment might be empty after the delay. + target.visible_message( + span_warning("[user] fed [target] from [src]."), + span_warning("[user] fed you from [src]."), + ) + log_combat(user, target, "fed", reagents.get_reagent_log_string()) SEND_SIGNAL(M, COMSIG_GLASS_DRANK, src, user) // SKYRAT EDIT ADDITION - Hemophages can't casually drink what's not going to regenerate their blood - reagents.trans_to(M, 10, transferred_by = user, methods = INGEST) - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), TRUE) - return TRUE + reagents.trans_to(target, 10, transferred_by = user, methods = INGEST) + playsound(target, 'sound/items/drink.ogg', rand(10, 50), TRUE) + return ITEM_INTERACT_SUCCESS /obj/item/reagent_containers/condiment/interact_with_atom(atom/target, mob/living/user, list/modifiers) - if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - if(!target.reagents.total_volume) - to_chat(user, span_warning("[target] is empty!")) - return ITEM_INTERACT_BLOCKING - - if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, span_warning("[src] is full!")) - return ITEM_INTERACT_BLOCKING - - var/trans = round(target.reagents.trans_to(src, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) - to_chat(user, span_notice("You fill [src] with [trans] units of the contents of [target].")) - return ITEM_INTERACT_SUCCESS + if(!is_open_container()) + return NONE //Something like a glass or a food item. Player probably wants to transfer TO it. - else if(target.is_drainable() || IS_EDIBLE(target)) - if(!reagents.total_volume) - to_chat(user, span_warning("[src] is empty!")) - return ITEM_INTERACT_BLOCKING - if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, span_warning("you can't add anymore to [target]!")) - return ITEM_INTERACT_BLOCKING - var/trans = round(reagents.trans_to(target, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) - to_chat(user, span_notice("You transfer [trans] units of the condiment to [target].")) - return ITEM_INTERACT_SUCCESS + if(target.is_refillable() || IS_EDIBLE(target)) + return try_refill(target, user) + //A dispenser. Transfer FROM it TO us. + if(target.is_drainable()) + return try_drain(target, user) + //Eating directly from the ketchup packet + if(isliving(target)) + return try_eat(target, user) + + return NONE + + +/obj/item/reagent_containers/condiment/interact_with_atom_secondary(atom/target, mob/living/user, list/modifiers) + . = ..() + if(. & ITEM_INTERACT_ANY_BLOCKER) + return . + if(!is_open_container()) + return NONE + //A dispenser. Transfer FROM it TO us. + if(target.is_drainable()) + return try_drain(target, user) return NONE @@ -445,8 +447,8 @@ SHOULD_CALL_PARENT(FALSE) return -/obj/item/reagent_containers/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. - return +/obj/item/reagent_containers/condiment/pack/try_eat(atom/target, mob/living/user) + return NONE /obj/item/reagent_containers/condiment/pack/interact_with_atom(atom/target, mob/living/user, list/modifiers) //You can tear the bag open above food to put the condiments on it, obviously. diff --git a/code/modules/reagents/reagent_containers/cooler_jug.dm b/code/modules/reagents/reagent_containers/cooler_jug.dm index 89fc7f1ea2a..8d0b628ceda 100644 --- a/code/modules/reagents/reagent_containers/cooler_jug.dm +++ b/code/modules/reagents/reagent_containers/cooler_jug.dm @@ -5,7 +5,7 @@ icon_state = "cooler_jug" volume = 200 custom_materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 4) - reagent_flags = REFILLABLE | DRAINABLE | INJECTABLE | DRAWABLE | TRANSPARENT | SMART_CAP + initial_reagent_flags = REFILLABLE | DRAINABLE | INJECTABLE | DRAWABLE | TRANSPARENT | NO_SPLASH spillable = TRUE has_variable_transfer_amount = FALSE interaction_flags_click = NEED_DEXTERITY diff --git a/code/modules/reagents/reagent_containers/cups/_cup.dm b/code/modules/reagents/reagent_containers/cups/_cup.dm index 59f9c7d272b..25123589f78 100644 --- a/code/modules/reagents/reagent_containers/cups/_cup.dm +++ b/code/modules/reagents/reagent_containers/cups/_cup.dm @@ -4,8 +4,7 @@ amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50) volume = 50 - reagent_flags = OPENCONTAINER | DUNKABLE - spillable = TRUE + initial_reagent_flags = OPENCONTAINER | DUNKABLE resistance_flags = ACID_PROOF icon_state = "bottle" lefthand_file = 'icons/mob/inhands/items/drinks_lefthand.dmi' @@ -66,33 +65,28 @@ 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) +/obj/item/reagent_containers/cup/proc/try_drink(mob/living/target_mob, mob/living/user) if(!canconsume(target_mob, user)) - return - - if(!spillable) - return - - if(!reagents || !reagents.total_volume) - to_chat(user, span_warning("[src] is empty!")) - return - - if(!istype(target_mob)) - return + return ITEM_INTERACT_BLOCKING if(target_mob != user) - target_mob.visible_message(span_danger("[user] attempts to feed [target_mob] something from [src]."), \ - span_userdanger("[user] attempts to feed you something from [src].")) + target_mob.visible_message( + span_danger("[user] attempts to feed [target_mob] something from [src]."), + span_userdanger("[user] attempts to feed you something from [src]."), + ) if(!do_after(user, 3 SECONDS, target_mob)) - return + return ITEM_INTERACT_BLOCKING if(!reagents || !reagents.total_volume) - return // The drink might be empty after the delay, such as by spam-feeding - target_mob.visible_message(span_danger("[user] feeds [target_mob] something from [src]."), \ - span_userdanger("[user] feeds you something from [src].")) + return ITEM_INTERACT_BLOCKING // The drink might be empty after the delay, such as by spam-feeding + target_mob.visible_message( + span_danger("[user] feeds [target_mob] something from [src]."), + span_userdanger("[user] feeds you something from [src]."), + ) log_combat(user, target_mob, "fed", reagents.get_reagent_log_string()) else to_chat(user, span_notice("You swallow a gulp of [src].")) + . = ITEM_INTERACT_SUCCESS SEND_SIGNAL(src, COMSIG_GLASS_DRANK, target_mob, user) SEND_SIGNAL(target_mob, COMSIG_GLASS_DRANK, src, user) // SKYRAT EDIT ADDITION - Hemophages can't casually drink what's not going to regenerate their blood var/fraction = min(gulp_size/reagents.total_volume, 1) @@ -100,119 +94,62 @@ checkLiked(fraction, target_mob) playsound(target_mob.loc, consumption_sound, rand(10,50), TRUE) if(!iscarbon(target_mob)) - return + return . var/mob/living/carbon/carbon_drinker = target_mob var/list/diseases = carbon_drinker.get_static_viruses() if(!LAZYLEN(diseases)) - return + return . var/list/datum/disease/diseases_to_add = list() for(var/datum/disease/malady as anything in diseases) if(malady.spread_flags & DISEASE_SPREAD_CONTACT_FLUIDS) diseases_to_add += malady if(LAZYLEN(diseases_to_add)) AddComponent(/datum/component/infective, diseases_to_add) + return . /obj/item/reagent_containers/cup/interact_with_atom(atom/target, mob/living/user, list/modifiers) - if(!check_allowed_items(target, target_self = TRUE)) - return NONE - if(!spillable) + . = ..() + if(. & ITEM_INTERACT_ANY_BLOCKER) + return . + if(!is_open_container()) return NONE if(target.is_refillable()) //Something like a glass. Player probably wants to transfer TO it. - if(!reagents.total_volume) - to_chat(user, span_warning("[src] is empty!")) - return ITEM_INTERACT_BLOCKING - - if(target.reagents.holder_full()) - to_chat(user, span_warning("[target] is full.")) - return ITEM_INTERACT_BLOCKING - - var/trans = round(reagents.trans_to(target, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) - playsound(target.loc, SFX_LIQUID_POUR, 50, TRUE) - to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target].")) - SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_TO, target) - target.update_appearance() - return ITEM_INTERACT_SUCCESS + return try_refill(target, user) if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. - if(!target.reagents.total_volume) - to_chat(user, span_warning("[target] is empty and can't be refilled!")) - return ITEM_INTERACT_BLOCKING + return try_drain(target, user) - if(reagents.holder_full()) - to_chat(user, span_warning("[src] is full.")) - return ITEM_INTERACT_BLOCKING - - var/trans = round(target.reagents.trans_to(src, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) - playsound(target.loc, SFX_LIQUID_POUR, 50, TRUE) - to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [target].")) - SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_FROM, target) - target.update_appearance() - return ITEM_INTERACT_SUCCESS + if(isliving(target)) + return try_drink(target, user) return NONE /obj/item/reagent_containers/cup/interact_with_atom_secondary(atom/target, mob/living/user, list/modifiers) - if(user.combat_mode) - return NONE - if(!check_allowed_items(target, target_self = TRUE)) - return NONE - if(!spillable) + . = ..() + if(. & ITEM_INTERACT_ANY_BLOCKER) + return . + if(!is_open_container()) return NONE if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. - if(!target.reagents.total_volume) - to_chat(user, span_warning("[target] is empty!")) - return ITEM_INTERACT_BLOCKING - - if(reagents.holder_full()) - to_chat(user, span_warning("[src] is full.")) - return ITEM_INTERACT_BLOCKING - - var/trans = round(target.reagents.trans_to(src, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) - playsound(target.loc, SFX_LIQUID_POUR, 50, TRUE) - to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [target].")) - SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_FROM, target) - target.update_appearance() - return ITEM_INTERACT_SUCCESS + return try_drain(target, user) return NONE -/obj/item/reagent_containers/cup/attackby(obj/item/attacking_item, mob/user, list/modifiers, list/attack_modifiers) - var/hotness = attacking_item.get_temperature() - if(hotness && reagents) - reagents.expose_temperature(hotness) - to_chat(user, span_notice("You heat [name] with [attacking_item]!")) - return TRUE - - //Cooling method - if(istype(attacking_item, /obj/item/extinguisher)) - var/obj/item/extinguisher/extinguisher = attacking_item - if(extinguisher.safety) - return TRUE - if (extinguisher.reagents.total_volume < 1) - to_chat(user, span_warning("\The [extinguisher] is empty!")) - return TRUE - var/cooling = (0 - reagents.chem_temp) * extinguisher.cooling_power * 2 - reagents.expose_temperature(cooling) - to_chat(user, span_notice("You cool \the [src] with the [attacking_item]!")) - playsound(loc, 'sound/effects/extinguish.ogg', 75, TRUE, -3) - extinguisher.reagents.remove_all(1) - return TRUE - - if(istype(attacking_item, /obj/item/food/egg)) //breaking eggs - var/obj/item/food/egg/attacking_egg = attacking_item - if(!reagents) - return TRUE +/obj/item/reagent_containers/cup/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(!is_open_container()) + return NONE + if(istype(tool, /obj/item/food/egg)) //breaking eggs if(reagents.holder_full()) to_chat(user, span_notice("[src] is full.")) - else - to_chat(user, span_notice("You break [attacking_egg] in [src].")) - attacking_egg.reagents.trans_to(src, attacking_egg.reagents.total_volume, transferred_by = user) - qdel(attacking_egg) - return TRUE + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("You break [tool] in [src].")) + tool.reagents.trans_to(src, tool.reagents.total_volume, transferred_by = user) + qdel(tool) + return ITEM_INTERACT_SUCCESS - return ..() + return NONE /* * On accidental consumption, make sure the container is partially glass, and continue to the reagent_container proc @@ -296,7 +233,7 @@ reactions. Can hold up to 50 units." icon_state = "beakernoreact" custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT * 1.5) - reagent_flags = OPENCONTAINER | NO_REACT + initial_reagent_flags = OPENCONTAINER | NO_REACT volume = 50 amount_per_transfer_from_this = 10 @@ -411,21 +348,21 @@ melee = 10 acid = 50 -/obj/item/reagent_containers/cup/bucket/attackby(obj/O, mob/user, list/modifiers, list/attack_modifiers) - if(istype(O, /obj/item/mop)) +/obj/item/reagent_containers/cup/bucket/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/mop)) if(reagents.total_volume < 1) user.balloon_alert(user, "empty!") - else - reagents.trans_to(O, 5, transferred_by = user) - user.balloon_alert(user, "doused [O]") - playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) - return - else if(isprox(O)) //This works with wooden buckets for now. Somewhat unintended, but maybe someone will add sprites for it soon(TM) - to_chat(user, span_notice("You add [O] to [src].")) - qdel(O) + return ITEM_INTERACT_BLOCKING + reagents.trans_to(tool, 5, transferred_by = user) + user.balloon_alert(user, "doused [tool]") + playsound(src, 'sound/effects/slosh.ogg', 25, TRUE) + return ITEM_INTERACT_SUCCESS + if(isprox(tool)) //This works with wooden buckets for now. Somewhat unintended, but maybe someone will add sprites for it soon(TM) + to_chat(user, span_notice("You add [tool] to [src].")) + qdel(tool) var/obj/item/bot_assembly/cleanbot/new_cleanbot_ass = new(null, src) user.put_in_hands(new_cleanbot_ass) - return + return ITEM_INTERACT_SUCCESS return ..() @@ -453,11 +390,11 @@ to_chat(user, span_userdanger("[src]'s contents spill all over you!")) reagents.expose(user, TOUCH) reagents.clear_reagents() - reagents.flags = NONE + update_container_flags(NONE) /obj/item/reagent_containers/cup/bucket/dropped(mob/user) . = ..() - reagents.flags = initial(reagent_flags) + reset_container_flags() /obj/item/reagent_containers/cup/bucket/equip_to_best_slot(mob/M) if(reagents.total_volume) //If there is water in a bucket, don't quick equip it to the head @@ -486,8 +423,7 @@ volume = 100 custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT) resistance_flags = FLAMMABLE - reagent_flags = OPENCONTAINER - spillable = TRUE + initial_reagent_flags = OPENCONTAINER var/obj/item/grinded /obj/item/reagent_containers/cup/mortar/click_alt(mob/user) @@ -498,43 +434,45 @@ balloon_alert(user, "ejected") return CLICK_ACTION_SUCCESS -/obj/item/reagent_containers/cup/mortar/attackby(obj/item/I, mob/living/carbon/human/user) - ..() - if(istype(I,/obj/item/pestle)) - if(grinded) - if(user.getStaminaLoss() > 50) - to_chat(user, span_warning("You are too tired to work!")) - return - var/list/choose_options = list( - "Grind" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_grind"), - "Juice" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_juice") - ) - var/picked_option = show_radial_menu(user, src, choose_options, radius = 38, require_near = TRUE) - if(grinded && in_range(src, user) && user.is_holding(I) && picked_option) - to_chat(user, span_notice("You start grinding...")) - if(do_after(user, 2.5 SECONDS, target = src)) - user.adjustStaminaLoss(40) - switch(picked_option) - if("Juice") - return juice_item(grinded, user) - if("Grind") - return grind_item(grinded, user) - else - to_chat(user, span_notice("You try to grind the mortar itself instead of [grinded]. You failed.")) - return - return - else +/obj/item/reagent_containers/cup/mortar/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = ..() + if(. & ITEM_INTERACT_ANY_BLOCKER) + return . + if(istype(tool, /obj/item/pestle)) + if(!grinded) to_chat(user, span_warning("There is nothing to grind!")) - return + return ITEM_INTERACT_BLOCKING + if(user.getStaminaLoss() > 50) + to_chat(user, span_warning("You are too tired to work!")) + return ITEM_INTERACT_BLOCKING + var/list/choose_options = list( + "Grind" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_grind"), + "Juice" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_juice") + ) + var/picked_option = show_radial_menu(user, src, choose_options, radius = 38, require_near = TRUE) + if(!grinded || !in_range(src, user) || !user.is_holding(tool) || !picked_option) + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("You start grinding...")) + if(!do_after(user, 2.5 SECONDS, target = src)) + return ITEM_INTERACT_BLOCKING + user.adjustStaminaLoss(40) + switch(picked_option) + if("Juice") + return juice_item(grinded, user) ? ITEM_INTERACT_BLOCKING : ITEM_INTERACT_SUCCESS + if("Grind") + return grind_item(grinded, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("You try to grind the mortar itself instead of [grinded]. You failed.")) + return ITEM_INTERACT_BLOCKING if(grinded) to_chat(user, span_warning("There is something inside already!")) - return - if(!I.blend_requirements(src)) + return ITEM_INTERACT_BLOCKING + if(!tool.blend_requirements(src)) to_chat(user, span_warning("Cannot grind this!")) - return - if(length(I.grind_results) || I.reagents?.total_volume) - I.forceMove(src) - grinded = I + return ITEM_INTERACT_BLOCKING + if((length(tool.grind_results) || tool.reagents?.total_volume) && user.transferItemToLoc(tool, src)) + grinded = tool + return ITEM_INTERACT_SUCCESS + return NONE /obj/item/reagent_containers/cup/mortar/blended(obj/item/blended_item, grinded) src.grinded = null diff --git a/code/modules/reagents/reagent_containers/cups/bottle.dm b/code/modules/reagents/reagent_containers/cups/bottle.dm index ef0ba9c53bf..f0b79742630 100644 --- a/code/modules/reagents/reagent_containers/cups/bottle.dm +++ b/code/modules/reagents/reagent_containers/cups/bottle.dm @@ -499,13 +499,12 @@ fill_icon_thresholds = list(0, 20, 40, 60, 80, 100) possible_transfer_amounts = list(5, 10) amount_per_transfer_from_this = 5 - spillable = FALSE - /// Do we currently have our pump cap on? - var/cap_on = TRUE /obj/item/reagent_containers/cup/bottle/syrup_bottle/Initialize(mapload) . = ..() register_context() + // this is not done via initial_reagent_flags because it represents state + update_container_flags(SEALED_CONTAINER | TRANSPARENT) /obj/item/reagent_containers/cup/bottle/syrup_bottle/examine(mob/user) . = ..() @@ -515,10 +514,10 @@ /obj/item/reagent_containers/cup/bottle/syrup_bottle/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) . = ..() - context[SCREENTIP_CONTEXT_ALT_LMB] = (cap_on ? "Remove Pump Cap" : "Add Pump Cap") + context[SCREENTIP_CONTEXT_ALT_LMB] = (is_open_container() ? "Add Pump Cap" : "Remove Pump Cap") if(IS_WRITING_UTENSIL(held_item)) context[SCREENTIP_CONTEXT_LMB] = "Write Label" - else if(cap_on && held_item?.is_refillable()) + else if(is_open_container() && held_item?.is_refillable()) context[SCREENTIP_CONTEXT_LMB] = "Use Pump" return CONTEXTUAL_SCREENTIP_SET @@ -527,7 +526,7 @@ /obj/item/reagent_containers/cup/bottle/syrup_bottle/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if(IS_WRITING_UTENSIL(tool)) return writing_utensil_act(user, tool) - if(cap_on && tool.is_refillable()) + if(is_open_container() && tool.is_refillable()) return refillable_act(user, tool) return ..() @@ -561,18 +560,22 @@ update_appearance() return ITEM_INTERACT_SUCCESS -/obj/item/reagent_containers/cup/bottle/syrup_bottle/click_alt(mob/user) - cap_on = !cap_on - if(cap_on) - icon_state = "syrup" - spillable = FALSE - balloon_alert(user, "put pump cap on") - else +/obj/item/reagent_containers/cup/bottle/syrup_bottle/update_icon_state() + . = ..() + if(is_open_container()) icon_state = "syrup_open" - spillable = TRUE - balloon_alert(user, "removed pump cap") + else + icon_state = "syrup" - update_icon_state() +/obj/item/reagent_containers/cup/bottle/syrup_bottle/click_alt(mob/user) + if(is_open_container()) + balloon_alert(user, "put pump cap on") + update_container_flags(SEALED_CONTAINER | TRANSPARENT) + else + balloon_alert(user, "removed pump cap") + reset_container_flags() + + update_appearance() return CLICK_ACTION_SUCCESS //types of syrups diff --git a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm index 3c23d4d2ee0..103a8cf7df5 100644 --- a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm @@ -9,7 +9,6 @@ volume = 50 custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT*5) max_integrity = 20 - spillable = TRUE resistance_flags = ACID_PROOF obj_flags = UNIQUE_RENAME drop_sound = 'sound/items/handling/drinkglass_drop.ogg' diff --git a/code/modules/reagents/reagent_containers/cups/drinks.dm b/code/modules/reagents/reagent_containers/cups/drinks.dm index b9bd0e2a77a..f1a8ade6ff9 100644 --- a/code/modules/reagents/reagent_containers/cups/drinks.dm +++ b/code/modules/reagents/reagent_containers/cups/drinks.dm @@ -11,7 +11,8 @@ resistance_flags = NONE isGlass = TRUE - + attack_verb_continuous = list("smashes", "bashes") + attack_verb_simple = list("smash", "bash") /obj/item/reagent_containers/cup/glass/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum, do_splash = TRUE) . = ..() @@ -26,7 +27,7 @@ return if(bartender_check(target, thrower) && throwingdatum) return - SplashReagents(target, throwingdatum, override_spillable = TRUE) + splash_reagents(target, thrower || throwingdatum?.get_thrower(), allow_closed_splash = TRUE) var/obj/item/broken_bottle/B = new (loc) B.mimic_broken(src, target, break_top) qdel(src) @@ -55,7 +56,6 @@ has_variable_transfer_amount = FALSE volume = 5 obj_flags = CONDUCTS_ELECTRICITY - spillable = TRUE resistance_flags = FIRE_PROOF isGlass = FALSE @@ -109,7 +109,6 @@ icon_state = "coffee" base_icon_state = "coffee" list_reagents = list(/datum/reagent/consumable/coffee = 30) - spillable = TRUE resistance_flags = FREEZE_PROOF isGlass = FALSE drink_type = BREAKFAST @@ -154,7 +153,6 @@ custom_price = PAYCHECK_LOWER * 0.6 icon_state = "icecup" list_reagents = list(/datum/reagent/consumable/ice = 30) - spillable = TRUE isGlass = FALSE /obj/item/reagent_containers/cup/glass/ice/prison @@ -169,7 +167,6 @@ icon_state = "tea_empty" base_icon_state = "tea" inhand_icon_state = "coffee" - spillable = TRUE /obj/item/reagent_containers/cup/glass/mug/update_icon_state() icon_state = "[base_icon_state][reagents.total_volume ? null : "_empty"]" @@ -204,7 +201,6 @@ base_icon_state = "coffee_cup" possible_transfer_amounts = list(10) volume = 30 - spillable = TRUE isGlass = FALSE /obj/item/reagent_containers/cup/glass/coffee_cup/update_icon_state() @@ -235,7 +231,7 @@ // The 2 bottles have separate cap overlay icons because if the bottle falls over while bottle flipping the cap stays fucked on the moved overlay var/cap_icon = 'icons/obj/drinks/drink_effects.dmi' var/cap_icon_state = "bottle_cap_small" - var/cap_on = TRUE + var/start_capped = TRUE var/cap_lost = FALSE var/mutable_appearance/cap_overlay var/flip_chance = 10 @@ -245,20 +241,21 @@ /obj/item/reagent_containers/cup/glass/waterbottle/Initialize(mapload) cap_overlay = mutable_appearance(cap_icon, cap_icon_state) . = ..() - if(cap_on) - spillable = FALSE + if(start_capped) + // this is not done via initial_reagent_flags because it represents state + update_container_flags(SEALED_CONTAINER | TRANSPARENT) update_appearance() /obj/item/reagent_containers/cup/glass/waterbottle/update_overlays() . = ..() - if(cap_on) + if(!is_open_container()) . += cap_overlay /obj/item/reagent_containers/cup/glass/waterbottle/examine(mob/user) . = ..() if(cap_lost) . += span_notice("The cap seems to be missing.") - else if(cap_on) + else if(!is_open_container()) . += span_notice("The cap is firmly on to prevent spilling. Alt-click to remove the cap.") else . += span_notice("The cap has been taken off. Alt-click to put a cap on.") @@ -269,9 +266,8 @@ return CLICK_ACTION_BLOCKING var/fumbled = HAS_TRAIT(user, TRAIT_CLUMSY) && prob(5) - if(cap_on || fumbled) - cap_on = FALSE - spillable = TRUE + if(!is_open_container() || fumbled) + reset_container_flags() animate(src, transform = null, time = 2, loop = 0) if(fumbled) to_chat(user, span_warning("You fumble with [src]'s cap! The cap falls onto the ground and simply vanishes. Where the hell did it go?")) @@ -280,52 +276,18 @@ to_chat(user, span_notice("You remove the cap from [src].")) playsound(loc, 'sound/items/handling/reagent_containers/plastic_bottle/bottle_cap_open.ogg', 50, TRUE) else - cap_on = TRUE - spillable = FALSE + update_container_flags(SEALED_CONTAINER | TRANSPARENT) to_chat(user, span_notice("You put the cap on [src].")) playsound(loc, 'sound/items/handling/reagent_containers/plastic_bottle/bottle_cap_close.ogg', 50, TRUE) update_appearance() return CLICK_ACTION_SUCCESS -/obj/item/reagent_containers/cup/glass/waterbottle/is_refillable() - if(cap_on) - return FALSE - return ..() - -/obj/item/reagent_containers/cup/glass/waterbottle/is_drainable() - if(cap_on) - return FALSE - return ..() - -/obj/item/reagent_containers/cup/glass/waterbottle/attack(mob/target, mob/living/user, def_zone) - if(!target) - return - - if(cap_on && reagents.total_volume && istype(target)) - to_chat(user, span_warning("You must remove the cap before you can do that!")) - return - - return ..() - -/obj/item/reagent_containers/cup/glass/waterbottle/interact_with_atom(atom/target, mob/living/user, list/modifiers) - if(cap_on && (target.is_refillable() || target.is_drainable() || (reagents.total_volume && !user.combat_mode))) - to_chat(user, span_warning("You must remove the cap before you can do that!")) - return ITEM_INTERACT_BLOCKING - - if(istype(target, /obj/item/reagent_containers/cup/glass/waterbottle)) - var/obj/item/reagent_containers/cup/glass/waterbottle/other_bottle = target - if(other_bottle.cap_on) - to_chat(user, span_warning("[other_bottle] has a cap firmly twisted on!")) - return ITEM_INTERACT_BLOCKING - - return ..() - // heehoo bottle flipping /obj/item/reagent_containers/cup/glass/waterbottle/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() if(QDELETED(src)) return - if(!cap_on || !reagents.total_volume) + if(is_open_container() || !reagents.total_volume) return if(prob(flip_chance)) // landed upright src.visible_message(span_notice("[src] lands upright!")) @@ -341,7 +303,7 @@ /obj/item/reagent_containers/cup/glass/waterbottle/empty list_reagents = list() - cap_on = FALSE + start_capped = FALSE /obj/item/reagent_containers/cup/glass/waterbottle/large desc = "A fresh commercial-sized bottle of water." @@ -355,7 +317,7 @@ /obj/item/reagent_containers/cup/glass/waterbottle/large/empty list_reagents = list() - cap_on = FALSE + start_capped = FALSE // Admin spawn /obj/item/reagent_containers/cup/glass/waterbottle/relic @@ -378,7 +340,6 @@ icon_state = "water_cup_e" possible_transfer_amounts = list(10) volume = 10 - spillable = TRUE isGlass = FALSE /obj/item/reagent_containers/cup/glass/sillycup/update_icon_state() @@ -405,8 +366,8 @@ /obj/item/reagent_containers/cup/glass/bottle/juice/smallcarton/smash(atom/target, mob/thrower, datum/thrownthing/throwingdatum, break_top) if(bartender_check(target, thrower) && throwingdatum) return - SplashReagents(target, throwingdatum, override_spillable = TRUE) - var/obj/item/broken_bottle/bottle_shard = new (loc) + splash_reagents(target, thrower || throwingdatum?.get_thrower(), allow_closed_splash = TRUE) + var/obj/item/broken_bottle/bottle_shard = new(drop_location()) bottle_shard.mimic_broken(src, target) qdel(src) target.Bumped(bottle_shard) @@ -560,4 +521,3 @@ icon_state = "britcup_empty" base_icon_state = "britcup" volume = 30 - spillable = TRUE diff --git a/code/modules/reagents/reagent_containers/cups/glassbottle.dm b/code/modules/reagents/reagent_containers/cups/glassbottle.dm index a76974b1052..bcd1d91c2eb 100644 --- a/code/modules/reagents/reagent_containers/cups/glassbottle.dm +++ b/code/modules/reagents/reagent_containers/cups/glassbottle.dm @@ -128,8 +128,8 @@ /obj/item/reagent_containers/cup/glass/bottle/smash(mob/living/target, mob/thrower, datum/thrownthing/throwingdatum, break_top) if(bartender_check(target, thrower) && throwingdatum) - return - SplashReagents(target, throwingdatum, override_spillable = TRUE) + return FALSE + splash_reagents(target, thrower || throwingdatum?.get_thrower(), allow_closed_splash = TRUE) var/obj/item/broken_bottle/broken = new(drop_location()) if(!throwingdatum && thrower) thrower.put_in_hands(broken) @@ -140,70 +140,44 @@ qdel(src) target.Bumped(broken) + return TRUE -/obj/item/reagent_containers/cup/glass/bottle/try_splash(mob/living/user, atom/target) - - if(!target || !isliving(target)) - return ..() - +/obj/item/reagent_containers/cup/glass/bottle/try_splash(mob/user, atom/target) if(!isGlass) return ..() + return FALSE // instead of splashing, hit them with the bottle! - if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, span_warning("You don't want to harm [target]!")) - return FALSE +/obj/item/reagent_containers/cup/glass/bottle/afterattack(atom/target, mob/user, list/modifiers) + if(!isGlass) + return - var/mob/living/living_target = target - var/obj/item/bodypart/affecting = user.zone_selected //Find what the player is aiming at + var/head_hitter = user.zone_selected == BODY_ZONE_HEAD && isliving(target) - var/armor_block = 0 //Get the target's armor values for normal attack damage. - var/knockdown_effectiveness = 0 //The more force the bottle has, the longer the duration. + // An attack that targets the head of a living mob will attempt to knock them down + if(head_hitter) + var/mob/living/living_target = target + var/knockdown_effectiveness = 0 + if(!HAS_TRAIT(target, TRAIT_HEAD_INJURY_BLOCKED)) + knockdown_effectiveness = bottle_knockdown_duration + ((force / 10) * 1 SECONDS) - living_target.getarmor(BODY_ZONE_HEAD, MELEE) + if(prob(knockdown_effectiveness)) + living_target.Knockdown(min(knockdown_effectiveness, 20 SECONDS)) - //Calculating duration and calculating damage. - if(ishuman(target)) - - var/mob/living/carbon/human/H = target - var/headarmor = 0 // Target's head armor - armor_block = H.run_armor_check(affecting, MELEE, "", "", armour_penetration) // For normal attack damage - - //If they have a hat/helmet and the user is targeting their head. - if(istype(H.head, /obj/item/clothing/head) && affecting == BODY_ZONE_HEAD) - headarmor = H.head.get_armor_rating(MELEE) - //Calculate the knockdown duration for the target. - knockdown_effectiveness = (bottle_knockdown_duration - headarmor) + force + // Displays a custom message which follows the attack + if(target == user) + target.visible_message( + span_warning("[user] smashes [src] [head_hitter ? "over [user.p_their()] head" : "against [user.p_them()]selves"]!"), + span_warning("You smash [src] [head_hitter ? "over your head" : "against yourself"]!"), + ) else - //Only humans can have armor, right? - armor_block = living_target.run_armor_check(affecting, MELEE) - if(affecting == BODY_ZONE_HEAD) - knockdown_effectiveness = bottle_knockdown_duration + force - //Apply the damage! - armor_block = min(90,armor_block) - living_target.apply_damage(force, BRUTE, affecting, armor_block) + target.visible_message( + span_warning("[user] smashes [src] [head_hitter ? "over [target]'s head" : "against [target]"]!"), + span_warning("[user] smashes [src] [head_hitter ? "over your head" : "against you"]!"), + ) - // You are going to knock someone down for longer if they are not wearing a helmet. - var/head_attack_message = "" - if(affecting == BODY_ZONE_HEAD && iscarbon(target) && !HAS_TRAIT(target, TRAIT_HEAD_INJURY_BLOCKED)) - head_attack_message = " on the head" - if(knockdown_effectiveness && prob(knockdown_effectiveness)) - living_target.apply_effect(min(knockdown_effectiveness, 200) , EFFECT_KNOCKDOWN) - - //Display an attack message. - if(target != user) - target.visible_message(span_danger("[user] hits [target][head_attack_message] with a bottle of [src.name]!"), \ - span_userdanger("[user] hits you [head_attack_message] with a bottle of [src.name]!")) - else - target.visible_message(span_danger("[target] hits [target.p_them()]self with a bottle of [src.name][head_attack_message]!"), \ - span_userdanger("You hit yourself with a bottle of [src.name][head_attack_message]!")) - - //Attack logs - log_combat(user, target, "attacked", src) - - //Finally, smash the bottle. This kills (del) the bottle. + // Finally, smash the bottle. This kills (del) the bottle and also does all the logging for us smash(target, user) - return TRUE - /* * Proc to make the bottle spill some of its contents out in a froth geyser of varying intensity/height * Arguments: @@ -679,8 +653,7 @@ desc = "Finely sourced from only the most pretentious French vineyards." icon_state = "champagne_bottle" base_icon_state = "champagne_bottle" - reagent_flags = TRANSPARENT - spillable = FALSE + initial_reagent_flags = TRANSPARENT list_reagents = list(/datum/reagent/consumable/ethanol/champagne = 100) drink_type = ALCOHOL ///Used for sabrage; increases the chance of success per 1 force of the attacking sharp item @@ -695,33 +668,34 @@ sabrage_success_percentile = 0 //force of the sharp item used to sabrage will not increase success chance /obj/item/reagent_containers/cup/glass/bottle/champagne/attack_self(mob/user) - if(spillable) + if(is_open_container()) return ..() balloon_alert(user, "fiddling with cork...") if(do_after(user, 1 SECONDS, src)) return pop_cork(user, sabrage = FALSE, froth_severity = pick(0, 1)) -/obj/item/reagent_containers/cup/glass/bottle/champagne/attackby(obj/item/attacking_item, mob/living/user, list/modifiers, list/attack_modifiers) +/obj/item/reagent_containers/cup/glass/bottle/champagne/item_interaction(mob/living/user, obj/item/tool, list/modifiers) . = ..() + if(. & ITEM_INTERACT_ANY_BLOCKER) + return . + if(is_open_container()) + return NONE - if(spillable) - return + if(tool.get_sharpness() != SHARP_EDGED) + return NONE - if(attacking_item.get_sharpness() != SHARP_EDGED) - return - - if(attacking_item != user.get_active_held_item()) //no TK allowed + if(tool != user.get_active_held_item()) //no TK allowed to_chat(user, span_userdanger("Such a feat is beyond your skills of telekinesis!")) - return + return ITEM_INTERACT_BLOCKING - if(attacking_item.force < 5) + if(tool.force < 5) balloon_alert(user, "not strong enough!") - return + return ITEM_INTERACT_BLOCKING playsound(user, 'sound/items/unsheath.ogg', 25, TRUE) balloon_alert(user, "preparing to swing...") if(!do_after(user, 2 SECONDS, src)) //takes longer because you are supposed to take the foil off the bottle first - return + return ITEM_INTERACT_BLOCKING //The bonus to success chance that the user gets for being a command role var/obj/item/organ/liver/liver = user.get_organ_slot(ORGAN_SLOT_LIVER) @@ -730,7 +704,7 @@ //The bonus to success chance that the user gets for having a sabrage skillchip installed/otherwise having the trait through other means var/skillchip_bonus = HAS_TRAIT(user, TRAIT_SABRAGE_PRO) ? 35 : 0 //calculate success chance. example: captain's sabre - 15 force = 75% chance - var/sabrage_chance = (attacking_item.force * sabrage_success_percentile) + command_bonus + skillchip_bonus + var/sabrage_chance = (tool.force * sabrage_success_percentile) + command_bonus + skillchip_bonus if(prob(sabrage_chance)) ///Severity of the resulting froth to pass to make_froth() @@ -745,18 +719,18 @@ severity_to_pass = 2 if(67 to 99) severity_to_pass = 1 - return pop_cork(user, sabrage = TRUE, froth_severity = severity_to_pass) - else //you dun goofed - user.visible_message( - span_danger("[user] fumbles the sabrage and cuts [src] in half, spilling it over themselves!"), - span_danger("You fail your stunt and cut [src] in half, spilling it over you!"), - ) - user.add_mood_event("sabrage_fail", /datum/mood_event/sabrage_fail) - return smash(target = user, break_top = TRUE) + return pop_cork(user, sabrage = TRUE, froth_severity = severity_to_pass) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING + + user.visible_message( + span_danger("[user] fumbles the sabrage and cuts [src] in half, spilling it over themselves!"), + span_danger("You fail your stunt and cut [src] in half, spilling it over you!"), + ) + user.add_mood_event("sabrage_fail", /datum/mood_event/sabrage_fail) + return smash(target = user, break_top = TRUE) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING /obj/item/reagent_containers/cup/glass/bottle/champagne/update_icon_state() . = ..() - if(spillable) + if(is_open_container()) if(sabraged) icon_state = "[base_icon_state]_sabrage" else @@ -783,9 +757,8 @@ continue stunt_witness.add_mood_event("sabrage_witness", /datum/mood_event/sabrage_witness) - reagents.flags |= OPENCONTAINER + add_container_flags(OPENCONTAINER) playsound(src, 'sound/items/champagne_pop.ogg', 70, TRUE) - spillable = TRUE update_appearance() make_froth(offset_x = 0, offset_y = sabraged ? 13 : 15, intensity = froth_severity) //the y offset for sabraged is lower because the bottle's lip is smashed ///Type of cork to fire away @@ -795,6 +768,7 @@ popped_cork.firer = user popped_cork.fired_from = src popped_cork.fire(dir2angle(user.dir) + rand(-30, 30)) + return TRUE /obj/projectile/bullet/champagne_cork name = "champagne cork" @@ -946,15 +920,17 @@ target.fire_act() new /obj/effect/hotspot(get_turf(target)) -/obj/item/reagent_containers/cup/glass/bottle/molotov/attackby(obj/item/I, mob/user, list/modifiers, list/attack_modifiers) - if(I.get_temperature() && !active) - active = TRUE - log_bomber(user, "has primed a", src, "for detonation") +/obj/item/reagent_containers/cup/glass/bottle/molotov/item_interaction(mob/living/user, obj/item/item, list/modifiers) + if(!item.get_temperature() || active) + return NONE + active = TRUE + log_bomber(user, "has primed a", src, "for detonation") - to_chat(user, span_info("You light [src] on fire.")) - add_overlay(custom_fire_overlay() || GLOB.fire_overlay) - if(!isGlass) - addtimer(CALLBACK(src, PROC_REF(explode)), 5 SECONDS) + to_chat(user, span_info("You light [src] on fire.")) + add_overlay(custom_fire_overlay() || GLOB.fire_overlay) + if(!isGlass) + addtimer(CALLBACK(src, PROC_REF(explode)), 5 SECONDS) + return ITEM_INTERACT_SUCCESS /obj/item/reagent_containers/cup/glass/bottle/molotov/proc/explode() if(!active) @@ -964,7 +940,7 @@ for(var/i in 1 to 2) if(istype(target, /obj/item/storage)) target = target.loc - SplashReagents(target, override_spillable = TRUE) + splash_reagents(target, allow_closed_splash = TRUE) target.fire_act() qdel(src) diff --git a/code/modules/reagents/reagent_containers/cups/mauna_mug.dm b/code/modules/reagents/reagent_containers/cups/mauna_mug.dm index b443229358b..569cf815f09 100644 --- a/code/modules/reagents/reagent_containers/cups/mauna_mug.dm +++ b/code/modules/reagents/reagent_containers/cups/mauna_mug.dm @@ -4,8 +4,7 @@ icon = 'icons/obj/devices/mauna_mug.dmi' icon_state = "maunamug" base_icon_state = "maunamug" - spillable = TRUE - reagent_flags = OPENCONTAINER + initial_reagent_flags = OPENCONTAINER fill_icon_state = "maunafilling" fill_icon_thresholds = list(25) var/obj/item/stock_parts/power_store/cell @@ -73,21 +72,21 @@ to_chat(user, span_notice("You screw the battery case on [src] [open ? "open" : "closed"] .")) update_appearance() -/obj/item/reagent_containers/cup/maunamug/attackby(obj/item/I, mob/user, list/modifiers, list/attack_modifiers) - add_fingerprint(user) - if(!istype(I, /obj/item/stock_parts/power_store/cell)) +/obj/item/reagent_containers/cup/maunamug/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/stock_parts/power_store/cell)) return ..() if(!open) to_chat(user, span_warning("The battery case must be open to insert a power cell!")) - return FALSE + return ITEM_INTERACT_BLOCKING if(cell) to_chat(user, span_warning("There is already a power cell inside!")) - return FALSE - else if(!user.transferItemToLoc(I, src)) - return - cell = I + return ITEM_INTERACT_BLOCKING + else if(!user.transferItemToLoc(tool, src)) + return ITEM_INTERACT_BLOCKING + cell = tool user.visible_message(span_notice("[user] inserts a power cell into [src]."), span_notice("You insert the power cell into [src].")) update_appearance() + return ITEM_INTERACT_SUCCESS /obj/item/reagent_containers/cup/maunamug/attack_hand(mob/living/user, list/modifiers) if(cell && open) diff --git a/code/modules/reagents/reagent_containers/cups/organ_jar.dm b/code/modules/reagents/reagent_containers/cups/organ_jar.dm index 99309787a0d..52754f5836a 100644 --- a/code/modules/reagents/reagent_containers/cups/organ_jar.dm +++ b/code/modules/reagents/reagent_containers/cups/organ_jar.dm @@ -43,12 +43,11 @@ // Clicking on the jar with an organ lets you put the organ inside, if there isn't one already // Otherwise it should act like a normal bottle /obj/item/reagent_containers/cup/beaker/organ_jar/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - . = ..() if(!istype(tool, /obj/item/organ)) - return + return ..() if(held_organ) balloon_alert(user, "the jar already contains [held_organ]") - return ITEM_INTERACT_BLOCKING + return ITEM_INTERACT_BLOCKING if(!user.transferItemToLoc(tool, src)) return ITEM_INTERACT_BLOCKING diff --git a/code/modules/reagents/reagent_containers/cups/soda.dm b/code/modules/reagents/reagent_containers/cups/soda.dm index 34c9d0d9233..e8304d71cb9 100644 --- a/code/modules/reagents/reagent_containers/cups/soda.dm +++ b/code/modules/reagents/reagent_containers/cups/soda.dm @@ -12,8 +12,7 @@ icon_state = "cola" icon_state_preview = "cola" abstract_type = /obj/item/reagent_containers/cup/soda_cans - reagent_flags = NONE - spillable = FALSE + initial_reagent_flags = NONE custom_price = PAYCHECK_CREW * 0.9 obj_flags = CAN_BE_HIT possible_transfer_amounts = list(5, 10, 15, 25, 30) @@ -64,17 +63,24 @@ sleep(2 SECONDS) //dramatic pause return TOXLOSS -/obj/item/reagent_containers/cup/soda_cans/attack(mob/M, mob/living/user) - if(iscarbon(M) && !reagents.total_volume && user.combat_mode && user.zone_selected == BODY_ZONE_HEAD) - if(M == user) - user.visible_message(span_warning("[user] crushes the can of [src] on [user.p_their()] forehead!"), span_notice("You crush the can of [src] on your forehead.")) +/obj/item/reagent_containers/cup/soda_cans/interact_with_atom(atom/target, mob/living/user, list/modifiers) + if(iscarbon(target) && !reagents.total_volume && user.combat_mode && user.zone_selected == BODY_ZONE_HEAD) + if(target == user) + user.visible_message( + span_warning("[user] crushes the can of [src] on [user.p_their()] forehead!"), + span_notice("You crush the can of [src] on your forehead."), + ) else - user.visible_message(span_warning("[user] crushes the can of [src] on [M]'s forehead!"), span_notice("You crush the can of [src] on [M]'s forehead.")) - playsound(M,'sound/items/weapons/pierce.ogg', rand(10,50), TRUE) - var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(M.loc) + user.visible_message( + span_warning("[user] crushes the can of [src] on [target]'s forehead!"), + span_notice("You crush the can of [src] on [target]'s forehead."), + ) + playsound(src, 'sound/items/weapons/pierce.ogg', rand(10, 50), TRUE) + var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(target.drop_location()) crushed_can.icon_state = icon_state qdel(src) - return TRUE + return ITEM_INTERACT_SUCCESS + return ..() /obj/item/reagent_containers/cup/soda_cans/bullet_act(obj/projectile/proj) @@ -96,9 +102,8 @@ return to_chat(user, "You pull back the tab of [src] with a satisfying pop.") //Ahhhhhhhh - reagents.flags |= OPENCONTAINER + add_container_flags(OPENCONTAINER) playsound(src, SFX_CAN_OPEN, 50, TRUE) - spillable = TRUE throwforce = 0 /** @@ -122,15 +127,14 @@ playsound(src, 'sound/items/can/can_pop.ogg', 80, TRUE) if(!hide_message) visible_message(span_danger("[src] spills over, fizzing its contents all over [target]!")) - spillable = TRUE - reagents.flags |= OPENCONTAINER + add_container_flags(OPENCONTAINER) reagents.expose(target, TOUCH) reagents.clear_reagents() throwforce = 0 /obj/item/reagent_containers/cup/soda_cans/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() - if(. || spillable || !reagents.total_volume) // if it was caught, already opened, or has nothing in it + if(. || is_open_container() || !reagents.total_volume) // if it was caught, already opened, or has nothing in it return fizziness += SODA_FIZZINESS_THROWN diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index f2b2099a888..cfb72af6186 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -8,7 +8,7 @@ amount_per_transfer_from_this = 5 possible_transfer_amounts = list(1, 2, 3, 4, 5) volume = 5 - reagent_flags = TRANSPARENT + initial_reagent_flags = TRANSPARENT custom_price = PAYCHECK_CREW /obj/item/reagent_containers/dropper/interact_with_atom(atom/target, mob/living/user, list/modifiers) @@ -55,12 +55,7 @@ SEND_SIGNAL(target, COMSIG_MOB_REAGENTS_DROPPED_INTO_EYES, user, src, reagents, fraction) reagents.expose(target, TOUCH, fraction) var/mob/M = target - var/R - if(reagents) - for(var/datum/reagent/A in src.reagents.reagent_list) - R += "[A] ([num2text(A.volume)])," - - log_combat(user, M, "squirted", R) + log_combat(user, M, "squirted", reagents.get_reagent_log_string()) trans = round(reagents.trans_to(target, amount_per_transfer_from_this, transferred_by = user), CHEMICAL_VOLUME_ROUNDING) to_chat(user, span_notice("You transfer [trans] unit\s of the solution.")) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 4b42564aeff..2a571264eb4 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -11,7 +11,7 @@ volume = 30 possible_transfer_amounts = list(5) resistance_flags = ACID_PROOF - reagent_flags = OPENCONTAINER + initial_reagent_flags = OPENCONTAINER slot_flags = ITEM_SLOT_BELT var/ignore_flags = NONE var/infinite = FALSE @@ -25,8 +25,10 @@ /obj/item/reagent_containers/hypospray/attack_paw(mob/user, list/modifiers) return attack_hand(user, modifiers) -/obj/item/reagent_containers/hypospray/attack(mob/living/affected_mob, mob/user) - inject(affected_mob, user) +/obj/item/reagent_containers/hypospray/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!isliving(interacting_with)) + return NONE + return inject(interacting_with, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING ///Handles all injection checks, injection and logging. /obj/item/reagent_containers/hypospray/proc/inject(mob/living/affected_mob, mob/user) @@ -124,7 +126,7 @@ has_variable_transfer_amount = FALSE volume = 15 ignore_flags = 1 //so you can medipen through spacesuits - reagent_flags = NONE + initial_reagent_flags = NONE flags_1 = null list_reagents = list(/datum/reagent/medicine/epinephrine = 10, /datum/reagent/toxin/formaldehyde = 3, /datum/reagent/medicine/coagulant = 2) custom_price = PAYCHECK_CREW diff --git a/code/modules/reagents/reagent_containers/inhaler.dm b/code/modules/reagents/reagent_containers/inhaler.dm index 5600625df6c..2af15aadf44 100644 --- a/code/modules/reagents/reagent_containers/inhaler.dm +++ b/code/modules/reagents/reagent_containers/inhaler.dm @@ -216,7 +216,7 @@ icon = 'icons/obj/medical/chemical.dmi' icon_state = "canister_generic" - reagent_flags = SEALED_CONTAINER|DRAINABLE|REFILLABLE + initial_reagent_flags = SEALED_CONTAINER|DRAINABLE|REFILLABLE has_variable_transfer_amount = FALSE max_integrity = 60 diff --git a/code/modules/reagents/reagent_containers/jerrycan.dm b/code/modules/reagents/reagent_containers/jerrycan.dm index e3b97e82b99..05f3149ae54 100644 --- a/code/modules/reagents/reagent_containers/jerrycan.dm +++ b/code/modules/reagents/reagent_containers/jerrycan.dm @@ -50,7 +50,7 @@ w_class = WEIGHT_CLASS_BULKY volume = 200 obj_flags = UNIQUE_RENAME - reagent_flags = OPENCONTAINER | SMART_CAP + initial_reagent_flags = OPENCONTAINER | NO_SPLASH fill_icon_thresholds = list(0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200) possible_transfer_amounts = list(5, 10, 15, 30, 50, 100, 200) adjust_color_contrast = TRUE @@ -97,7 +97,7 @@ /obj/item/reagent_containers/cup/jerrycan/opaque fill_icon_thresholds = null - reagent_flags = REFILLABLE | DRAINABLE | SMART_CAP + initial_reagent_flags = parent_type::initial_reagent_flags & ~TRANSPARENT highlight_strenght = 0.75 /obj/item/reagent_containers/cup/jerrycan/opaque/yellow diff --git a/code/modules/reagents/reagent_containers/medigel.dm b/code/modules/reagents/reagent_containers/medigel.dm index 4f45caebf4a..f459a08211b 100644 --- a/code/modules/reagents/reagent_containers/medigel.dm +++ b/code/modules/reagents/reagent_containers/medigel.dm @@ -9,7 +9,7 @@ righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi' item_flags = NOBLUDGEON obj_flags = UNIQUE_RENAME - reagent_flags = OPENCONTAINER + initial_reagent_flags = OPENCONTAINER slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_SMALL @@ -37,39 +37,41 @@ var/squirt_mode = amount_per_transfer_from_this == initial(amount_per_transfer_from_this) to_chat(user, span_notice("You will now apply the medigel's contents in [squirt_mode ? "extended sprays":"short bursts"]. You'll now use [amount_per_transfer_from_this] units per use.")) -/obj/item/reagent_containers/medigel/attack(mob/M, mob/user, def_zone) +/obj/item/reagent_containers/medigel/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!isliving(interacting_with)) + return NONE if(!reagents || !reagents.total_volume) to_chat(user, span_warning("[src] is empty!")) - return + return ITEM_INTERACT_BLOCKING - if(M == user) - M.visible_message(span_notice("[user] attempts to [apply_method] [src] on [user.p_them()]self.")) + if(interacting_with == user) + interacting_with.visible_message(span_notice("[user] attempts to [apply_method] [src] on [user.p_them()]self.")) if(self_delay) - if(!do_after(user, self_delay, M)) - return + if(!do_after(user, self_delay, interacting_with)) + return ITEM_INTERACT_BLOCKING if(!reagents || !reagents.total_volume) - return - to_chat(M, span_notice("You [apply_method] yourself with [src].")) + return ITEM_INTERACT_BLOCKING + to_chat(interacting_with, span_notice("You [apply_method] yourself with [src].")) else - log_combat(user, M, "attempted to apply", src, reagents.get_reagent_log_string()) - M.visible_message(span_danger("[user] attempts to [apply_method] [src] on [M]."), \ - span_userdanger("[user] attempts to [apply_method] [src] on you.")) - if(!do_after(user, CHEM_INTERACT_DELAY(3 SECONDS, user), M)) - return + log_combat(user, interacting_with, "attempted to apply", src, reagents.get_reagent_log_string()) + interacting_with.visible_message( + span_danger("[user] attempts to [apply_method] [src] on [interacting_with]."), + span_userdanger("[user] attempts to [apply_method] [src] on you."), + ) + if(!do_after(user, CHEM_INTERACT_DELAY(3 SECONDS, user), interacting_with)) + return ITEM_INTERACT_BLOCKING if(!reagents || !reagents.total_volume) - return - M.visible_message(span_danger("[user] [apply_method]s [M] down with [src]."), \ - span_userdanger("[user] [apply_method]s you down with [src].")) + return ITEM_INTERACT_BLOCKING + interacting_with.visible_message( + span_danger("[user] [apply_method]s [interacting_with] down with [src]."), + span_userdanger("[user] [apply_method]s you down with [src]."), + ) - if(!reagents || !reagents.total_volume) - return - - else - log_combat(user, M, "applied", src, reagents.get_reagent_log_string()) - playsound(src, 'sound/effects/spray.ogg', 30, TRUE, -6) - reagents.trans_to(M, amount_per_transfer_from_this, transferred_by = user, methods = apply_type) - return + log_combat(user, interacting_with, "applied", src, reagents.get_reagent_log_string()) + playsound(src, 'sound/effects/spray.ogg', 30, TRUE, -6) + reagents.trans_to(interacting_with, amount_per_transfer_from_this, transferred_by = user, methods = apply_type) + return ITEM_INTERACT_SUCCESS /obj/item/reagent_containers/medigel/libital name = "medical gel (libital)" @@ -101,9 +103,9 @@ if(reagents.total_volume >= 60) . += span_info("One full bottle can restore a corpse husked by burns.") -/obj/item/reagent_containers/medigel/synthflesh/attack(mob/M, mob/user, def_zone) - if(iscarbon(M)) - var/mob/living/carbon/carbies = M +/obj/item/reagent_containers/medigel/synthflesh/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(iscarbon(interacting_with) && reagents?.total_volume) + var/mob/living/carbon/carbies = interacting_with if(HAS_TRAIT_FROM(carbies, TRAIT_HUSK, BURN) && carbies.getFireLoss() > UNHUSK_DAMAGE_THRESHOLD * 2.5) // give them a warning if the mob is a husk but synthflesh won't unhusk yet carbies.visible_message(span_boldwarning("[carbies]'s burns need to be repaired first before synthflesh will unhusk it!")) diff --git a/code/modules/reagents/reagent_containers/rag.dm b/code/modules/reagents/reagent_containers/rag.dm index bd73f20fe1f..70aa4c23b79 100644 --- a/code/modules/reagents/reagent_containers/rag.dm +++ b/code/modules/reagents/reagent_containers/rag.dm @@ -145,7 +145,8 @@ fire_act(500, 100) // FINALLY add the dna to us - add_blood_DNA(all_blood_dna) + if(length(all_blood_dna)) + add_blood_DNA(all_blood_dna) update_appearance() if(blood_level >= 10) to_chat(cleaner, span_warning("[src] is too dirty to clean anything else! Wash it first!")) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index a04044a50eb..51ae159de14 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -8,7 +8,7 @@ lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' item_flags = NOBLUDGEON - reagent_flags = OPENCONTAINER + initial_reagent_flags = OPENCONTAINER slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_SMALL @@ -27,6 +27,10 @@ var/spray_sound = 'sound/effects/spray2.ogg' reagent_container_liquid_sound = SFX_DEFAULT_LIQUID_SLOSH +/obj/item/reagent_containers/spray/Initialize(mapload, vol) + . = ..() + AddElement(/datum/element/reagents_item_heatable) + /obj/item/reagent_containers/spray/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) return try_spray(interacting_with, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING @@ -132,28 +136,6 @@ current_range = spray_range to_chat(user, span_notice("You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""].")) -/obj/item/reagent_containers/spray/attackby(obj/item/I, mob/user, list/modifiers, list/attack_modifiers) - var/hotness = I.get_temperature() - if(hotness && reagents) - reagents.expose_temperature(hotness) - to_chat(user, span_notice("You heat [name] with [I]!")) - - //Cooling method - if(istype(I, /obj/item/extinguisher)) - var/obj/item/extinguisher/extinguisher = I - if(extinguisher.safety) - return - if (extinguisher.reagents.total_volume < 1) - to_chat(user, span_warning("\The [extinguisher] is empty!")) - return - var/cooling = (0 - reagents.chem_temp) * extinguisher.cooling_power * 2 - reagents.expose_temperature(cooling) - to_chat(user, span_notice("You cool \the [src] with the [I]!")) - playsound(loc, 'sound/effects/extinguish.ogg', 75, TRUE, -3) - extinguisher.reagents.remove_all(1) - - return ..() - /obj/item/reagent_containers/spray/verb/empty() set name = "Empty Spray Bottle" set category = "Object" @@ -275,7 +257,7 @@ list_reagents = list(/datum/reagent/lube/superlube = 30) /obj/item/reagent_containers/spray/waterflower/cyborg - reagent_flags = NONE + initial_reagent_flags = NONE volume = 100 list_reagents = list(/datum/reagent/water = 100) var/generate_amount = 5 @@ -360,7 +342,7 @@ inhand_icon_state = "chemsprayer_janitor" lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' - reagent_flags = NONE + initial_reagent_flags = NONE list_reagents = list(/datum/reagent/space_cleaner = 1000) volume = 1000 amount_per_transfer_from_this = 5 @@ -392,7 +374,7 @@ lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' w_class = WEIGHT_CLASS_TINY - reagent_flags = NONE + initial_reagent_flags = NONE list_reagents = list(/datum/reagent/confetti = 15) volume = 15 amount_per_transfer_from_this = 5 diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 2454416062a..a016a0805a4 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -12,7 +12,7 @@ possible_transfer_amounts = list(5, 10, 15) volume = 15 custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT, /datum/material/glass=SMALL_MATERIAL_AMOUNT*0.2) - reagent_flags = TRANSPARENT + initial_reagent_flags = TRANSPARENT custom_price = PAYCHECK_CREW * 0.5 sharpness = SHARP_POINTY embed_type = /datum/embedding/syringe @@ -34,9 +34,6 @@ CALLBACK(src, PROC_REF(get_dart_var_modifiers))\ ) -/obj/item/reagent_containers/syringe/attackby(obj/item/I, mob/user, list/modifiers, list/attack_modifiers) - return - /obj/item/reagent_containers/syringe/proc/try_syringe(atom/target, mob/user) if(!target.reagents) return FALSE diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 086b4ca947b..b93186480ac 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -891,16 +891,6 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE -/datum/design/board/donksofttoyvendor - name = "Donksoft Toy Vendor Board" - desc = "The circuit board for a Donksoft Toy Vendor." - id = "donksofttoyvendor" - build_path = /obj/item/circuitboard/machine/vending/donksofttoyvendor - category = list( - RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_SERVICE - ) - departmental_flags = DEPARTMENT_BITFLAG_SERVICE - /datum/design/board/cell_charger name = "Cell Charger Board" desc = "The circuit board for a cell charger." diff --git a/code/modules/research/techweb/nodes/syndicate_nodes.dm b/code/modules/research/techweb/nodes/syndicate_nodes.dm index 7743b9442f8..f4317669597 100644 --- a/code/modules/research/techweb/nodes/syndicate_nodes.dm +++ b/code/modules/research/techweb/nodes/syndicate_nodes.dm @@ -8,7 +8,6 @@ "ai_cam_upgrade", "borg_syndicate_module", "donksoft_refill", - "donksofttoyvendor", "largecrossbow", "mag_autorifle", "mag_autorifle_ap", diff --git a/code/modules/reta/reta_debug.dm b/code/modules/reta/reta_debug.dm index 788c303c0cf..32c0660455e 100644 --- a/code/modules/reta/reta_debug.dm +++ b/code/modules/reta/reta_debug.dm @@ -72,51 +72,49 @@ ADMIN_VERB(reta_manual_trigger, R_ADMIN, "RETA Door Access", "Manually trigger R message_admins("RETA access granted successfully: [english_list(granted_depts)] personnel now have [calling_dept] access. Total eligible cards: [total_eligible_cards]") // Send department announcement like the normal system - var/caller_info = " (Called by CENTCOM)" - var/enhanced_location = "[calling_dept][caller_info]" + var/caller_info = "(Called by CENTCOM)" // Send announcements to all successfully granted departments for(var/dept in granted_depts) switch(dept) if("Security") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_SECURITY), "Security") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_SECURITY), "Security") if("Engineering") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_ENGINEERING), "Engineering") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_ENGINEERING), "Engineering") if("Medical") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_MEDICAL), "Medical") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_MEDICAL), "Medical") if("Science") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_SCIENCE), "Science") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_SCIENCE), "Science") if("Service") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_SERVICE), "Service") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_SERVICE), "Service") if("Command") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_COMMAND), "Command") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_COMMAND), "Command") if("Cargo") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_SUPPLY), "Cargo") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_SUPPLY), "Cargo") if("Mining") - aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = enhanced_location), null, list(RADIO_CHANNEL_SUPPLY), "Mining") + aas_config_announce(/datum/aas_config_entry/rc_emergency, list("LOCATION" = calling_dept, "CALLER" = caller_info), null, list(RADIO_CHANNEL_SUPPLY), "Mining") // Send confirmation to the calling department about who has been given access - var/calling_message = "RETA activated[caller_info]. The following now have temporary door access: [english_list(granted_depts)]." + var/grantee = english_list(granted_depts) + var/list/target_channels = list() + switch(calling_dept) + if("Security") + target_channels += RADIO_CHANNEL_SECURITY + if("Engineering") + target_channels += RADIO_CHANNEL_ENGINEERING + if("Medical") + target_channels += RADIO_CHANNEL_MEDICAL + if("Science") + target_channels += RADIO_CHANNEL_SCIENCE + if("Service") + target_channels += RADIO_CHANNEL_SERVICE + if("Command") + target_channels += RADIO_CHANNEL_COMMAND + if("Cargo") + target_channels += RADIO_CHANNEL_SUPPLY + if("Mining") + target_channels += RADIO_CHANNEL_SUPPLY - // Get an announcement system to send simple radio messages - var/obj/machinery/announcement_system/announcer = get_announcement_system(null, null, list(RADIO_CHANNEL_COMMON)) - if(announcer) - switch(calling_dept) - if("Security") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SECURITY) - if("Engineering") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_ENGINEERING) - if("Medical") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_MEDICAL) - if("Science") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SCIENCE) - if("Service") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SERVICE) - if("Command") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_COMMAND) - if("Cargo") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SUPPLY) - if("Mining") - announcer.radio.talk_into(announcer, calling_message, RADIO_CHANNEL_SUPPLY) + aas_config_announce(/datum/aas_config_entry/rc_reta_announcement, list("GRANTEE" = grantee, "CALLER" = caller_info), null, target_channels) else message_admins("RETA access grant failed for all departments.") diff --git a/code/modules/shuttle/mobile_port/mobile_port.dm b/code/modules/shuttle/mobile_port/mobile_port.dm index 39c180c6d5d..9e0283b6de3 100644 --- a/code/modules/shuttle/mobile_port/mobile_port.dm +++ b/code/modules/shuttle/mobile_port/mobile_port.dm @@ -96,6 +96,8 @@ unregister() destination = null previous = null + for(var/obj/machinery/power/shuttle_engine/engine as anything in engine_list) + engine.unsync_ship() if(!QDELETED(assigned_transit)) qdel(assigned_transit, force = TRUE) assigned_transit = null diff --git a/code/modules/spells/spell_types/right_and_wrong.dm b/code/modules/spells/spell_types/right_and_wrong.dm index 47ea9f53942..3d7afbc5e98 100644 --- a/code/modules/spells/spell_types/right_and_wrong.dm +++ b/code/modules/spells/spell_types/right_and_wrong.dm @@ -14,52 +14,62 @@ GLOBAL_DATUM(mass_teaching, /datum/summon_things_controller/spellbook_entry) GLOBAL_LIST_INIT(summoned_all_guns, get_sane_item_types(/obj/item/gun)) GLOBAL_LIST_INIT(summoned_guns, list( - /obj/item/gun/energy/disabler, - /obj/item/gun/energy/e_gun, - /obj/item/gun/energy/e_gun/advtaser, - /obj/item/gun/energy/laser, + /obj/item/gun/ballistic/automatic/ar, + /obj/item/gun/ballistic/automatic/battle_rifle, + /obj/item/gun/ballistic/automatic/c20r/unrestricted, + /obj/item/gun/ballistic/automatic/gyropistol, + /obj/item/gun/ballistic/automatic/l6_saw/unrestricted, + /obj/item/gun/ballistic/automatic/laser, + /obj/item/gun/ballistic/automatic/m90/unrestricted, + /obj/item/gun/ballistic/automatic/mini_uzi, + /obj/item/gun/ballistic/automatic/pistol, + /obj/item/gun/ballistic/automatic/pistol/aps, + /obj/item/gun/ballistic/automatic/pistol/clandestine/fisher, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/automatic/pistol/deagle/regal, + /obj/item/gun/ballistic/automatic/pistol/doorhickey, + /obj/item/gun/ballistic/automatic/pistol/m1911, + /obj/item/gun/ballistic/automatic/proto/unrestricted, + /obj/item/gun/ballistic/automatic/smartgun, + /obj/item/gun/ballistic/automatic/tommygun, + /obj/item/gun/ballistic/automatic/wt550, /obj/item/gun/ballistic/revolver, /obj/item/gun/ballistic/revolver/badass, - /obj/item/gun/ballistic/revolver/c38/detective, - /obj/item/gun/ballistic/automatic/pistol/deagle/camo, - /obj/item/gun/ballistic/automatic/gyropistol, - /obj/item/gun/energy/pulse, - /obj/item/gun/ballistic/automatic/pistol/suppressed, - /obj/item/gun/ballistic/shotgun/doublebarrel, - /obj/item/gun/ballistic/shotgun, - /obj/item/gun/ballistic/shotgun/automatic/combat, - /obj/item/gun/ballistic/automatic/ar, - /obj/item/gun/ballistic/revolver/mateba, + /obj/item/gun/ballistic/revolver/c38, + /obj/item/gun/ballistic/revolver/nagant, /obj/item/gun/ballistic/rifle/boltaction, + /obj/item/gun/ballistic/rifle/boltaction/donkrifle, /obj/item/gun/ballistic/rifle/boltaction/harpoon, - /obj/item/gun/ballistic/automatic/mini_uzi, - /obj/item/gun/energy/lasercannon, - /obj/item/gun/energy/recharge/ebow/large, - /obj/item/gun/energy/e_gun/nuclear, - /obj/item/gun/ballistic/automatic/proto, - /obj/item/gun/ballistic/automatic/c20r, - /obj/item/gun/ballistic/automatic/l6_saw, - /obj/item/gun/ballistic/automatic/m90, - /obj/item/gun/energy/alien, - /obj/item/gun/energy/e_gun/dragnet, - /obj/item/gun/energy/e_gun/turret, - /obj/item/gun/energy/pulse/carbine, - /obj/item/gun/energy/mindflayer, - /obj/item/gun/energy/recharge/kinetic_accelerator, - /obj/item/gun/energy/plasmacutter/adv, - /obj/item/gun/energy/wormhole_projector, - /obj/item/gun/ballistic/automatic/wt550, - /obj/item/gun/ballistic/shotgun/bulldog, - /obj/item/gun/ballistic/revolver/grenadelauncher, - /obj/item/gun/ballistic/revolver/golden, + /obj/item/gun/ballistic/rifle/rebarxbow/syndie, /obj/item/gun/ballistic/rifle/sniper_rifle, - /obj/item/gun/ballistic/rocketlauncher, - /obj/item/gun/medbeam, + /obj/item/gun/ballistic/rocketlauncher/unrestricted, + /obj/item/gun/ballistic/shotgun/automatic/combat, + /obj/item/gun/ballistic/shotgun/bulldog/unrestricted, + /obj/item/gun/ballistic/shotgun/doublebarrel, + /obj/item/gun/ballistic/shotgun/hook, + /obj/item/gun/ballistic/shotgun/lethal, + /obj/item/gun/energy/alien, + /obj/item/gun/energy/disabler, + /obj/item/gun/energy/disabler/smg, + /obj/item/gun/energy/e_gun, + /obj/item/gun/energy/e_gun/advtaser, + /obj/item/gun/energy/e_gun/nuclear, + /obj/item/gun/energy/laser, + /obj/item/gun/energy/laser/carbine, + /obj/item/gun/energy/laser/carbine/cybersun/unrestricted, + /obj/item/gun/energy/laser/hellgun, /obj/item/gun/energy/laser/scatter, /obj/item/gun/energy/laser/thermal, - /obj/item/gun/energy/laser/thermal/inferno, /obj/item/gun/energy/laser/thermal/cryo, - /obj/item/gun/energy/gravity_gun)) + /obj/item/gun/energy/laser/thermal/inferno, + /obj/item/gun/energy/lasercannon, + /obj/item/gun/energy/mindflayer, + /obj/item/gun/energy/plasmacutter/adv, + /obj/item/gun/energy/pulse, + /obj/item/gun/energy/pulse/carbine, + /obj/item/gun/energy/recharge/ebow/large, + /obj/item/gun/energy/recharge/kinetic_accelerator, + /obj/item/gun/medbeam,)) //if you add anything that isn't covered by the typepaths below, add it to summon_magic_objective_types GLOBAL_LIST_INIT(summoned_magic, list( diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index b0d49725805..d6981b634ec 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -675,20 +675,34 @@ /obj/item/bodypart/proc/update_wound_theory() // We put this here so we dont increase init time by doing this all at once on initialization // Effectively, we "lazy load" - if (isnull(any_existing_wound_can_mangle_our_interior) || isnull(any_existing_wound_can_mangle_our_exterior)) - any_existing_wound_can_mangle_our_interior = FALSE - any_existing_wound_can_mangle_our_exterior = FALSE - for (var/datum/wound/wound_type as anything in GLOB.all_wound_pregen_data) - var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[wound_type] - if (!pregen_data.can_be_applied_to(src, random_roll = TRUE)) // we only consider randoms because non-randoms are usually really specific - continue - if (initial(pregen_data.wound_path_to_generate.wound_flags) & MANGLES_EXTERIOR) - any_existing_wound_can_mangle_our_exterior = TRUE - if (initial(pregen_data.wound_path_to_generate.wound_flags) & MANGLES_INTERIOR) - any_existing_wound_can_mangle_our_interior = TRUE + if (!isnull(any_existing_wound_can_mangle_our_interior) && !isnull(any_existing_wound_can_mangle_our_exterior)) + return - if (any_existing_wound_can_mangle_our_interior && any_existing_wound_can_mangle_our_exterior) - break + any_existing_wound_can_mangle_our_interior = FALSE + any_existing_wound_can_mangle_our_exterior = FALSE + + if (!is_woundable()) + return + + for (var/datum/wound/wound_type as anything in GLOB.all_wound_pregen_data) + var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[wound_type] + /// We only consider randoms because non-randoms are usually really specific + if (!pregen_data.can_be_applied_to(src, random_roll = TRUE, duplicates_allowed = TRUE, care_about_existing_wounds = FALSE)) + continue + if (initial(pregen_data.wound_path_to_generate.wound_flags) & MANGLES_EXTERIOR) + any_existing_wound_can_mangle_our_exterior = TRUE + if (initial(pregen_data.wound_path_to_generate.wound_flags) & MANGLES_INTERIOR) + any_existing_wound_can_mangle_our_interior = TRUE + if (any_existing_wound_can_mangle_our_interior && any_existing_wound_can_mangle_our_exterior) + break + +/// Check if a bodypart can be wounded +/obj/item/bodypart/proc/is_woundable() + if (!owner) + return FALSE + if (HAS_TRAIT(owner, TRAIT_NEVER_WOUNDED) || HAS_TRAIT(owner, TRAIT_GODMODE)) + return FALSE + return TRUE //Heals brute and burn damage for the organ. Returns 1 if the damage-icon states changed at all. //Damage cannot go below zero. @@ -1171,23 +1185,22 @@ // For some reason this was applied as an overlay on the aux image and limb image before. // I am very sure that this is unnecessary, and i need to treat it as part of the return list // to be able to mask it proper in case this limb is a leg. - if(!is_husked) - var/atom/location = loc || owner || src - if(blocks_emissive != EMISSIVE_BLOCK_NONE) - var/mutable_appearance/limb_em_block = emissive_blocker(limb.icon, limb.icon_state, location, layer = limb.layer, alpha = limb.alpha) - . += limb_em_block + var/atom/location = loc || owner || src + if(blocks_emissive != EMISSIVE_BLOCK_NONE) + var/mutable_appearance/limb_em_block = emissive_blocker(limb.icon, limb.icon_state, location, layer = limb.layer, alpha = limb.alpha) + . += limb_em_block - if(aux_zone) - var/mutable_appearance/aux_em_block = emissive_blocker(aux.icon, aux.icon_state, location, layer = aux.layer, alpha = aux.alpha) - . += aux_em_block + if(aux_zone) + var/mutable_appearance/aux_em_block = emissive_blocker(aux.icon, aux.icon_state, location, layer = aux.layer, alpha = aux.alpha) + . += aux_em_block - if(is_emissive) - var/mutable_appearance/limb_em = emissive_appearance(limb.icon, "[limb.icon_state]_e", location, layer = limb.layer, alpha = limb.alpha) - . += limb_em + if(!is_husked && is_emissive) + var/mutable_appearance/limb_em = emissive_appearance(limb.icon, "[limb.icon_state]_e", location, layer = limb.layer, alpha = limb.alpha) + . += limb_em - if(aux_zone) - var/mutable_appearance/aux_em = emissive_appearance(aux.icon, "[aux.icon_state]_e", location, layer = aux.layer, alpha = aux.alpha) - . += aux_em + if(aux_zone) + var/mutable_appearance/aux_em = emissive_appearance(aux.icon, "[aux.icon_state]_e", location, layer = aux.layer, alpha = aux.alpha) + . += aux_em //EMISSIVE CODE END //No need to handle leg layering if dropped, we only face south anyways diff --git a/code/modules/surgery/bodyparts/wounds.dm b/code/modules/surgery/bodyparts/wounds.dm index 7e16258dec9..00e605dcb13 100644 --- a/code/modules/surgery/bodyparts/wounds.dm +++ b/code/modules/surgery/bodyparts/wounds.dm @@ -53,19 +53,25 @@ SHOULD_CALL_PARENT(TRUE) RETURN_TYPE(/datum/wound) - if(HAS_TRAIT(owner, TRAIT_NEVER_WOUNDED) || HAS_TRAIT(owner, TRAIT_GODMODE)) + if(!is_woundable()) return // note that these are fed into an exponent, so these are magnified var/easily_wounded = HAS_TRAIT(owner, TRAIT_EASILY_WOUNDED) var/hardly_wounded = HAS_TRAIT(owner, TRAIT_HARDLY_WOUNDED) + var/considered_damage_cap = WOUND_MAX_CONSIDERED_DAMAGE if(easily_wounded && !hardly_wounded) - damage *= 1.5 - else - damage = min(damage, WOUND_MAX_CONSIDERED_DAMAGE) + considered_damage_cap *= 1.5 + else if(hardly_wounded && !easily_wounded) + considered_damage_cap /= 2 - if(hardly_wounded && !easily_wounded) - damage *= 0.85 + if(HAS_TRAIT(owner, TRAIT_BLOODY_MESS)) + if(easily_wounded && !hardly_wounded) //Super sucks to be you. + damage *= 1.5 + else if(hardly_wounded && !easily_wounded) + damage *= 0.5 + else + damage = min(damage, considered_damage_cap) if(HAS_TRAIT(owner, TRAIT_EASYDISMEMBER) && !HAS_TRAIT(owner, TRAIT_NODISMEMBER)) damage *= 1.1 @@ -84,73 +90,49 @@ return var/list/datum/wound/possible_wounds = list() - for (var/datum/wound/type as anything in GLOB.all_wound_pregen_data) - var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[type] - if (pregen_data.can_be_applied_to(src, list(woundtype), random_roll = TRUE)) - possible_wounds[type] = pregen_data.get_weight(src, woundtype, damage, attack_direction, damage_source) - // quick re-check to see if exposed_wound_bonus applies, for the benefit of log_wound(), see about getting the check from check_woundings_mods() somehow - if(ishuman(owner)) - var/mob/living/carbon/human/human_wearer = owner - var/list/clothing = human_wearer.get_clothing_on_part(src) - for(var/obj/item/clothing/clothes_check as anything in clothing) - // unlike normal armor checks, we tabluate these piece-by-piece manually so we can also pass on appropriate damage the clothing's limbs if necessary - if(clothes_check.get_armor_rating(WOUND)) - exposed_wound_bonus = 0 - break - - for (var/datum/wound/iterated_path as anything in possible_wounds) - for (var/datum/wound/existing_wound as anything in wounds) - if (iterated_path == existing_wound.type) - possible_wounds -= iterated_path - break // breaks out of the nested loop - - var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[iterated_path] - var/specific_injury_roll = (injury_roll + series_wounding_mods[pregen_data.wound_series]) - if (pregen_data.get_threshold_for(src, attack_direction, damage_source) > specific_injury_roll) - possible_wounds -= iterated_path + for (var/datum/wound/wound_type as anything in GLOB.all_wound_pregen_data) + var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[wound_type] + if (!pregen_data.compete_for_wounding) continue - if (pregen_data.compete_for_wounding) - for (var/datum/wound/other_path as anything in possible_wounds) - if (other_path == iterated_path) - continue - if (initial(iterated_path.severity) == initial(other_path.severity) && pregen_data.overpower_wounds_of_even_severity) + var/specific_injury_roll = (injury_roll + series_wounding_mods[pregen_data.wound_series]) + if (pregen_data.get_threshold_for(src, attack_direction, damage_source) > specific_injury_roll) + continue + + if (pregen_data.can_be_applied_to(src, woundtype, random_roll = TRUE)) + possible_wounds[wound_type] = pregen_data.get_weight(src, woundtype, damage, attack_direction, damage_source) + + for (var/datum/wound/wound_type as anything in possible_wounds) + var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[wound_type] + for (var/datum/wound/other_path as anything in (possible_wounds - wound_type)) + + if (pregen_data.competition_mode == WOUND_COMPETITION_OVERPOWER_LESSERS) + if (initial(wound_type.severity) > initial(other_path.severity)) + possible_wounds -= other_path + else if (pregen_data.competition_mode == WOUND_COMPETITION_OVERPOWER_GREATERS) + if (initial(wound_type.severity) < initial(other_path.severity)) possible_wounds -= other_path - continue - else if (pregen_data.competition_mode == WOUND_COMPETITION_OVERPOWER_LESSERS) - if (initial(iterated_path.severity) > initial(other_path.severity)) - possible_wounds -= other_path - continue - else if (pregen_data.competition_mode == WOUND_COMPETITION_OVERPOWER_GREATERS) - if (initial(iterated_path.severity) < initial(other_path.severity)) - possible_wounds -= other_path - continue - while (TRUE) - var/datum/wound/possible_wound = pick_weight(possible_wounds) - if (isnull(possible_wound)) - break + if (!length(possible_wounds)) + return - possible_wounds -= possible_wound - var/datum/wound_pregen_data/possible_pregen_data = GLOB.all_wound_pregen_data[possible_wound] + var/datum/wound/possible_wound = pick_weight(possible_wounds) + var/datum/wound_pregen_data/possible_pregen_data = GLOB.all_wound_pregen_data[possible_wound] + var/datum/wound/replaced_wound = null + for(var/datum/wound/existing_wound as anything in wounds) + var/datum/wound_pregen_data/existing_pregen_data = GLOB.all_wound_pregen_data[existing_wound.type] + if(existing_pregen_data.wound_series == possible_pregen_data.wound_series) + if(existing_wound.severity >= initial(possible_wound.severity)) + continue + replaced_wound = existing_wound - var/datum/wound/replaced_wound - for(var/datum/wound/existing_wound as anything in wounds) - var/datum/wound_pregen_data/existing_pregen_data = GLOB.all_wound_pregen_data[existing_wound.type] - if(existing_pregen_data.wound_series == possible_pregen_data.wound_series) - if(existing_wound.severity >= initial(possible_wound.severity)) - continue - else - replaced_wound = existing_wound - // if we get through this whole loop without continuing, we found our winner - - var/datum/wound/new_wound = new possible_wound - if(replaced_wound) - new_wound = replaced_wound.replace_wound(new_wound, attack_direction = attack_direction) - else - new_wound.apply_wound(src, attack_direction = attack_direction, wound_source = damage_source) - log_wound(owner, new_wound, damage, wound_bonus, exposed_wound_bonus, base_roll) // dismembering wounds are logged in the apply_wound() for loss wounds since they delete themselves immediately, these will be immediately returned - return new_wound + var/datum/wound/new_wound = new possible_wound + if(replaced_wound) + new_wound = replaced_wound.replace_wound(new_wound, attack_direction = attack_direction) + else + new_wound.apply_wound(src, attack_direction = attack_direction, wound_source = damage_source) + log_wound(owner, new_wound, damage, wound_bonus, exposed_wound_bonus, base_roll) // dismembering wounds are logged in the apply_wound() for loss wounds since they delete themselves immediately, these will be immediately returned + return new_wound // try forcing a specific wound, but only if there isn't already a wound of that severity or greater for that type on this bodypart /obj/item/bodypart/proc/force_wound_upwards(datum/wound/potential_wound, smited = FALSE, wound_source) @@ -191,11 +173,7 @@ if (isnull(limb)) limb = pick(bodyparts) - var/list/type_list = wounding_type - if (!islist(type_list)) - type_list = list(type_list) - - var/datum/wound/corresponding_typepath = get_corresponding_wound_type(type_list, limb, min_severity, max_severity, severity_pick_mode) + var/datum/wound/corresponding_typepath = get_corresponding_wound_type(wounding_type, limb, min_severity, max_severity, severity_pick_mode) if (corresponding_typepath) return limb.force_wound_upwards(corresponding_typepath, wound_source = wound_source) @@ -222,11 +200,7 @@ * return_value_if_no_wound if no wound is found - if one IS found, the wound threshold for that wound. */ /obj/item/bodypart/proc/get_wound_threshold_of_wound_type(wounding_type, severity, return_value_if_no_wound, wound_source) - var/list/type_list = wounding_type - if (!islist(type_list)) - type_list = list(type_list) - - var/datum/wound/wound_path = get_corresponding_wound_type(type_list, src, severity, duplicates_allowed = TRUE, care_about_existing_wounds = FALSE) + var/datum/wound/wound_path = get_corresponding_wound_type(wounding_type, src, severity, duplicates_allowed = TRUE, care_about_existing_wounds = FALSE) if (wound_path) var/datum/wound_pregen_data/pregen_data = GLOB.all_wound_pregen_data[wound_path] return pregen_data.get_threshold_for(src, damage_source = wound_source) diff --git a/code/modules/surgery/organs/internal/appendix/_appendix.dm b/code/modules/surgery/organs/internal/appendix/_appendix.dm index 29dbbe6a73d..1b7df505799 100644 --- a/code/modules/surgery/organs/internal/appendix/_appendix.dm +++ b/code/modules/surgery/organs/internal/appendix/_appendix.dm @@ -47,6 +47,7 @@ return ADD_TRAIT(owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) owner.med_hud_set_status() + RegisterSignal(owner, COMSIG_LIVING_POST_FULLY_HEAL, PROC_REF(on_fully_heal)) if(isnull(owner.client)) return notify_ghosts( @@ -90,14 +91,29 @@ /obj/item/organ/appendix/on_mob_remove(mob/living/carbon/organ_owner) . = ..() + UnregisterSignal(organ_owner, COMSIG_LIVING_POST_FULLY_HEAL) REMOVE_TRAIT(organ_owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) organ_owner.med_hud_set_status() /obj/item/organ/appendix/on_mob_insert(mob/living/carbon/organ_owner) . = ..() - if(inflamation_stage) - ADD_TRAIT(organ_owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) - organ_owner.med_hud_set_status() + if(!inflamation_stage) + return + ADD_TRAIT(organ_owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) + organ_owner.med_hud_set_status() + RegisterSignal(organ_owner, COMSIG_LIVING_POST_FULLY_HEAL, PROC_REF(on_fully_heal)) + +/obj/item/organ/appendix/proc/on_fully_heal(datum/source, heal_flags) + SIGNAL_HANDLER + + if (!(heal_flags & HEAL_ORGANS)) + return + + inflamation_stage = 0 + update_appearance() + UnregisterSignal(owner, COMSIG_LIVING_POST_FULLY_HEAL) + REMOVE_TRAIT(owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) + owner.med_hud_set_status() /obj/item/organ/appendix/get_status_text(advanced, add_tooltips, colored) if(!(organ_flags & ORGAN_FAILING) && inflamation_stage) diff --git a/code/modules/surgery/organs/internal/heart/heart_anomalock.dm b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm index fe7b726d00a..1a259978a4c 100644 --- a/code/modules/surgery/organs/internal/heart/heart_anomalock.dm +++ b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm @@ -39,7 +39,7 @@ return add_lightning_overlay(30 SECONDS) playsound(organ_owner, 'sound/items/eshield_recharge.ogg', 40) - organ_owner.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + organ_owner.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS|EMP_NO_EXAMINE) RegisterSignal(organ_owner, SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION), PROC_REF(activate_survival)) RegisterSignal(organ_owner, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) @@ -48,7 +48,7 @@ if(!core) return UnregisterSignal(organ_owner, SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION)) - organ_owner.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + organ_owner.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS|EMP_NO_EXAMINE) tesla_zap(source = organ_owner, zap_range = 20, power = 2.5e5, cutoff = 1e3) qdel(src) @@ -175,6 +175,7 @@ /obj/item/organ/heart/cybernetic/anomalock/prebuilt/Initialize(mapload) . = ..() core = new /obj/item/assembly/signaler/anomaly/flux(src) + add_organ_trait(TRAIT_SHOCKIMMUNE) update_icon_state() /datum/status_effect/voltaic_overdrive diff --git a/code/modules/tooltip/tooltip.html b/code/modules/tooltip/tooltip.html index 0fa43d4debb..b75524bbdf9 100644 --- a/code/modules/tooltip/tooltip.html +++ b/code/modules/tooltip/tooltip.html @@ -228,15 +228,15 @@ //To improve our code. Thanks gooncoders, very cool var mapWidth = map["view-size"].x, mapHeight = map["view-size"].y, - tilesShownX = tooltip.client_view_w; - tilesShownY = tooltip.client_view_h; - (realIconSizeX = mapWidth / tilesShownX), - (realIconSizeY = mapHeight / tilesShownY), - (resizeRatioX = realIconSizeX / tooltip.tileSize), - (resizeRatioY = realIconSizeY / tooltip.tileSize), + tilesShownX = tooltip.client_view_w, + tilesShownY = tooltip.client_view_h, + realIconSizeX = mapWidth / tilesShownX, + realIconSizeY = mapHeight / tilesShownY, + resizeRatioX = realIconSizeX / tooltip.tileSize, + resizeRatioY = realIconSizeY / tooltip.tileSize, //Calculate letterboxing offsets - (leftOffset = (map.size.x - mapWidth) / 2), - (topOffset = (map.size.y - mapHeight) / 2); + leftOffset = (map.size.x - mapWidth) / 2, + topOffset = (map.size.y - mapHeight) / 2; //alert(realIconSize + ' | ' +tooltip.tileSize + ' | ' + resizeRatio); //DEBUG diff --git a/code/modules/transport/tram/tram_floors.dm b/code/modules/transport/tram/tram_floors.dm index 61244b79389..8310507965f 100644 --- a/code/modules/transport/tram/tram_floors.dm +++ b/code/modules/transport/tram/tram_floors.dm @@ -55,7 +55,7 @@ if(target == src) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) return TRUE - if(severity < EXPLODE_DEVASTATE && is_shielded()) + if(is_explosion_shielded(severity)) return FALSE switch(severity) diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 1a454f408d6..b5e987ba870 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -178,6 +178,7 @@ #include "holder_loving.dm" #include "holidays.dm" #include "holofan_placement.dm" +#include "huds.dm" #include "hulk.dm" #include "human_through_recycler.dm" #include "hunger_curse.dm" diff --git a/code/modules/unit_tests/bake_a_cake.dm b/code/modules/unit_tests/bake_a_cake.dm index 424d5668a44..302516673ab 100644 --- a/code/modules/unit_tests/bake_a_cake.dm +++ b/code/modules/unit_tests/bake_a_cake.dm @@ -32,16 +32,31 @@ human.mind = new /datum/mind(null) // Add brain for the food buff // It's a piece of cake to bake a pretty cake + var/sanity = 0 while(beaker.reagents.get_reagent_amount(/datum/reagent/consumable/sugar) < sugar_required && beaker.reagents.total_volume < total_volume) sugar_bag.melee_attack_chain(human, beaker) + sanity++ + if(sanity > 50) + TEST_FAIL("Failed to add sugar to beaker!") + return + sanity = 0 while(beaker.reagents.get_reagent_amount(/datum/reagent/consumable/flour) < flour_required && beaker.reagents.total_volume < total_volume) flour_bag.melee_attack_chain(human, beaker) + sanity++ + if(sanity > 50) + TEST_FAIL("Failed to add flour to beaker!") + return + sanity = 0 while((beaker.reagents.get_reagent_amount(/datum/reagent/consumable/eggyolk) < eggyolk_required \ || beaker.reagents.get_reagent_amount(/datum/reagent/consumable/eggwhite) < eggwhite_required) \ && beaker.reagents.total_volume < total_volume \ && beaker.reagents.total_volume >= (sugar_required + flour_required)) // Make sure that we won't miss the reaction var/obj/item/egg = egg_box.contents[1] egg.melee_attack_chain(human, beaker, list(RIGHT_CLICK = TRUE)) + sanity++ + if(sanity > 50) + TEST_FAIL("Failed to add egg to beaker!") + return var/obj/item/food/cake_batter = locate(/obj/item/food/cakebatter) in table_loc TEST_ASSERT_NOTNULL(cake_batter, "Failed making cake batter!") TEST_ASSERT_EQUAL(beaker.reagents.total_volume, 0, "Cake batter did not consume all beaker reagents!") diff --git a/code/modules/unit_tests/huds.dm b/code/modules/unit_tests/huds.dm new file mode 100644 index 00000000000..8aadb770260 --- /dev/null +++ b/code/modules/unit_tests/huds.dm @@ -0,0 +1,18 @@ +/// Tests huds are applied and removed correctly when relevant traits are added/removed +/datum/unit_test/huds + +/datum/unit_test/huds/Run() + var/datum/atom_hud/testhud = GLOB.huds[GLOB.trait_to_hud[TRAIT_SECURITY_HUD]] + var/mob/living/carbon/human/consistent/dummy = allocate(__IMPLIED_TYPE__) + + ADD_TRAIT(dummy, TRAIT_SECURITY_HUD, TRAIT_SOURCE_UNIT_TESTS) + TEST_ASSERT(!!testhud.hud_users_all_z_levels[dummy], "HUD not applied when trait of HUD was added") + + ADD_TRAIT(dummy, TRAIT_BLOCK_SECHUD, TRAIT_SOURCE_UNIT_TESTS) + TEST_ASSERT(!testhud.hud_users_all_z_levels[dummy], "HUD not removed when trait blocking HUD was added") + + REMOVE_TRAIT(dummy, TRAIT_BLOCK_SECHUD, TRAIT_SOURCE_UNIT_TESTS) + TEST_ASSERT(!!testhud.hud_users_all_z_levels[dummy], "HUD not reapplied when trait blocking HUD was removed") + + REMOVE_TRAIT(dummy, TRAIT_SECURITY_HUD, TRAIT_SOURCE_UNIT_TESTS) + TEST_ASSERT(!testhud.hud_users_all_z_levels[dummy], "HUD not removed when trait of HUD was removed") diff --git a/code/modules/unit_tests/reagent_mob_expose.dm b/code/modules/unit_tests/reagent_mob_expose.dm index 20aa9c72e03..383225d3fab 100644 --- a/code/modules/unit_tests/reagent_mob_expose.dm +++ b/code/modules/unit_tests/reagent_mob_expose.dm @@ -23,7 +23,7 @@ // INGEST TEST_ASSERT_EQUAL(human.fire_stacks, 0, "Human has fire stacks before taking phlogiston") drink.reagents.add_reagent(/datum/reagent/phlogiston, 10) - drink.attack(human, human) + drink.melee_attack_chain(human, human) TEST_ASSERT_EQUAL(human.fire_stacks, 1, "Human does not have fire stacks after taking phlogiston") human.Life(SSMOBS_DT) TEST_ASSERT(human.fire_stacks > 1, "Human fire stacks did not increase after life tick") diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index d8550c14055..4124e397ba7 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -195,10 +195,10 @@ /obj/item/mecha_parts/mecha_equipment/armor/antiemp_armor_booster/attach(obj/vehicle/sealed/mecha/new_mecha, attach_right) . = ..() - chassis.AddElement(/datum/element/empprotection, EMP_PROTECT_WIRES) + chassis.AddElement(/datum/element/empprotection, EMP_PROTECT_WIRES|EMP_NO_EXAMINE) /obj/item/mecha_parts/mecha_equipment/armor/antiemp_armor_booster/detach(atom/moveto) - chassis.RemoveElement(/datum/element/empprotection, EMP_PROTECT_WIRES) + chassis.RemoveElement(/datum/element/empprotection, EMP_PROTECT_WIRES|EMP_NO_EXAMINE) return ..() /obj/item/mecha_parts/mecha_equipment/armor/antiemp_armor_booster/clandestine diff --git a/code/modules/vehicles/mecha/medical/odysseus.dm b/code/modules/vehicles/mecha/medical/odysseus.dm index e6f02e2710b..3199124edaa 100644 --- a/code/modules/vehicles/mecha/medical/odysseus.dm +++ b/code/modules/vehicles/mecha/medical/odysseus.dm @@ -14,15 +14,16 @@ /obj/vehicle/sealed/mecha/odysseus/moved_inside(mob/living/carbon/human/human) . = ..() - if(. && !HAS_TRAIT(human, TRAIT_MEDICAL_HUD)) - ADD_TRAIT(human, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) + if(!.) + return + ADD_TRAIT(human, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) /obj/vehicle/sealed/mecha/odysseus/remove_occupant(mob/living/carbon/human/human) - if(isliving(human) && HAS_TRAIT_FROM(human, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT)) - REMOVE_TRAIT(human, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) + REMOVE_TRAIT(human, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) return ..() /obj/vehicle/sealed/mecha/odysseus/mmi_moved_inside(obj/item/mmi/MMI, mob/user) . = ..() - if(. && !isnull(MMI.brainmob) && !HAS_TRAIT(MMI.brainmob, TRAIT_MEDICAL_HUD)) - ADD_TRAIT(MMI.brainmob, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) + if(!. || isnull(MMI.brainmob)) + return + ADD_TRAIT(MMI.brainmob, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) diff --git a/code/modules/vending/assist.dm b/code/modules/vending/assist.dm index aff6ed1958c..9e5a3c4d8ec 100644 --- a/code/modules/vending/assist.dm +++ b/code/modules/vending/assist.dm @@ -34,7 +34,6 @@ /obj/item/universal_scanner = 3, /obj/item/vending_refill/custom = 3, ) - allow_custom = TRUE refill_canister = /obj/item/vending_refill/assist product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!" diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 8ed868b0391..ffdf0bd5aa0 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -234,7 +234,6 @@ GLOBAL_VAR_INIT(all_autodrobe_items, (autodrobe_costumes_items +\ extra_price = PAYCHECK_COMMAND payment_department = ACCOUNT_SRV light_mask = "theater-light-mask" - allow_custom = TRUE /obj/machinery/vending/autodrobe/Initialize(mapload) product_categories = list( diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index 9f867f9f97b..759ac253e92 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -90,7 +90,6 @@ extra_price = PAYCHECK_COMMAND payment_department = ACCOUNT_SRV light_mask = "boozeomat-light-mask" - allow_custom = TRUE /obj/machinery/vending/boozeomat/syndicate age_restrictions = FALSE diff --git a/code/modules/vending/cartridge.dm b/code/modules/vending/cartridge.dm index 852c88452ad..ccc13b7de72 100644 --- a/code/modules/vending/cartridge.dm +++ b/code/modules/vending/cartridge.dm @@ -20,7 +20,6 @@ extra_price = PAYCHECK_COMMAND * 2.5 payment_department = ACCOUNT_SRV light_mask = "cart-light-mask" - allow_custom = TRUE /obj/item/vending_refill/cart machine_name = "PTech" diff --git a/code/modules/vending/cigarette.dm b/code/modules/vending/cigarette.dm index 8925d7ecd2a..4fd003c98df 100644 --- a/code/modules/vending/cigarette.dm +++ b/code/modules/vending/cigarette.dm @@ -35,9 +35,11 @@ extra_price = PAYCHECK_COMMAND payment_department = ACCOUNT_SRV light_mask = "cigs-light-mask" - allow_custom = TRUE /obj/machinery/vending/cigarette/syndicate + name = "\improper Waffle Co Breakfast Cigarettes" + product_slogans = "Start your day the right way!;Breakfast of champions!;Smokes that mean business!;Omnizine, your uplink to smooth taste!" + product_ads = "Waffle Co's science advisory: omnizine may prevent most forms of smoking-related illness!*;New study: Rival corporations more trusting of men who smoke!;A Waffle Co cigarette makes yellow star feel like black orbit!" products = list( /obj/item/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, @@ -51,7 +53,12 @@ /obj/item/storage/fancy/rollingpapers = 5, ) initial_language_holder = /datum/language_holder/syndicate - allow_custom = FALSE + refill_canister = /obj/item/vending_refill/cigarette/syndicate + +/obj/item/vending_refill/cigarette/syndicate + machine_name = "Waffle Co Breakfast Cigarettes" + icon_state = "refill_syndismoke" + /obj/machinery/vending/cigarette/beach //Used in the lavaland_biodome_beach.dmm ruin name = "\improper ShadyCigs Ultra" diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm index e730c7a9dfa..437ffe28cc3 100644 --- a/code/modules/vending/clothesmate.dm +++ b/code/modules/vending/clothesmate.dm @@ -233,7 +233,6 @@ payment_department = NO_FREEBIES light_mask = "wardrobe-light-mask" light_color = LIGHT_COLOR_ELECTRIC_GREEN - allow_custom = TRUE /obj/item/vending_refill/clothing machine_name = "ClothesMate" diff --git a/code/modules/vending/coffee.dm b/code/modules/vending/coffee.dm index e75cc4f47ce..10b895d1367 100644 --- a/code/modules/vending/coffee.dm +++ b/code/modules/vending/coffee.dm @@ -19,7 +19,6 @@ payment_department = ACCOUNT_SRV light_mask = "coffee-light-mask" light_color = COLOR_DARK_MODERATE_ORANGE - allow_custom = TRUE /obj/item/vending_refill/coffee machine_name = "Solar's Best Hot Drinks" diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm index 53aa82f8e12..aab8ab39e8a 100644 --- a/code/modules/vending/cola.dm +++ b/code/modules/vending/cola.dm @@ -35,7 +35,6 @@ default_price = PAYCHECK_CREW * 0.7 extra_price = PAYCHECK_CREW payment_department = ACCOUNT_SRV - allow_custom = TRUE var/static/list/spiking_booze = list( // Your "common" spiking booze @@ -152,8 +151,13 @@ product_slogans = "~Shake me up some of that Shambler's Juice!~" product_ads = "Refreshing!;Thirsty for DNA? Satiate your craving!;Over 1 trillion souls drank!;Made with real DNA!;The hivemind demands your thirst!;Drink up!;Absorb your thirst." light_mask = "shamblers-light-mask" + refill_canister = /obj/item/vending_refill/cola/shamblers light_color = COLOR_MOSTLY_PURE_PINK - allow_custom = FALSE + + +/obj/item/vending_refill/cola/shamblers + machine_name = "Shambler's Vendor" + icon_state = "refill_shamblers" /obj/machinery/vending/cola/shamblers/Initialize(mapload) . = ..() diff --git a/code/modules/vending/custom.dm b/code/modules/vending/custom.dm index 3637ff84a68..10025d394ef 100644 --- a/code/modules/vending/custom.dm +++ b/code/modules/vending/custom.dm @@ -9,7 +9,6 @@ payment_department = NO_FREEBIES light_mask = "custom-light-mask" panel_type = "panel20" - allow_custom = TRUE refill_canister = /obj/item/vending_refill/custom fish_source_path = /datum/fish_source/vending/custom diff --git a/code/modules/vending/cytopro.dm b/code/modules/vending/cytopro.dm index c27b9e537b2..ce351be7769 100644 --- a/code/modules/vending/cytopro.dm +++ b/code/modules/vending/cytopro.dm @@ -29,7 +29,6 @@ default_price = PAYCHECK_CREW * 1 extra_price = PAYCHECK_COMMAND * 0.5 payment_department = ACCOUNT_SCI - allow_custom = TRUE /obj/item/vending_refill/cytopro machine_name = "CytoPro" diff --git a/code/modules/vending/donk.dm b/code/modules/vending/donk.dm index e3851bee7f1..4172c8450cd 100644 --- a/code/modules/vending/donk.dm +++ b/code/modules/vending/donk.dm @@ -6,7 +6,6 @@ icon_state = "snackdonk" panel_type = "panel18" light_mask = "donksoft-light-mask" - circuit = /obj/item/circuitboard/machine/vending/donksnackvendor products = list( /obj/item/food/donkpocket = 6, /obj/item/food/donkpocket/berry = 6, diff --git a/code/modules/vending/drinnerware.dm b/code/modules/vending/drinnerware.dm index 648d5762f9e..c37750a2d3d 100644 --- a/code/modules/vending/drinnerware.dm +++ b/code/modules/vending/drinnerware.dm @@ -69,7 +69,6 @@ extra_price = PAYCHECK_CREW * 2.4 payment_department = ACCOUNT_SRV light_mask = "dinnerware-light-mask" - allow_custom = TRUE /obj/item/vending_refill/dinnerware machine_name = "Plasteel Chef's Dinnerware Vendor" diff --git a/code/modules/vending/engineering.dm b/code/modules/vending/engineering.dm index 9b4999161df..5288e2efc85 100644 --- a/code/modules/vending/engineering.dm +++ b/code/modules/vending/engineering.dm @@ -35,8 +35,7 @@ extra_price = PAYCHECK_COMMAND * 1.5 payment_department = ACCOUNT_ENG light_mask = "engi-light-mask" - allow_custom = TRUE /obj/item/vending_refill/engineering machine_name = "Robco Tool Maker" - icon_state = "refill_engi" + icon_state = "refill_roroco" diff --git a/code/modules/vending/engivend.dm b/code/modules/vending/engivend.dm index 256ea76870f..13e30e1783f 100644 --- a/code/modules/vending/engivend.dm +++ b/code/modules/vending/engivend.dm @@ -32,7 +32,6 @@ extra_price = PAYCHECK_COMMAND * 1.5 payment_department = ACCOUNT_ENG light_mask = "engivend-light-mask" - allow_custom = TRUE /obj/item/vending_refill/engivend machine_name = "Engi-Vend" diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index a5b38b8fa0d..1b5722dbc12 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -115,7 +115,6 @@ extra_price = PAYCHECK_COMMAND * 1.25 payment_department = ACCOUNT_SRV light_mask = "games-light-mask" - allow_custom = TRUE /obj/item/vending_refill/games machine_name = "\improper Good Clean Fun" diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm index a23ea87c4ef..a2875c3b9b6 100644 --- a/code/modules/vending/liberation.dm +++ b/code/modules/vending/liberation.dm @@ -35,6 +35,7 @@ ) //U S A armor_type = /datum/armor/vending_liberationstation resistance_flags = FIRE_PROOF + refill_canister = /obj/item/vending_refill/liberation default_price = PAYCHECK_COMMAND * 2.5 extra_price = PAYCHECK_COMMAND * 2.5 payment_department = ACCOUNT_SEC @@ -47,3 +48,7 @@ energy = 100 fire = 100 acid = 50 + +/obj/item/vending_refill/liberation + machine_name = "Liberation Station" + icon_state = "refill_patriot" diff --git a/code/modules/vending/liberation_toy.dm b/code/modules/vending/liberation_toy.dm index e5697793703..9ddb14e78c9 100644 --- a/code/modules/vending/liberation_toy.dm +++ b/code/modules/vending/liberation_toy.dm @@ -6,7 +6,6 @@ product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get permabrigged!" product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!" vend_reply = "Come back for more!" - circuit = /obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor products = list( /obj/item/card/emagfake = 4, /obj/item/hot_potato/harmless/toy = 4, @@ -37,6 +36,7 @@ extra_price = PAYCHECK_COMMAND payment_department = NO_FREEBIES light_mask = "donksoft-light-mask" + allow_custom = FALSE /datum/armor/vending_toyliberationstation melee = 100 diff --git a/code/modules/vending/magivend.dm b/code/modules/vending/magivend.dm index 51aac98fdfa..4482186d50b 100644 --- a/code/modules/vending/magivend.dm +++ b/code/modules/vending/magivend.dm @@ -21,6 +21,7 @@ contraband = list(/obj/item/reagent_containers/cup/bottle/wizarditis = 1) //No one can get to the machine to hack it anyways; for the lulz - Microwave armor_type = /datum/armor/vending_magivend resistance_flags = FIRE_PROOF + refill_canister = /obj/item/vending_refill/magivend default_price = 0 //Just in case, since its primary use is storage. extra_price = PAYCHECK_COMMAND payment_department = ACCOUNT_SRV @@ -33,3 +34,7 @@ energy = 100 fire = 100 acid = 50 + +/obj/item/vending_refill/magivend + machine_name = "MagiVend" + icon_state = "refill_magivend" diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index 79bc6a33b44..a4a56a75e80 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -40,7 +40,6 @@ extra_price = PAYCHECK_COMMAND payment_department = ACCOUNT_MED light_mask = "med-light-mask" - allow_custom = TRUE /obj/item/vending_refill/medical machine_name = "NanoMed Plus" diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm index 0b7bc91aac2..612493db94f 100644 --- a/code/modules/vending/medical_wall.dm +++ b/code/modules/vending/medical_wall.dm @@ -27,7 +27,6 @@ payment_department = ACCOUNT_MED tiltable = FALSE light_mask = "wallmed-light-mask" - allow_custom = TRUE /obj/machinery/vending/wallmed/directional allow_custom = FALSE diff --git a/code/modules/vending/modularpc.dm b/code/modules/vending/modularpc.dm index 0e894147e22..415329366c7 100644 --- a/code/modules/vending/modularpc.dm +++ b/code/modules/vending/modularpc.dm @@ -19,7 +19,6 @@ default_price = PAYCHECK_CREW extra_price = PAYCHECK_COMMAND payment_department = ACCOUNT_SCI - allow_custom = TRUE /obj/item/vending_refill/modularpc machine_name = "Deluxe Silicate Selections" diff --git a/code/modules/vending/nutrimax.dm b/code/modules/vending/nutrimax.dm index 7438dedcfc3..d7b3a0aaa5c 100644 --- a/code/modules/vending/nutrimax.dm +++ b/code/modules/vending/nutrimax.dm @@ -28,7 +28,6 @@ default_price = PAYCHECK_CREW * 0.8 extra_price = PAYCHECK_COMMAND * 0.8 payment_department = ACCOUNT_SRV - allow_custom = TRUE /obj/item/vending_refill/hydronutrients machine_name = "NutriMax" diff --git a/code/modules/vending/plasmaresearch.dm b/code/modules/vending/plasmaresearch.dm index fbe8f00dcde..bd9a11ef0a4 100644 --- a/code/modules/vending/plasmaresearch.dm +++ b/code/modules/vending/plasmaresearch.dm @@ -13,6 +13,11 @@ /obj/item/transfer_valve = 6, ) contraband = list(/obj/item/assembly/health = 3) + refill_canister = /obj/item/vending_refill/plasmaresearch default_price = PAYCHECK_CREW extra_price = PAYCHECK_CREW payment_department = ACCOUNT_SCI + +/obj/item/vending_refill/plasmaresearch + machine_name = "Bombuddy 3000" + icon_state = "refill_bombuddy" diff --git a/code/modules/vending/robotics.dm b/code/modules/vending/robotics.dm index 7e813d78e08..84964041953 100644 --- a/code/modules/vending/robotics.dm +++ b/code/modules/vending/robotics.dm @@ -26,7 +26,6 @@ refill_canister = /obj/item/vending_refill/robotics default_price = PAYCHECK_COMMAND payment_department = ACCOUNT_SCI - allow_custom = TRUE /obj/item/vending_refill/robotics machine_name = "Robotech Deluxe" diff --git a/code/modules/vending/runic_vendor.dm b/code/modules/vending/runic_vendor.dm index 3e6d21c708f..4e53e9bef72 100644 --- a/code/modules/vending/runic_vendor.dm +++ b/code/modules/vending/runic_vendor.dm @@ -14,7 +14,7 @@ var/time_to_decay = 30 SECONDS /// Area around the vendor that will pushback nearby mobs. var/pulse_distance = PULSE_DISTANCE_RANGE - + allow_custom = FALSE /obj/machinery/vending/runic_vendor/Initialize(mapload) if(mapload) diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 5004a8749d5..bf0b9dbee38 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -37,7 +37,6 @@ default_price = PAYCHECK_CREW extra_price = PAYCHECK_COMMAND * 1.5 payment_department = ACCOUNT_SEC - allow_custom = TRUE /obj/machinery/vending/security/pre_throw(obj/item/thrown_item) if(isgrenade(thrown_item)) diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm index 95c932b8999..8c85066ead9 100644 --- a/code/modules/vending/snack.dm +++ b/code/modules/vending/snack.dm @@ -45,7 +45,6 @@ default_price = PAYCHECK_CREW * 0.6 extra_price = PAYCHECK_CREW payment_department = ACCOUNT_SRV - allow_custom = TRUE /obj/item/vending_refill/snack machine_name = "Getmore Chocolate Corp" diff --git a/code/modules/vending/sovietsoda.dm b/code/modules/vending/sovietsoda.dm index ffeb9a86a7b..b489fce7128 100644 --- a/code/modules/vending/sovietsoda.dm +++ b/code/modules/vending/sovietsoda.dm @@ -18,7 +18,6 @@ payment_department = NO_FREEBIES light_color = COLOR_PALE_ORANGE initial_language_holder = /datum/language_holder/panslavic //bubber edit; spinwarder to panslavic - allow_custom = TRUE /obj/item/vending_refill/sovietsoda machine_name = "BODA" diff --git a/code/modules/vending/subtype.dm b/code/modules/vending/subtype.dm index d189435e18c..f6b37f79c32 100644 --- a/code/modules/vending/subtype.dm +++ b/code/modules/vending/subtype.dm @@ -13,6 +13,7 @@ all_products_free = TRUE /// Spawns coders by default var/type_to_vend = /obj/item/food/grown/citrus + allow_custom = FALSE /obj/machinery/vending/subtype_vendor/Initialize(mapload, type_to_vend) if(type_to_vend) diff --git a/code/modules/vending/sustenance.dm b/code/modules/vending/sustenance.dm index 0ad7eadc354..05f71b4eb6b 100644 --- a/code/modules/vending/sustenance.dm +++ b/code/modules/vending/sustenance.dm @@ -25,7 +25,6 @@ default_price = PAYCHECK_LOWER extra_price = PAYCHECK_LOWER * 0.6 payment_department = NO_FREEBIES - allow_custom = TRUE /obj/machinery/vending/sustenance/interact(mob/living/living_user) if(!isliving(living_user)) diff --git a/code/modules/vending/syndichem.dm b/code/modules/vending/syndichem.dm index 896198f65a6..02607956348 100644 --- a/code/modules/vending/syndichem.dm +++ b/code/modules/vending/syndichem.dm @@ -19,3 +19,8 @@ ) product_slogans = "It's not pyromania if you're getting paid!;You smell that? Plasma, son. Nothing else in the world smells like that.;I love the smell of Plasma in the morning." resistance_flags = FIRE_PROOF + refill_canister = /obj/item/vending_refill/syndichem + +/obj/item/vending_refill/syndichem + machine_name = "SyndiChem" + icon_state = "refill_syndichem" diff --git a/code/modules/vending/toys.dm b/code/modules/vending/toys.dm index 8f92e438b51..fae9bbc5d46 100644 --- a/code/modules/vending/toys.dm +++ b/code/modules/vending/toys.dm @@ -7,7 +7,6 @@ product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!" vend_reply = "Come back for more!" light_mask = "donksoft-light-mask" - circuit = /obj/item/circuitboard/machine/vending/donksofttoyvendor products = list( /obj/item/card/emagfake = 4, /obj/item/hot_potato/harmless/toy = 4, diff --git a/code/modules/vending/vendor/_vending.dm b/code/modules/vending/vendor/_vending.dm index 1a97b034fa8..3df88989705 100644 --- a/code/modules/vending/vendor/_vending.dm +++ b/code/modules/vending/vendor/_vending.dm @@ -72,7 +72,7 @@ ///Icon for the maintenance panel overlay var/panel_type = "panel1" ///Whether this vendor can be selected when building a custom vending machine - var/allow_custom = FALSE + var/allow_custom = TRUE /** * List of products this machine sells diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index f0c305dca31..ca461e34349 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -74,7 +74,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe payment_department = ACCOUNT_SEC light_color = COLOR_MOSTLY_PURE_RED - allow_custom = TRUE /obj/item/vending_refill/wardrobe/sec_wardrobe machine_name = "SecDrobe" @@ -121,7 +120,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/medi_wardrobe payment_department = ACCOUNT_MED - allow_custom = TRUE /obj/item/vending_refill/wardrobe/medi_wardrobe machine_name = "MediDrobe" @@ -152,7 +150,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) refill_canister = /obj/item/vending_refill/wardrobe/engi_wardrobe payment_department = ACCOUNT_ENG light_color = COLOR_VIVID_YELLOW - allow_custom = TRUE /obj/item/vending_refill/wardrobe/engi_wardrobe machine_name = "EngiDrobe" @@ -178,7 +175,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe payment_department = ACCOUNT_ENG light_color = COLOR_VIVID_YELLOW - allow_custom = TRUE /obj/item/vending_refill/wardrobe/atmos_wardrobe machine_name = "AtmosDrobe" @@ -222,7 +218,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe payment_department = ACCOUNT_CAR - allow_custom = TRUE /obj/item/vending_refill/wardrobe/cargo_wardrobe machine_name = "CargoDrobe" @@ -257,7 +252,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) refill_canister = /obj/item/vending_refill/wardrobe/robo_wardrobe extra_price = PAYCHECK_COMMAND * 1.2 payment_department = ACCOUNT_SCI - allow_custom = TRUE /obj/item/vending_refill/wardrobe/robo_wardrobe machine_name = "RoboDrobe" @@ -287,7 +281,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/science_wardrobe payment_department = ACCOUNT_SCI - allow_custom = TRUE /obj/item/vending_refill/wardrobe/science_wardrobe machine_name = "SciDrobe" @@ -316,7 +309,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe payment_department = ACCOUNT_SRV light_color = LIGHT_COLOR_ELECTRIC_GREEN - allow_custom = TRUE /obj/item/vending_refill/wardrobe/hydro_wardrobe machine_name = "HyDrobe" @@ -350,7 +342,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/curator_wardrobe payment_department = ACCOUNT_SRV - allow_custom = TRUE /obj/item/vending_refill/wardrobe/curator_wardrobe machine_name = "CuraDrobe" @@ -401,7 +392,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/coroner_wardrobe payment_department = ACCOUNT_MED - allow_custom = TRUE /obj/item/vending_refill/wardrobe/coroner_wardrobe machine_name = "MortiDrobe" @@ -439,7 +429,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) refill_canister = /obj/item/vending_refill/wardrobe/bar_wardrobe payment_department = ACCOUNT_MED extra_price = PAYCHECK_COMMAND - allow_custom = TRUE /obj/item/vending_refill/wardrobe/bar_wardrobe machine_name = "BarDrobe" @@ -470,7 +459,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe payment_department = ACCOUNT_SRV - allow_custom = TRUE /obj/item/vending_refill/wardrobe/chef_wardrobe machine_name = "ChefDrobe" @@ -510,7 +498,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) extra_price = PAYCHECK_COMMAND * 0.8 payment_department = ACCOUNT_SRV light_color = COLOR_STRONG_MAGENTA - allow_custom = TRUE /obj/item/vending_refill/wardrobe/jani_wardrobe machine_name = "JaniDrobe" @@ -553,7 +540,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe payment_department = ACCOUNT_SRV - allow_custom = TRUE /obj/item/vending_refill/wardrobe/law_wardrobe machine_name = "LawDrobe" @@ -600,7 +586,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe payment_department = ACCOUNT_SRV - allow_custom = TRUE /obj/item/vending_refill/wardrobe/chap_wardrobe machine_name = "DeusVend" @@ -632,7 +617,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/chem_wardrobe payment_department = ACCOUNT_MED - allow_custom = TRUE /obj/item/vending_refill/wardrobe/chem_wardrobe machine_name = "ChemDrobe" @@ -658,7 +642,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/gene_wardrobe payment_department = ACCOUNT_SCI - allow_custom = TRUE /obj/item/vending_refill/wardrobe/gene_wardrobe machine_name = "GeneDrobe" @@ -686,7 +669,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) ) refill_canister = /obj/item/vending_refill/wardrobe/viro_wardrobe payment_department = ACCOUNT_MED - allow_custom = TRUE /obj/item/vending_refill/wardrobe/viro_wardrobe machine_name = "ViroDrobe" @@ -733,7 +715,6 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) refill_canister = /obj/item/vending_refill/wardrobe/det_wardrobe extra_price = PAYCHECK_COMMAND * 1.75 payment_department = ACCOUNT_SEC - allow_custom = TRUE /obj/item/vending_refill/wardrobe/det_wardrobe machine_name = "DetDrobe" @@ -766,6 +747,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) /obj/item/vending_refill/wardrobe/cent_wardrobe machine_name = "CentDrobe" + icon_state = "refill_centdrobe" light_color = LIGHT_COLOR_ELECTRIC_GREEN #undef MOTHROACH_START_CHANCE diff --git a/code/modules/vending/youtool.dm b/code/modules/vending/youtool.dm index b73b183fad2..819ddbe2208 100644 --- a/code/modules/vending/youtool.dm +++ b/code/modules/vending/youtool.dm @@ -33,7 +33,6 @@ default_price = PAYCHECK_CREW extra_price = PAYCHECK_COMMAND * 1.5 payment_department = ACCOUNT_ENG - allow_custom = TRUE /obj/item/vending_refill/youtool machine_name = "YouTool" diff --git a/html/changelogs/archive/2025-09.yml b/html/changelogs/archive/2025-09.yml index b63ac29febd..5e6d87a4094 100644 --- a/html/changelogs/archive/2025-09.yml +++ b/html/changelogs/archive/2025-09.yml @@ -630,3 +630,149 @@ timothymtorres: - rscadd: Add cooking oil, nutraslop, and beer keg to cargo supply packs. Nutraslop serving trays and cooking oil vats can now be pushed and moved. +2025-09-25: + Aliceee2ch: + - bugfix: Borg inducer can charge again + SmArtKar: + - bugfix: Fixed delayed viewport fitting on server join/init + necromanceranne: + - balance: Being frail or being more resistant to wounding is now more consistent + about how it hinders or benefits you. +2025-09-26: + DaCoolBoss: + - bugfix: Luxury Shuttle windows now allow some projectiles to pass. + timothymtorres: + - qol: Climbable objects now show up as an examine tag. +2025-09-27: + Aliceee2ch: + - bugfix: Cell charger now drops cell that it had inside after you destroy it + Cameron-The-Raven: + - bugfix: Omens properly transfer their damage modifier when multiple are applied. + DaCoolBoss: + - bugfix: Summon Guns event will no longer spawn guns with restricted firing pins. + - bugfix: Summon Guns event will now only spawn guns that are intended to harm people + (except the medbeam) + - balance: Added more guns to the Summon Guns event. + Melbert: + - rscdel: Bluespace Gas Vendors and the accompanying Bluespace Gas Sender have been + removed + - qol: Adds hotkey to close all open uis, bound to "home" by default + SmArtKar: + - bugfix: Fixed Select Equipment admin verb opening on a blank tab + lelandkemble: + - bugfix: The icebox sec entrance door controlling buttons are now usable. + - map: increases holopad coverage on wawastation + timothymtorres: + - qol: 'Add several new examine categories for objects descs that include: bomb-proof, + flammable, holograhic, crush-proof, and conductive. Also use hyphens for multi-word + examine tags.' + - bugfix: Fixes custom materials not appearing for things like structures when examined. + - bugfix: Fix custom materials on wood tables and racks +2025-09-28: + ArcaneMusic: + - code_imp: Tweaked the animation curves on a number of different object/item/mob + animations. Report if anything feels/looks weird. + Gboster-0: + - bugfix: shuttle engines no longer provide negative power to your shuttles if you + unwrench them. + Ghommie: + - balance: Some sturdy objects that you cannot just grab drag around, like mechs, + are more resilient against being thrown around by weaker explosions. + - bugfix: Some things, like bolted AIs, aren't thrown around by explosions at all. + Melbert: + - refactor: Reagent containers like cups, beakers, bottles, syringes, droppers, + condiments packs, and iv bags have been refactored. Report any oddities, particularly + involved in transferring reagents from one to another. + necromanceranne: + - balance: Unarmed attacks deal more consistent damage and more impactful against + staggered opponents the more athletic you are. + - balance: The strength gene now improves your unarmed upper potential damage a + bit. It increases instability slightly more as a result. + theselfish: + - spellcheck: Clown mods are now properly capitalised. + timothymtorres: + - qol: Objects that are EMP-proof will now have it appear as a examine tag desc +2025-09-29: + ArcaneMusic: + - rscdel: You can no longer obtain an emagged fishing portal board from treasure + chests. You can still, however, emag fishing portals. + - balance: Monocloning Jumpercable fish have had their export values decreased. + Their cloning capacity and electrical output remain the same. + Ghommie: + - balance: airlocks affected by dimensional anomalies retain their access, as well + as access-adjacent attributes such as emergency access and unrestricted sides. + Kashargul: + - bugfix: keycombo modal only allowing an input on the first opening + Krysonism: + - rscadd: Added poker chips. + - balance: ' The roulette machine now stylishly pays out poker chips instead of + coins.' + - balance: Coins can be redeemed for mats and ground for reagents. + - balance: The money bag can hold vastly more money and now also precious gems and + metals. + - bugfix: Fixed the roulette wheel result overlay lingering and obscuring the next + roll. + Melbert: + - balance: Reinforced floors will stop light and heavy explosions from affecting + objects beneath the floor, ie cabling and piping + - balance: Explosions affecting floors are no longer blocked by *any structure*, + such as posters. Only dense structures block them. + - balance: Machines can now block explosions from affecting floors, much like structures + Paxilmaniac: + - image: adds new sprites for bayonets on bolt action rifles + SmArtKar: + - bugfix: Fixed cell chargers runtiming and not updating their visuals when a cell + is taken out + timothymtorres: + - bugfix: Fix shower causing mood and status effects to non-carbon mobs +2025-09-30: + Ezel.: + - map: Reduces the amount of general available Sec clothes vendors across all maps + FeudeyTF: + - qol: Moved paginating buttons of newspaper in top + - qol: Changed maximum article length to 1024 + - bugfix: Fixed the deletion of articles in the newspaper after the article was + released in the channel + Iamgoofball: + - spellcheck: Adds Honorific support for Clowns and Mimes + Melbert: + - bugfix: Fixes dormant DNA activator + SmArtKar: + - rscadd: Mining MODsuit has gained a magnetic harness for all of your crusher stowing + needs. + - balance: Magnetic harnesses now take only 0.5 seconds to pick up your gun, and + can pick up crushers. + - balance: Mining MODsuit has regained it small slowdown, and lost 10 melee armor. + - balance: Mining drill MODule is no longer instant (outside of the sphere mode + of a mining MOD) + - balance: The mining sphere MODule now can break rocks when rolling into them, + gives 20 melee and bomb armor when active, and has a shorter bomb cooldown, + but bombs themselves have reduced damage and mining AOE. + - balance: Mining sphere MODule now requires an upgrade in form of two pieces of + bileworm skin to be able to traverse lava, as opposed to being able to do so + innately. + - bugfix: Fixed MODsuit ore bag sometimes breaking permanently when depositing ores + into the ORM. + - bugfix: Fixed filter cache being infinitely expanded every time a filter is added + lelandkemble: + - balance: The Transit Tube system no longer allows high-volume freight transport + via Temporary Transit Pods. + loganuk: + - map: Icebox - AI Core - Standard walls in core become reinforced, standard windoor + becomes reinforced version + necromanceranne: + - balance: Concussive gauntlets grant hunter boxing, much like punching mitts. + - balance: Punching mitts are now an option from the mining voucher, and can be + bought in the mining vendor for 1000 points. + - balance: Consolidates mining loot into random spawners instead of switch cases. + - balance: Demonic portals drop locked chests rather than just flat out the loot. + - balance: Removes the ship in a bottle, transference potion, adamantine extract, + clown hulk mob and ice boots from the possible demonic portal spawn list. Ship + in a bottle still exists for necropolis tendril spawns. + - balance: Removes the cursed katana from the necropolis tendril spawn list. + - balance: In instances where you would spawn a design disk for a modkit, you instead... + just get the modkit. No middle manning with science. + paganiy: + - bugfix: containers no longer close unexpectedly when the HUD refreshes (e.g., + when lying down/getting up) + - bugfix: the dye spray can dye the external body parts again diff --git a/html/changelogs/archive/2025-10.yml b/html/changelogs/archive/2025-10.yml new file mode 100644 index 00000000000..066286ef5e8 --- /dev/null +++ b/html/changelogs/archive/2025-10.yml @@ -0,0 +1,151 @@ +2025-10-01: + Iajret: + - bugfix: Fixed an edge case of mineral turfs being generated with 0 amount of ore + in it. + JohnFulpWillard: + - qol: You can use crayons to make chalk outlines, not just white ones. + - qol: Chalk outlines are now properly outlines of the body you're outlining. + Pik1ta: + - rscadd: Added new sound to pirate crew + SmArtKar: + - bugfix: Husks no longer glow in space. + - bugfix: Fixed megafauna kills not being counted if you lost LoS to the boss when + it died, or if you fought it in a mech. + - code_imp: Cleaned up mob drops code + - spellcheck: Fixed a missing "to" in wendigo crusher trophy + - refactor: Unified megafauna, basicmob boss and normal mob crusher drops and achievement + code + carpotoxin: + - rscadd: Adds a button to the strip-menu to remove somebody's uniform accessories + grungussuss: + - balance: fire extinguishers now hold 100 units of water. + loganuk: + - rscadd: Status displays now show logo at round start - Status displays now change + more often for alerts and other key events + - bugfix: Blob non blocking cleanup - Should have no change in player experience + - image: Replaces bright blue NT logo with the more subtle slightly animated sprite + from AI core, fits nicer. + - map: CATWALK - Kitchen now has more space and a downstairs serving area, also + shutters for chef sanity + - map: CATWALK - Bar now has more space & can now serve coffee + - map: CATWALK - Community Centre/Library has had a re-design, now includes a theatre! + - map: CATWALK - Public walkway linking Library/Psych/Kitchen/Botany with better + stairwells + - map: CATWALK - Laser tag arena now open to all, Red versus Blue, Cameras kept + out of it so the AI does not panic + - map: CATWALK - Botany made more prominent and easier to find + - map: CATWALK - Central APC for hallways re-located to be easier to find and fix + - map: CATWALK - Psychologist office made smaller but now has windows/curtains and + shutters + - map: CATWALK - Reinforced windows for service swapped out for standard +2025-10-02: + Hatterhat: + - bugfix: Nanotrasen has released a firmware patch for their mining MODs that readds + the default hydraulic clamp to the suit's default pinned modules. + Pepsilawn: + - bugfix: flashes added to assemblies will no longer show up invisible + Pik1ta: + - bugfix: Bounty hunter pinpointer can locate their shuttle again + SmArtKar: + - bugfix: Fixed filteriffic runtiming when editing filters, and claiming that bloom + threshold is a number + - admin: Filteriffic got a few new options (you should still avoid using it) + - bugfix: Aheals now cure appendicitis + Xander3359: + - bugfix: Fixed the pre-built (admin spawn) voltaic combat heart not having shock + immunity + mskinner5278: + - bugfix: fixed error during hyper-noblium formation reaction when bz is not present + paganiy: + - bugfix: Washing machine can dye clothes again +2025-10-03: + Absolucy, JohnFulpWillard: + - image: The Lobby TV now shows an icon of the overflow job. + Aliceee2ch: + - bugfix: Decal painter now pulls alpha value from neutral decal. + ArcaneMusic: + - balance: Ore vents spawn a ring of boulder platforms around themselves in nearby + lava when starting wave defense. + Archemagus: + - code_imp: Little AAS code cleanup. Added full RETA support. Grouped configs for + search purposes. + Ben10Omintrix: + - balance: scythe mobs are no longer damaged by lava + - balance: the cain and abel are fire and lava proof + Ghommie: + - bugfix: You can once again make sand walls. + - bugfix: Deconstructing an autolathe with sand in it should now drop sand. + - rscadd: Things that are edible may also count as golem food if the materials they're + made of allow it. + JohnFulpWillard: + - bugfix: Cyborgs and AIs will now see alerts of the whole station rather than solely + the Z level they were spawned on. + - bugfix: Cyborgs and AIs will no longer get alerts about Thunderdome. + Krysonism: + - rscadd: 'Nearly all notable vendors are now constructable if you have the canister. + + add Added refill canisters for syndiesmokes, liberation station, magivend, bombuddy + 3000, shambler''s juice and syndichem.' + - rscadd: Random vending refill canisters now have a chance to spawn in maint. + - image: Robco Toolmaker and Centdrobe canisters have new sprites. + Melbert: + - rscdel: A bunch of botany genes no longer indicate their presence on examine + - rscadd: Personality is now available in character preferences! Choose how your + character reacts to the whims and woes of the station. + - rscdel: 'Several quirks are now personalities: Extrovert, Introvert, Bad Touch, + Apathetic, Snob, and Spiritual.' + - rscadd: As Spiritual has been removed, Candle Boxes have been added to the loadout. + - rscadd: You're now afforded 2 free quirks points when selecting a quirk loadout. + - rscadd: 'New negative quirk: Erratic. Randomizes your personality throughout the + round.' + - rscadd: Spacemen now get upset at seeing their fellow crewmembers or pets die. + Unless your personality says you don't, of course. + - balance: Antag moodlets have been strengthened a bit to compensate for the murder + they have to partake in. + - balance: Certain jobs and antags are now "desensitized" to death, meaning they + receive a weaker penalty for seeing someone die. + - rscadd: Many moodlets have been added, some depending on your personality. + - balance: Some pre-existing moodlets will now no longer apply - or will apply in + greater strength - depending on your personality. + - balance: Mood bonus from really good meals have been reduced slightly. + - qol: Rat infusion joke voicelines aren't guaranteed to be spoken, unless it's + April Fools or the squeaker is Whimsical. + - refactor: Mood events were refactored a lot. Report any oddities. + - bugfix: EMP proof objects now specify what they protect rather than only implying + it's 100% emp proof + - bugfix: Some objects meant to stealthily be emp proof no longer broadcast they + are emp proof on examine + - qol: Clowns and mimes are innate clown and mime fans. They don't get the free + pin, but if they somehow acquire one they'll get the same moodlet applied as + real clown and mime fans. + - refactor: Refactored huds slightly, report any sticky or missing huds + - refactor: Refactored suit sensors slightly, report any weird reports + Pickle-Coding: + - bugfix: Fixes cryo grenades being able to cool the air below 2.7 Kelvin. + SmArtKar: + - bugfix: Fixed harddels and UI-breaking runtimes from open_containers + - code_imp: Cleaned up wound code, should hopefully run a bit faster now. + - bugfix: Fixed some Filterrific functions not working + - bugfix: Fixed harmless runtimes when a flying object tried to cross lava + SmArtKar, Absolucy: + - qol: Mining bags and ore bag MODules now scoop up ores that move or spawn underneath + you + - refactor: Refactored the recycler MODule to fit our code standards + - sound: Ore bag MODule no longer spams ore pickup sounds when you pick up multiple + ores on the same tile + Xander3359: + - qol: Microwave context shows that you can right click to dump a storage into it + ell_good: + - image: Update voidwalker actions sprites + loganuk: + - bugfix: Atrocinator modsuit module no longer lets you do a firemans carry to prevent + lag spikes + theselfish: + - spellcheck: You can no longer 'ajdust' your sensors. Adjusting hasn't changed, + though. + timothymtorres: + - qol: New examine tags for the antimagic component to give players specific feedback + on an item's magical resistance. + - map: Replace snow cabin gateway geothermal generator with real turbine + vinylspiders: + - qol: improves admin logging of forced dynamic events. diff --git a/icons/mob/actions/actions_items.dmi b/icons/mob/actions/actions_items.dmi index af2400408b0..c06e3815955 100644 Binary files a/icons/mob/actions/actions_items.dmi and b/icons/mob/actions/actions_items.dmi differ diff --git a/icons/mob/actions/actions_voidwalker.dmi b/icons/mob/actions/actions_voidwalker.dmi index fd0825994d0..8e6dd16bb49 100644 Binary files a/icons/mob/actions/actions_voidwalker.dmi and b/icons/mob/actions/actions_voidwalker.dmi differ diff --git a/icons/mob/actions/backgrounds.dmi b/icons/mob/actions/backgrounds.dmi index e937c49c4a9..b2d88058f93 100644 Binary files a/icons/mob/actions/backgrounds.dmi and b/icons/mob/actions/backgrounds.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_modules.dmi b/icons/mob/clothing/modsuit/mod_modules.dmi index 6ec3b13ea98..8f5ccf324c9 100644 Binary files a/icons/mob/clothing/modsuit/mod_modules.dmi and b/icons/mob/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/mob/huds/hud.dmi b/icons/mob/huds/hud.dmi index 13172e67993..9bb48320aac 100644 Binary files a/icons/mob/huds/hud.dmi and b/icons/mob/huds/hud.dmi differ diff --git a/icons/obj/economy.dmi b/icons/obj/economy.dmi index 04abc41cae1..d2581543d1c 100644 Binary files a/icons/obj/economy.dmi and b/icons/obj/economy.dmi differ diff --git a/icons/obj/machines/atmospherics/bluespace_gas_selling.dmi b/icons/obj/machines/atmospherics/bluespace_gas_selling.dmi deleted file mode 100644 index c397dd2dc84..00000000000 Binary files a/icons/obj/machines/atmospherics/bluespace_gas_selling.dmi and /dev/null differ diff --git a/icons/obj/machines/status_display.dmi b/icons/obj/machines/status_display.dmi index 57d5b766cd8..98f78627823 100644 Binary files a/icons/obj/machines/status_display.dmi and b/icons/obj/machines/status_display.dmi differ diff --git a/icons/obj/vending_restock.dmi b/icons/obj/vending_restock.dmi index ca8e40349c4..25c786f2153 100644 Binary files a/icons/obj/vending_restock.dmi and b/icons/obj/vending_restock.dmi differ diff --git a/icons/obj/weapons/guns/bayonets.dmi b/icons/obj/weapons/guns/bayonets.dmi index 32b5448b8ed..5ebfa5b2072 100644 Binary files a/icons/obj/weapons/guns/bayonets.dmi and b/icons/obj/weapons/guns/bayonets.dmi differ diff --git a/sound/music/antag/pirate/attribution.txt b/sound/music/antag/pirate/attribution.txt new file mode 100644 index 00000000000..a1d83bee734 --- /dev/null +++ b/sound/music/antag/pirate/attribution.txt @@ -0,0 +1,4 @@ +- files: ["pirate_start.ogg"] + license: "CC-BY-NC-SA-3.0" + copyright: "Made by @MIXnikita#1474 (Discord) for SS14" + original PR: space-wizards/space-station-14#25153 \ No newline at end of file diff --git a/sound/music/antag/pirate/pirate_start.ogg b/sound/music/antag/pirate/pirate_start.ogg new file mode 100644 index 00000000000..f2dce2383fe Binary files /dev/null and b/sound/music/antag/pirate/pirate_start.ogg differ diff --git a/tgstation.dme b/tgstation.dme index 20acb85d7c5..9b6ab58eb05 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -943,6 +943,7 @@ #include "code\controllers\subsystem\processing\manufacturing.dm" #include "code\controllers\subsystem\processing\newplayer.dm" #include "code\controllers\subsystem\processing\obj.dm" +#include "code\controllers\subsystem\processing\personality.dm" #include "code\controllers\subsystem\processing\plumbing.dm" #include "code\controllers\subsystem\processing\priority_effects.dm" #include "code\controllers\subsystem\processing\processing.dm" @@ -1383,6 +1384,7 @@ #include "code\datums\components\pinnable_accessory.dm" #include "code\datums\components\plundering_attacks.dm" #include "code\datums\components\pricetag.dm" +#include "code\datums\components\proficient_miner.dm" #include "code\datums\components\profound_fisher.dm" #include "code\datums\components\prosthetic_item.dm" #include "code\datums\components\punchcooldown.dm" @@ -1710,6 +1712,7 @@ #include "code\datums\elements\inverted_movement.dm" #include "code\datums\elements\item_fov.dm" #include "code\datums\elements\item_scaling.dm" +#include "code\datums\elements\kill_achievement.dm" #include "code\datums\elements\kneecapping.dm" #include "code\datums\elements\kneejerk.dm" #include "code\datums\elements\knockback.dm" @@ -1750,7 +1753,6 @@ #include "code\datums\elements\point_of_interest.dm" #include "code\datums\elements\poster_tearer.dm" #include "code\datums\elements\prevent_attacking_of_types.dm" -#include "code\datums\elements\proficient_miner.dm" #include "code\datums\elements\projectile_drop.dm" #include "code\datums\elements\projectile_shield.dm" #include "code\datums\elements\prosthetic_icon.dm" @@ -1948,6 +1950,19 @@ #include "code\datums\mutations\touch.dm" #include "code\datums\mutations\void_magnet.dm" #include "code\datums\mutations\webbing.dm" +#include "code\datums\personality\_personality.dm" +#include "code\datums\personality\_personality_groups.dm" +#include "code\datums\personality\personality_preference.dm" +#include "code\datums\personality\reaction_generic.dm" +#include "code\datums\personality\reaction_to_animals.dm" +#include "code\datums\personality\reaction_to_art.dm" +#include "code\datums\personality\reaction_to_fear.dm" +#include "code\datums\personality\reaction_to_food.dm" +#include "code\datums\personality\reaction_to_groups.dm" +#include "code\datums\personality\reaction_to_job.dm" +#include "code\datums\personality\reaction_to_nt.dm" +#include "code\datums\personality\reaction_to_others.dm" +#include "code\datums\personality\reaction_to_recreation.dm" #include "code\datums\proximity_monitor\field.dm" #include "code\datums\proximity_monitor\proximity_monitor.dm" #include "code\datums\proximity_monitor\fields\ai_target_tracking.dm" @@ -1967,7 +1982,6 @@ #include "code\datums\quirks\negative_quirks\anosmia.dm" #include "code\datums\quirks\negative_quirks\asthma.dm" #include "code\datums\quirks\negative_quirks\bad_back.dm" -#include "code\datums\quirks\negative_quirks\bad_touch.dm" #include "code\datums\quirks\negative_quirks\big_hands.dm" #include "code\datums\quirks\negative_quirks\blindness.dm" #include "code\datums\quirks\negative_quirks\blood_deficiency.dm" @@ -1980,6 +1994,7 @@ #include "code\datums\quirks\negative_quirks\cursed.dm" #include "code\datums\quirks\negative_quirks\deafness.dm" #include "code\datums\quirks\negative_quirks\depression.dm" +#include "code\datums\quirks\negative_quirks\erratic.dm" #include "code\datums\quirks\negative_quirks\family_heirloom.dm" #include "code\datums\quirks\negative_quirks\fluoride_stare.dm" #include "code\datums\quirks\negative_quirks\food_allergy.dm" @@ -2015,11 +2030,9 @@ #include "code\datums\quirks\neutral_quirks\bald.dm" #include "code\datums\quirks\neutral_quirks\deviant_tastes.dm" #include "code\datums\quirks\neutral_quirks\evil.dm" -#include "code\datums\quirks\neutral_quirks\extrovert.dm" #include "code\datums\quirks\neutral_quirks\foreigner.dm" #include "code\datums\quirks\neutral_quirks\gamer.dm" #include "code\datums\quirks\neutral_quirks\heretochromatic.dm" -#include "code\datums\quirks\neutral_quirks\introvert.dm" #include "code\datums\quirks\neutral_quirks\monochromatic.dm" #include "code\datums\quirks\neutral_quirks\no_taste.dm" #include "code\datums\quirks\neutral_quirks\phobia.dm" @@ -2027,11 +2040,9 @@ #include "code\datums\quirks\neutral_quirks\pineapple_hater.dm" #include "code\datums\quirks\neutral_quirks\pineapple_liker.dm" #include "code\datums\quirks\neutral_quirks\shifty_eyes.dm" -#include "code\datums\quirks\neutral_quirks\snob.dm" #include "code\datums\quirks\neutral_quirks\transhumanist.dm" #include "code\datums\quirks\neutral_quirks\vegetarian.dm" #include "code\datums\quirks\positive_quirks\alcohol_tolerance.dm" -#include "code\datums\quirks\positive_quirks\apathetic.dm" #include "code\datums\quirks\positive_quirks\bilingual.dm" #include "code\datums\quirks\positive_quirks\chip_connector.dm" #include "code\datums\quirks\positive_quirks\chipped.dm" @@ -2050,7 +2061,6 @@ #include "code\datums\quirks\positive_quirks\signer.dm" #include "code\datums\quirks\positive_quirks\skittish.dm" #include "code\datums\quirks\positive_quirks\spacer.dm" -#include "code\datums\quirks\positive_quirks\spiritual.dm" #include "code\datums\quirks\positive_quirks\strong_stomach.dm" #include "code\datums\quirks\positive_quirks\tagger.dm" #include "code\datums\quirks\positive_quirks\throwing_arm.dm" @@ -2586,6 +2596,7 @@ #include "code\game\objects\effects\spawners\random\lavaland_mobs.dm" #include "code\game\objects\effects\spawners\random\maintenance.dm" #include "code\game\objects\effects\spawners\random\medical.dm" +#include "code\game\objects\effects\spawners\random\mining_loot.dm" #include "code\game\objects\effects\spawners\random\mod.dm" #include "code\game\objects\effects\spawners\random\random.dm" #include "code\game\objects\effects\spawners\random\russian_rifle_spawner.dm" @@ -3763,7 +3774,6 @@ #include "code\modules\atmospherics\gasmixtures\reaction_factors.dm" #include "code\modules\atmospherics\gasmixtures\reactions.dm" #include "code\modules\atmospherics\machinery\atmosmachinery.dm" -#include "code\modules\atmospherics\machinery\bluespace_vendor.dm" #include "code\modules\atmospherics\machinery\datum_pipeline.dm" #include "code\modules\atmospherics\machinery\air_alarm\_air_alarm.dm" #include "code\modules\atmospherics\machinery\air_alarm\air_alarm_circuit.dm" @@ -3798,7 +3808,6 @@ #include "code\modules\atmospherics\machinery\components\trinary_devices\mixer.dm" #include "code\modules\atmospherics\machinery\components\trinary_devices\trinary_devices.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\airlock_pump.dm" -#include "code\modules\atmospherics\machinery\components\unary_devices\bluespace_sender.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\machine_connector.dm" @@ -4134,6 +4143,7 @@ #include "code\modules\client\preferences\middleware\keybindings.dm" #include "code\modules\client\preferences\middleware\legacy_toggles.dm" #include "code\modules\client\preferences\middleware\names.dm" +#include "code\modules\client\preferences\middleware\personality.dm" #include "code\modules\client\preferences\middleware\quirks.dm" #include "code\modules\client\preferences\middleware\random.dm" #include "code\modules\client\preferences\middleware\species.dm" @@ -4142,6 +4152,7 @@ #include "code\modules\client\preferences\migrations\convert_to_json_savefile.dm" #include "code\modules\client\preferences\migrations\legacy_sound_toggles_migration.dm" #include "code\modules\client\preferences\migrations\quirk_loadout_migration.dm" +#include "code\modules\client\preferences\migrations\quirk_personality_migration.dm" #include "code\modules\client\preferences\migrations\sound_checkboxes_migration.dm" #include "code\modules\client\preferences\migrations\tgui_prefs_migration.dm" #include "code\modules\client\preferences\migrations\tts_blip_migration.dm" @@ -4334,6 +4345,7 @@ #include "code\modules\economy\_economy.dm" #include "code\modules\economy\account.dm" #include "code\modules\economy\holopay.dm" +#include "code\modules\economy\poker_chips.dm" #include "code\modules\emoji\emoji_parse.dm" #include "code\modules\emote_panel\emote_panel.dm" #include "code\modules\engineering\tools\multitool.dm" diff --git a/tgui/packages/tgui/interfaces/BluespaceSender.tsx b/tgui/packages/tgui/interfaces/BluespaceSender.tsx deleted file mode 100644 index 1f417cb4c19..00000000000 --- a/tgui/packages/tgui/interfaces/BluespaceSender.tsx +++ /dev/null @@ -1,162 +0,0 @@ -import { sortBy } from 'es-toolkit'; -import { filter } from 'es-toolkit/compat'; -import { - Box, - Button, - Divider, - LabeledList, - NumberInput, - ProgressBar, - Section, - Stack, -} from 'tgui-core/components'; -import { toFixed } from 'tgui-core/math'; -import type { BooleanLike } from 'tgui-core/react'; - -import { useBackend } from '../backend'; -import { getGasColor } from '../constants'; -import { Window } from '../layouts'; - -type Data = { - on: BooleanLike; - gas_transfer_rate: number; - bluespace_network_gases: Gas[]; - credits: number; -}; - -type Gas = { - name: string; - amount: number; - price: number; - id: string; -}; - -type GasDisplayProps = { - gas: Gas; - gasMax: number; -}; - -const mappedTopMargin = '2%'; - -export const BluespaceSender = (props) => { - const { act, data } = useBackend(); - const { gas_transfer_rate, credits, bluespace_network_gases = [], on } = data; - - const gases: Gas[] = sortBy( - filter(bluespace_network_gases, (gas) => gas.amount >= 0.01), - [(gas) => -gas.amount], - ); - - const gasMax = Math.max(1, ...gases.map((gas) => gas.amount)); - - return ( - - -
-
-
-
- ); -}; - -const GasDisplay = (props: GasDisplayProps) => { - const { act } = useBackend(); - const { - gas: { amount, id, name, price }, - gasMax, - } = props; - - return ( - - - - - act('price', { - gas_price: value, - gas_type: id, - }) - } - /> - - - - - - {`${toFixed(amount, 2)} moles`} - - - - ); -}; diff --git a/tgui/packages/tgui/interfaces/BluespaceVendor.tsx b/tgui/packages/tgui/interfaces/BluespaceVendor.tsx deleted file mode 100644 index 78da7251943..00000000000 --- a/tgui/packages/tgui/interfaces/BluespaceVendor.tsx +++ /dev/null @@ -1,222 +0,0 @@ -import { sortBy } from 'es-toolkit'; -import { filter } from 'es-toolkit/compat'; -import { - Button, - NumberInput, - ProgressBar, - Section, - Stack, - Table, -} from 'tgui-core/components'; -import { toFixed } from 'tgui-core/math'; -import type { BooleanLike } from 'tgui-core/react'; - -import { useBackend } from '../backend'; -import { getGasColor } from '../constants'; -import { Window } from '../layouts'; - -type Data = { - bluespace_network_gases: Gas[]; - credits: number; - inserted_tank: BooleanLike; - pumping: BooleanLike; - selected_gas: string; - tank_amount: number; - tank_filling_amount: number; - tank_full: number; -}; - -type Gas = { - name: string; - amount: number; - price: number; - id: string; -}; - -type GasDisplayProps = { - gas: Gas; - gasMax: number; -}; - -export const BluespaceVendor = (props) => { - const { act, data } = useBackend(); - const { - bluespace_network_gases = [], - inserted_tank, - pumping, - tank_amount, - tank_filling_amount, - tank_full, - } = data; - - const gases: Gas[] = sortBy( - filter(bluespace_network_gases, (gas) => gas.amount >= 0.01), - [(gas) => -gas.amount], - ); - - const gasMax = Math.max(1, ...gases.map((gas) => gas.amount)); - - return ( - - - - -
-
-
- -
- } - > - - - - - Gas - - - Price - - Total - - Moles - - - - - - {gases.map((gas, index) => ( - - ))} - -
-
-
-
-
-
- ); -}; - -const GasDisplay = (props: GasDisplayProps) => { - const { act, data } = useBackend(); - const { pumping, selected_gas, inserted_tank } = data; - const { - gas: { name, amount, price, id }, - gasMax, - } = props; - - return ( - - - {name} - - - {price} cr - - - - - - {toFixed(amount, 2)} - - - {(!pumping && selected_gas !== id && ( - + {current_page === channels.length + 1 ? ( + + ) : current_page ? ( + + ) : ( + + )} + {!!scribble_message && ( + + {scribble_message} + + )} ); @@ -120,8 +120,9 @@ const NewspaperChannel = (props) => { Channel made by: {individual_channel.author_name} - {channel_has_messages - ? individual_channel.channel_messages.map((message) => ( + {channel_has_messages ? ( + <> + {individual_channel.channel_messages.map((message) => ( <> { - )) - : 'No feed stories stem from this channel...'} + ))} + + ) : ( + 'No feed stories stem from this channel...' + )} ))} diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/PersonalityPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/PersonalityPage.tsx new file mode 100644 index 00000000000..40c3740bbbc --- /dev/null +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/PersonalityPage.tsx @@ -0,0 +1,392 @@ +import { useState } from 'react'; +import { + Box, + Button, + Flex, + Icon, + Input, + NoticeBox, + Section, + Stack, +} from 'tgui-core/components'; +import { createSearch } from 'tgui-core/string'; + +import { useBackend } from '../../../backend'; +import type { Personality, PreferencesMenuData } from '../types'; +import { useServerPrefs } from '../useServerPrefs'; + +type ButtonData = { + backgroundColor: string; + borderColor: string; + tooltip: string | null; +}; + +function getButtonColors( + selected: boolean | undefined, + invalid: boolean | string | null | undefined, + disabled: boolean | undefined, +): ButtonData { + if (invalid) { + return { + backgroundColor: 'rgba(64, 34, 34, 0.5)', + borderColor: 'darkred', + tooltip: `You cannot select this personality with ${invalid}.`, + }; + } + if (disabled) { + return { + backgroundColor: 'rgba(64, 64, 64, 0.5)', + borderColor: '#666666', + tooltip: 'You are at the maximum number of personalities.', + }; + } + if (selected) { + return { + backgroundColor: 'rgba(34, 64, 34, 0.5)', + borderColor: 'green', + tooltip: null, + }; + } + return { + backgroundColor: 'rgba(34, 34, 34, 0.5)', + borderColor: '#444444', + tooltip: null, + }; +} + +type ButtonProps = { + personality: Personality; + selected?: boolean; + invalid?: string | null; + disabled?: boolean; + onClick: () => void; +}; + +function PersonalityButton(props: ButtonProps) { + const { personality, selected, invalid, disabled, onClick } = props; + + const { backgroundColor, borderColor, tooltip } = getButtonColors( + selected, + invalid, + disabled, + ); + const isDisabled = disabled || invalid || false; + return ( + + ); +} + +// Sort by selected first, then by name +function sortPersonalities( + a: Personality, + b: Personality, + selectedPersonalities: string[] | null, +) { + const aSelected = selectedPersonalities?.includes(a.path); + const bSelected = selectedPersonalities?.includes(b.path); + + if (aSelected && !bSelected) return -1; + if (!aSelected && bSelected) return 1; + + return a.name < b.name ? -1 : 1; +} + +// Checks if the passed personality is incompatible with the selected personalities +// Returns the name of the incompatible personality or null if there is no incompatibility +function isIncompatible( + personality: Personality, + allPersonalities: Personality[], + selectedPersonalities: string[] | null, + personalityIncompatibilities: Record, +): string | null { + if (!selectedPersonalities || !personality.groups) return null; + // personalityIncompatibilities is keyed by group - + // where value is a list of incompatible personality typePaths + for (const group of personality.groups) { + for (const selectedTypePath of selectedPersonalities) { + if (selectedTypePath === personality.path) continue; + if (personalityIncompatibilities[group].includes(selectedTypePath)) { + return ( + getPersonalityName(allPersonalities, selectedTypePath) || + 'an unknown personality' + ); + } + } + } + + return null; +} + +// Checks if the passed personality is disabled +function isDisabled( + selectedPersonalities: string[] | null, + personality: Personality, + maxPersonalities: number, +): boolean { + if (!selectedPersonalities) { + return false; + } + if ( + maxPersonalities !== -1 && + selectedPersonalities.length < maxPersonalities + ) { + return false; + } + return !selectedPersonalities.includes(personality.path); +} + +// Takes a typePath, returns the name of the personality +function getPersonalityName( + allPersonalities: Personality[], + personalityPath: string, +): string | undefined { + for (const personality of allPersonalities) { + if (personality.path === personalityPath) { + return personality.name; + } + } + return undefined; +} + +// Returns a string of all selected personalities formatted in a readable way +function getAllSelectedPersonalitiesString( + allPersonalities: Personality[], + selectedPersonalities: string[] | null, +) { + const personalityNames: string[] = []; + for (const personality of allPersonalities) { + if (selectedPersonalities?.includes(personality.path)) { + personalityNames.push(personality.name); + } + } + if (personalityNames.length === 0) { + return 'You have no personality.'; + } + personalityNames.sort((a, b) => (a < b ? -1 : 1)); + let finalString = ''; + for (let i = 0; i < personalityNames.length; i++) { + finalString += personalityNames[i]; + if (i < personalityNames.length - 1) { + if (personalityNames.length > 2) { + finalString += ', '; + } + } + if (i === personalityNames.length - 2) { + if (finalString[finalString.length - 1] !== ' ') { + finalString += ' '; + } + finalString += 'and '; + } + } + return `You are ${finalString}.`; +} + +export function PersonalityPage() { + const { act, data } = useBackend(); + + const server_data = useServerPrefs(); + if (!server_data) return; + + const personalities = server_data.personality.personalities; + const personalityIncompatibilities = + server_data.personality.personality_incompatibilities; + + const [searchQuery, setSearchQuery] = useState(''); + const personalitySearch = createSearch( + searchQuery, + (personality: Personality) => + personality.name + + personality.description + + personality.pos_gameplay_description + + personality.neg_gameplay_description + + personality.neut_gameplay_description, + ); + const selectedPersonalities = data.selected_personalities; + const filteredPersonalities = personalities + .filter(personalitySearch) + .sort((a, b) => sortPersonalities(a, b, selectedPersonalities)); + + return ( +
+ + + + + {getAllSelectedPersonalitiesString( + personalities, + selectedPersonalities, + )} + + + + {selectedPersonalities?.length || 0} /{' '} + {data.max_personalities === -1 ? '∞' : data.max_personalities} + + + +
+ ); +} diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx index 12d051d531b..1ff8cf94b7e 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/QuirksPage.tsx @@ -21,6 +21,7 @@ import { import { useRandomToggleState } from '../useRandomToggleState'; import { useServerPrefs } from '../useServerPrefs'; import { getRandomization, PreferenceList } from './MainPage'; +import { PersonalityPage } from './PersonalityPage'; function getColorValueClass(quirk: Quirk) { if (quirk.value > 0) { @@ -290,7 +291,7 @@ function StatDisplay(props) { ); } -export function QuirksPage(props) { +function QuirkPage() { const { act, data } = useBackend(); // this is mainly just here to copy from MainPage.tsx @@ -324,10 +325,8 @@ export function QuirksPage(props) { } }); - // SKYRAT EDIT START - Better Quirk Count Code - const balance = -data.quirks_balance; - const positiveQuirks = data.positive_quirk_count; - // SKYRAT EDIT END + const balance = -data.default_quirk_balance; + const positiveQuirks = 0; /* // BUBBER EDIT START - We handle this on the backend for (const selectedQuirkName of selectedQuirks) { @@ -522,3 +521,43 @@ export function QuirksPage(props) { ); } + +export function QuirkPersonalityPage() { + const [contentPage, setContentPage] = useState<'quirks' | 'personality'>( + 'quirks', + ); + + return ( + + + + + + + + + + + + + {contentPage === 'personality' ? : } + + + ); +} diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx index 3f55998903a..d7846249310 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx @@ -12,7 +12,7 @@ import { AntagsPage } from './AntagsPage'; import { JobsPage } from './JobsPage'; import { LoadoutPage } from './loadout'; import { MainPage } from './MainPage'; -import { QuirksPage } from './QuirksPage'; +import { QuirkPersonalityPage } from './QuirksPage'; import { SpeciesPage } from './SpeciesPage'; enum Page { @@ -112,7 +112,7 @@ export function CharacterPreferenceWindow(props) { // BUBBER EDIT ADDITION END case Page.Quirks: - pageContents = ; + pageContents = ; break; case Page.Loadout: @@ -226,7 +226,7 @@ export function CharacterPreferenceWindow(props) { page={Page.Quirks} setPage={setCurrentPage} > - Quirks + Quirks and Personality diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/types.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/types.ts index 9e1627d480b..f1665a67082 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/types.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/types.ts @@ -4,6 +4,7 @@ import type { sendAct } from '../../backend'; import type { LoadoutCategory, LoadoutList, + typePath, } from './CharacterPreferences/loadout/base'; import type { Gender } from './preferences/gender'; @@ -144,6 +145,16 @@ export type QuirkInfo = { points_enabled: boolean; }; +export type Personality = { + name: string; + description: string; + pos_gameplay_description: string | null; + neg_gameplay_description: string | null; + neut_gameplay_description: string | null; + path: typePath; + groups: string[] | null; +}; + export enum RandomSetting { AntagOnly = 1, Disabled = 2, @@ -241,7 +252,11 @@ export type PreferencesMenuData = { keybindings: Record; overflow_role: string; + default_quirk_balance: number; selected_quirks: string[]; + selected_personalities: typePath[] | null; + max_personalities: number; + mood_enabled: BooleanLike; species_disallowed_quirks: string[]; antag_bans?: string[]; @@ -263,6 +278,10 @@ export type ServerData = { types: Record; }; quirks: QuirkInfo; + personality: { + personalities: Personality[]; + personality_incompatibilities: Record; + }; random: { randomizable: string[]; }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/useServerPrefs.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/useServerPrefs.ts index 93f47a49350..fa251564194 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/useServerPrefs.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/useServerPrefs.ts @@ -16,6 +16,10 @@ export const ServerPrefs = createContext({ quirk_blacklist: [], points_enabled: false, }, + personality: { + personalities: [], + personality_incompatibilities: {}, + }, random: { randomizable: [], }, diff --git a/tgui/packages/tgui/interfaces/SelectEquipment.jsx b/tgui/packages/tgui/interfaces/SelectEquipment.jsx index 0b3716bef42..4b847d071ab 100644 --- a/tgui/packages/tgui/interfaces/SelectEquipment.jsx +++ b/tgui/packages/tgui/interfaces/SelectEquipment.jsx @@ -1,6 +1,5 @@ import { sortBy, uniq } from 'es-toolkit'; import { filter, map } from 'es-toolkit/compat'; -import { atom, useAtom } from 'jotai'; import { useState } from 'react'; import { Box, @@ -22,8 +21,6 @@ function getOutfitKey(outfit) { return outfit.path || outfit.ref; } -const outfitTabAtom = atom(''); - export function SelectEquipment(props) { const { act, data } = useBackend(); const { name, icon64, current_outfit, favorites } = data; @@ -39,8 +36,7 @@ export function SelectEquipment(props) { ...outfits.map((entry) => entry.category), 'Custom', ]); - const [tab] = useAtom(outfitTabAtom); - + const [tab, setTab] = useState(categories[0]); const [searchText, setSearchText] = useState(''); const searchFilter = createSearch( searchText, @@ -79,7 +75,11 @@ export function SelectEquipment(props) { /> - + @@ -111,9 +111,7 @@ export function SelectEquipment(props) { } function DisplayTabs(props) { - const { categories } = props; - - const [tab, setTab] = useAtom(outfitTabAtom); + const { categories, tab, onSelect } = props; return ( @@ -121,7 +119,7 @@ function DisplayTabs(props) { setTab(category)} + onClick={() => onSelect(category)} > {category} @@ -133,7 +131,7 @@ function DisplayTabs(props) { function OutfitDisplay(props) { const { act, data } = useBackend(); const { current_outfit, categories } = data; - const { entries, currentTab = categories[0] } = props; + const { entries, currentTab } = props; return (
diff --git a/tgui/packages/tgui/interfaces/StripMenu.tsx b/tgui/packages/tgui/interfaces/StripMenu.tsx index d2b1ea7bf54..0488b675895 100644 --- a/tgui/packages/tgui/interfaces/StripMenu.tsx +++ b/tgui/packages/tgui/interfaces/StripMenu.tsx @@ -83,6 +83,11 @@ const ALTERNATE_ACTIONS: Record = { icon: 'power-off', text: 'Emergency MODsuit reactivation', }, // BUBBER EDIT END + + strip_accessory: { + icon: 'ribbon', + text: 'Strip accessory', + }, }; const SLOTS: Record< @@ -359,6 +364,7 @@ export const StripMenu = (props) => { zIndex: '2', left: `${idx === 0 ? '0' : undefined}`, right: `${idx === 1 ? '0' : undefined}`, + top: `${idx === 2 ? '0' : undefined}`, bottom: '0', padding: '0', textAlign: 'center', diff --git a/tools/UpdatePaths/Scripts/93028_circuitboard_vending_donk.txt b/tools/UpdatePaths/Scripts/93028_circuitboard_vending_donk.txt new file mode 100644 index 00000000000..91ce45c2d65 --- /dev/null +++ b/tools/UpdatePaths/Scripts/93028_circuitboard_vending_donk.txt @@ -0,0 +1,2 @@ +/obj/item/circuitboard/machine/vending/donksnackvendor : @DELETE +/obj/item/circuitboard/machine/vending/donksofttoyvendor : @DELETE diff --git a/tools/UpdatePaths/Scripts/93137_remove_atmos_bs.txt b/tools/UpdatePaths/Scripts/93137_remove_atmos_bs.txt new file mode 100644 index 00000000000..18e3ae67e3a --- /dev/null +++ b/tools/UpdatePaths/Scripts/93137_remove_atmos_bs.txt @@ -0,0 +1,3 @@ +/obj/machinery/atmospherics/components/unary/bluespace_sender : @DELETE +/obj/machinery/bluespace_vendor/@SUBTYPES : @DELETE +/obj/item/wallframe/bluespace_vendor_mount : @DELETE diff --git a/tools/UpdatePaths/Scripts/93198_alert_consoles.txt b/tools/UpdatePaths/Scripts/93198_alert_consoles.txt new file mode 100644 index 00000000000..2152a8a092c --- /dev/null +++ b/tools/UpdatePaths/Scripts/93198_alert_consoles.txt @@ -0,0 +1 @@ +/obj/machinery/computer/station_alert/station_only : /obj/machinery/computer/station_alert{@OLD} diff --git a/tools/ci/check_grep.sh b/tools/ci/check_grep.sh index a9515f2640b..f359bdd5950 100644 --- a/tools/ci/check_grep.sh +++ b/tools/ci/check_grep.sh @@ -259,6 +259,14 @@ if ls _maps/*.json | $grep "[A-Z]"; then echo -e "${RED}ERROR: Uppercase in a map .JSON file detected, these must be all lowercase.${NC}" st=1 fi; + +part "Ineffective easing flags in animate()" +if $grep 'easing\w*=\w*(EASE_IN|EASE_OUT|\(EASE_IN\w*\|\w*EASE_OUT\))' $code_files; then + echo + echo -e "${RED}ERROR: 'animate' was called with an easing argument and the default, LINEAR_EASING curve. This doesn't do anything and should be adjusted.${NC}" + st=1 +fi; + part "map json sanity" for json in _maps/*.json do